Teaching is one of my favorite aspects of being in academia, and I have been engaged with various teaching initiatives for over 10 years. A few highlights of these experiences include the facilitating of the long-runnning “Python Decal” at UC Berkeley for three years as an undergraduate as well as serving as an undergraduate TA for both lower and upper level astrophysics courses, creating and teaching a new fully-credited course in the Yale Astronomy department as a graduate student, and publishing a Python textbook for astronomy students via the American Astronomical Society E-Book partnership with IOP Publishing.
You can learn more about some of the teaching and pedagogical endeavours I have participated in below.
I have a recently-released textbook through AAS-IOP E-book division which covers introductory Python with an explicit focus on astronomy students and astronomical data analysis. You can read more about it online .
This course (now a regular offering in the Yale Astronomy department) focuses on high level Python computing in the context of astrophysics research. The course goal is to provide students with the fundamentals of building astronomical pipelines and the general use of cutting edge tools and techniques currently used in the astronomical community. We discussed (and built) software for the analysis, manipulation, reduction, and visualization of astronomical data from observations and simulations. I created this course as a natural follow up to the primary research methods introductory class at Yale, ASTR 255 (“Research Methods in Astrophysics”). Students were expected know basic Python coding, including working with numpy arrays and creating basic plots with matplotlib, before attempting the assignments in this course.
The course (as I ran it) consisted of weekly Python lectures and in-depth tutorial/workshop days during which students worked together on programming assignments. We also held seminar lectures by invited outside experts who are pushing the forefront of Python in Astronomy. There are weekly coding assignments and a final capstone project.
You can read more about the course here .
This workshop series for ~first year undergraduates focuses 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, run by myself, Yasmeen Asali, Will Cerny, and Sebastian Monzon, we started 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.
As the field of astronomy continues to evolve, expectations for undergraduate research have surged (hence a lot of the other teaching initiatives on this page!). There is a pressing need to equip students with the requisite technical proficiency and research acumen to ensure they are well-prepared for the rigors of graduate-level study or careers in industry.
The AstroCodex is an attempt to meet this need, by producing a high quality, peer reviewed, tested set of coding exercises with astronomical examples. Community maintained (and filled at institutionally held hack days!), I want to help create a resource for other educators to make it as seamless as possible to augment or build assignments for coding-forward courses (much like the ones I have developed over the years) (more) .
I served as an instructor (primarily in Python) for the Yale Summer Program in Astrophysics (YSPA), which brings a group of high schoolers over the summer to learn astronomy, coding, and research skills. I was the primary Python instructor for the summer of 2019, teaching the core research skills the students used in their projects (measuring supernova light curves measured at the Yale Leitner Family Observatory telescope). One of the high schoolers I taught that summer matriculated to Yale, and now, four years later, just got into grad school!
Every summer, around 25-30 students carry out research projects in Yale astronomy — some Yale students, some external students supported by fellowships or simply part of research groups. I founded an organizational structure in the department via our ACDC (climate and diversity) group to serve as an “umbrella” for these students. This involved several bootcamps at the beginning of summer, weekly research office hours where I would help students out with coding or research questions, and a few socials. Students typically gave talks at the end of each summer; we held practice talk sessions for them, pairing them with grad students for feedback if they chose. You can see the materials I used for those bootcamps and lessons at this github site .
Beyond these initiatives and roles I have led, I have served as a Teaching Fellow/Teaching assistant for the following courses: