- Feb 1–May 17, 2017
- Wednesdays 10am–1:45 pm
- Simons Center for Computational Astrophysics, 162 Fifth Avenue
Prof. Kelle Cruz [email protected]
This project-based course focuses on tools, best practices, and workflows common in Astrophysics research. These include topics in Python programming, statistics, and data visualization.
- Laptop: A laptop, preferably a Mac, is required for in class work.
- Python 3 is the non-optional programming language for the course.
- GitHub account: all assignments will be submitted and graded via GitHub.
- Slack account: communication between the professor and other students will use dedicated Slack channel
- Practical Statistics for Astronomers
- Effective Computation in Physics: Field Guide to Research with Python
- The Art of Readable Code
- Data Visualisation: A Handbook for Data Driven Design
- Use Slack for realtime chat and to provide Professor with updates
- Google Group will be used sparingly for course announcements.
Course assignments will be individualized based on the background, experience, and interests of each student. They will be discussed at the beginning and end of each class meeting and clear milestones will be agreed upon between the student and the Professor. It is anticipated that each student will contribute to 2--3 distinct projects throughout the span of the semester.
All students will submit a final project which reflects progress in coding practices (documentation, unit testing), version control and collaboration via GitHub, code review, and data visualization. The only components of the project which will be graded are those visible in the student's GitHub repo. Due date is May 19.
Grades will be based on in-class participation, contributions to team projects, and demonstrated progress in three main areas:
- programming best practices
- statistics proficiency
- data visualization
Students who are not on track for getting an 'A' will be contacted privately by the instructor.
The first third of the semester focuses on documentation, coding best practices, and gaining familiarity with GitHub. The second third emphasizes unit testing, code review, and more advanced GitHub topics. Finally, we will focus on data visualization and best practices for using Python to make scientific graphs.
- Students will be able to apply best coding practices in order to write code which is readable and well documented.
- Students will be able to use git on their own laptop in order to have a version control system for their code.
- Students will be able to use GitHub in order for their code to be open source and to facilitate collaborative code writing and code review.
- Students will be able to provide meaningful feedback on other people's code based on best practices.
- Students will be familiar with basic Bayesian statistical concepts in order to understand results from markov chain Monte Carlo (MCMC) methods.
- Students will be able to critically assess scientific visualizations in order to identify ways to make them more effective.
- Students will be able to use at least one Python-based visualization package in order to generate and customize visualizations of scientific output.