logo

Sign-up for our Slack at uchicagocodingclub.slack.com and our Facebook page at facebook.com to follow the discussion and keep up-to-date with meetings, news, and anything else.

Introduction and Aims of the Coding Club

Computational approaches to scientific questions are not just ubiquitous, they are essential for nearly every active research endeavor today, whether in the form of numerical approximations, simulation, optimization, regression, or even merely visualization.

This Coding Club is designed to foster a social, collaborative, and open forum for students to learn about computational techniques, from each other and a faculty mentor, and how to apply them to research in physics. We want to emphasize that students of any year are welcome (from first-year undergrads to grad students), and no prior experience with programming is required.

Think of this like a “journal club” but instead of simply reading papers, the goal is to dissect some figure, or re-analyze some data, or reproduce a statistical result. These “Projects” (see the Projects page) can then grow and transform in whatever direction the club members are inclined!

The hope is that not only will this help students learn the science more deeply, but also learn the tools of the trade required to produce those results in the first place.

Please see the Schedule to find out when we’re meeting next.


Table of Contents

  1. Brief Roadmap
  2. Starter Kit
  3. Design of the Coding Club
    1. Timeline
    2. Discussions and Slack Channel
    3. Software preservation and formats

Brief Roadmap

Here are the resources provided for the Coding Club:

  • Starter Kit:
    • provides the means to any student to jumpstart their understanding and abilities to use python, jupyter notebooks, git and GitHub, various libraries and data visualization tools, etc
  • Tutorials:
    • tutorials are meant to be self-contained and focused on learning specific skills. Data visualization in 2D and 3D, CSV file handling, curve fitting, basic Monte Carlo simulation, etc.
  • Projects:
    • publications used by the club, along with examples of analysis, computational techniques, and data visualizations associated to those publicatiuons can be found here.

Starter Kit

In order to allow new members to join and contribute no matter what their level, it is essential that not only are the results of past projects archived and preserved as proposed above, but that the basic software tools required to participate are provided in an easy-to-use manner in order to make the club as accessible as possible to everyone.

More information can be found on the Starter Kit page.

Design of the Coding Club

Under the supervision of a faculty mentor, the students comprising the coding club would choose one research paper per academic term to read, discuss, and evaluate computationally. Examples of the latter could include reproducing a key computational result, or vetting a statistical analysis using published data, or modeling a result or hypothesis computationally.

Timeline

The members of the club should choose a paper, along with feasible associated computational results within the first 2 weeks of each Quarter. A Club meeting should then be held in the 4th or 5th weeks of the Quarter to discuss the paper, any code that members had worked on, and ideas and avenues for the final results. Presentations from each of the coding club members would then take place during Reading Period of 10th week. Each person’s work could then be discussed, along with the scientific results themselves.

Each new term would therefore see new publications discussed and new projects proposed.

Discussions and Slack Channel

Informal discussions should be held in the interim amongst the coding club members to evaluate the possible avenues to achieving the proposed results. Online discussion can also take place using a dedicated Slack Channel for each project, as well as more general discussions of the project and the club itself.

A dedicated Slack discussion channel is available for real-time discussions, sharing of code and results, and other communications.

Sign-up at uchicagocodingclub.slack.com.

Software preservation and formats

Jupyter notebooks can be interactively discussed and evaluated in real time along with the mentor and/or other researchers, and therefore provide a well-suited format for the purposes of this Club.

Presentations from each of the coding club members during Reading Period of 10th week could proceed directly from prepared Jupyter notebooks. Complete working software should be committed to the dedicated GitHub repository for each project (see Projects). A README should include notes from the discussions, links to publications and external resources used, and the names of the coding club members that contributed to the final results and discussion.