Skip to content
Sheila Kannappan edited this page Jun 1, 2022 · 3 revisions

Welcome to the 2022bootcamp wiki!

Information and materials will be organized here.

Basics:

Install nano
Git prep

Linux (optional):

Linux tutorial
Parts I and II of the Linux tutorial are for in-person participants only. Part III applies to anyone. After completing the Linux tutorial, you can make a directory in /afs/cas.unc.edu/users/y/o/yourname/public to hold any boot camp work you complete on a department Linux machine. If your initial disk space allocation runs out, we can arrange additional space, but it's likely to be sufficient. You can work directly on any Linux machine in Hell's Kitchen (the astro computing lab). It's also fine to just work on your laptop, albeit it may be less powerful. Linux bonus tracks

Plain-Text Editing:

vi tutorial
Even if you prefer nano or emacs or another programming editor, you should learn the basics of vi, because you may sometimes find yourself inadvertently dumped into vi when using git or linux. Note that vi is installed by default for Linux/Mac and comes with Git Bash for Windows (see "Git prep" above under Basics).
optional: emacs installation
Emacs is comparable to nano as just a code editor, but it may be more useful to you down the line -- it has many powerful features after decades of development from the Gnu community. Optionally install emacs for Windows (go into the directory with the latest version and download the appropriate installer) or Mac and run the built-in tutorial in the emacs help menu. (FWIW, your instructor uses emacs.)

Version Control:

Git and GitHub tutorial -- NOTE: this tutorial is best done with a partner.

Python:

Basic Statistics:

Laws of Probability, Probability Distributions, Random Sampling, Uncertainties, and Confidence Intervals

Hypothesis Tests

Fitting Models

This is a complicated topic (!) and we'll take it one step at a time.

Bootstrapping

  • Complete this Tutorial on Bootstrapping
  • Repeated bootstrapping can get computationally demanding -- optionally take a look at this Un-Tutorial on Multiprocessing, which explores how to speed up such an embarrassingly parallel computing task [Warning: not updated from 2017, may contain Python 2.7 code.]

Advanced Topics:

Machine Learning

Samplers

  • Here is a tutorial on different types of samplers (including MCMC samplers) that you can use in Python.

Visualization

  • While this bootcamp mainly used matplotlib to create plots, check out this link that compares the Pros and Cons of various plotting packages that can be used to make plots in Python.