Skip to article frontmatterSkip to article content

Course Topics by Week

logo for the astro rps seminar This workshop series will focus on an introduction to the Python programming language in the context of physics and astrophysics applications. All research carried in these scientific fields requires the use of extensive programming, making it a bedrock skill of any scientist. In this seminar, we will start from square one, covering how to install and navigate the programming ecosystem such as the terminal/shell, before moving into how to create scientific programs in python to carry out calculations one might use in a research project. This workshop series is primarily intended for students with little to no exposure to coding or astronomy research. After taking this series, students should be prepared to tackle programming-based courses (e.g., ASTR 255/330) as well as feel comfortable applying to summer research positions.

This series meets twice a week in the afternoon (M/W 5-6). Monday sessions will have (interactive) lectures in which a new programming concept is introduced. Wednesday is a “lab” in which students will work on a weekly assignment targeting those concepts. We expect most students to finish the weekly assignment during the Wednesday session, but they are due the following Tuesday, so time can be taken outside of the seminar if needed.

Signups for 2025 are now closed. Stay tuned for next year’s workshop!

Course Topics by Week

Week 1 (Jan 25):

  • UNIX, filesystems, environments and the Python ecosystem

Week 2 (Feb 10):

  • Pure Python programming, calculations, variables, datatypes and scripts

Week 3 (Feb 17):

  • Review of Datatypes
  • Introduction to libraries
  • numpy and numpy arrays
  • Control flow, loops, program logic, and an introduction to libraries

Week 4 (Feb 24):

  • Functions and functional programming
  • Introduction to ipython notebooks (jupyter)

Week 5 (Feb 26):

  • Vectorization and program efficiency
  • Final project introductions

Week 6 (March 4):

  • Working with astrophysical datasets (loading, analyzing, fitting, visualizing)

Spring Break

Week 7 (March 25):

  • Introduction to Object Oriented Programming

Week 8 (April 1):

  • Introduction to github and version control + Bonus Content

Week 9 (April 8):

  • Final presentations

For a more detailed topic list, click here