Skip to article frontmatterSkip to article content

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.

If you are interested in participating in the workshop series, please fill out THIS INTEREST FORM!

Course Topics by Week

Week 1 (Jan 29):

  • UNIX, filesystems, environments and the Python ecosystem

Week 2 (Feb 5):

  • Pure Python programming, calculations, variables, datatypes and scripts
  • Introduction to numpy

Week 3 (Feb 12):

  • Control flow, loops, program logic, and an introduction to libraries

Week 4 (Feb 19):

  • 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