Program Description

​Code/Astro is a week-long astronomy software development workshop motivated by the growing usage of open-source software in astronomical research. The goal of this program is to teach participants fundamental software engineering skills and best practices for building sustainable open-source packages for astronomy applications. During the workshop, participants will obtain hands-on experience with software engineering by developing a small software package from scratch. The workshop will also serve as a networking and career development opportunity. The workshop is free and open to folks at all career levels. Code/Astro is made possible thanks to support by the Heising-Simons Foundation.

Code/Astro will be hybrid and offer both in-person and virtual synchronous participation. The in-person component will be held at Northwestern University in Evanston, IL. Travel funding is available to support anyone who is accepted to the workshop and needs financial assistance (exact amount will depend on demand, but we anticipate to be able to cover at least the large majority of it). Please note that if you are just looking for access to the course materials and do not want to participate synchronously during the workshop, you don’t need to apply: the course material are on Github with corresponding lectures posted on Youtube.

Dates

July 15, 2024 - July 19, 2024

Instructors

Teaching Assistants

Industry Panelists

Local Organizing Committee

Local logistics are being organized by the CIERA staff led by Madeline Wilson and also including William Vercellone and Janet Lyons.

​Schedule

Detailed information, agenda, and logistical information will be released at a later date. The workshop will held at CIERA, Northwestern University’s Center for Interdisciplinary Exploration and Research in Astrophysics, and virtually over Zoom. Structured activities will occur from 9am-noon (CDT) each day. The rest of the time is unstructured and participants can work on their packages for their group projects at their own pace. In the afternoons (CDT), we are also offering optional special topics, but these are not required. Topics covered each day are as follows:

Mon. Day 1 Tue. Day 2 Wed. Day 3 Thu. Day 4 Fri. Day 5
Development Environments Git Mechanics Releasing Code Software Testing Industry Panel Discussion
Programming Paradigms Debugging Code Documentation Anti-Discriminatory Practices Project Presentations
Git/Github Basics Parallel Programming   Code Profiling  
Python Package Tutorials jax   Supplementary Tools  

Logisitcal Details

A more detailed agenda and in-person logistical details from the workshop are avilable here.

Before the workshop starts, we ask all participants to setup their development environment based on these installation instructions and provide us the secret code at the end.

This link will be updated with a detailed schedule of classes and office hours.

How to Apply

We require participants to be familiar with Python or another high-level programming language (e.g., Java, Matlab). Participants are expected to develop on their own computers and have set up their development environment there. Attendence to the workshop can either be in-person or virtual, but participants are expected to particpate synchronously. For those that are interested in the materials but cannot particpate in real time, the code is already on Github with corresponding lectures from previous years posted on Youtube, so please apply only if you intend to participate synchronously. For those that require financial assistance in any way to participate (the workshop itself is free), we have some funding support available for in-person and remote attendence, and we will poll about that after accepting applicants. Anyone related to astronomy is eligible. If you have questions about the application, contact Jason Wang (jason.wang@northwestern.edu).

Applications for the 2024 workshop are open at this link. Apply by February 16th at 11:59pm Pacific Time.

In addition to some basic questions, the application form has some questions about your programming background and goals for taking this workshop. In the event we receive too many applications, we will use these responses to help us make decisions on admission to the workshop. Part of the application also consists of taking a diagnostic assignment. There is no need to know everything on this assignment. We are using it to get a sense of the Python expertise of the participants and to help get everyone on the same page in programming jargon. Feel free to use other resources to help complete this assignment! The demographic questions at the end are optional and are used by us to identify biases in our advertising or admissions strategy for the workshop.