Skip to content

Code repository for the LSSTC Data Science Fellowship Program's fork of CIERA's REACHpy python tutorials.

License

Notifications You must be signed in to change notification settings

LSSTC-DSFP/REACHpy-DSFP

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

REACHpy - DSFP

This is the GitHub repository for the LSSTC Data Science Fellowship Program's fork of CIERA's REACHpy tutorials. These were originally created for the REACH program and built on the IDEASpy package, an introductory Python course tailored to those interested in scientific computing and data science. The course is presented in the form of Google Colab notebooks and assumes no prior knowledge of Python. Each module introduces a new larger topic in Python, as well as at least one challenge set at the completion of module sections. These notebooks can also be downloaded and used in a Jupyter environment.

Prior to attending the first DSFP session, DSFP fellows should plan to complete the tutorials in modules 1-3, but it is not necessary to complete the challenge problems. Please contact us or open an issue if you have questions or suggestions for DSFP specific topics to be added to these tutorials.

The modules cover the following topics:

  1. Background

    1. Introduction to Colab Open In Colab
    2. Astronomical Quantities Open In Colab
  2. Introduction to Python

    1. Getting Started with Python Open In Colab
    2. Introduction to Lists and Loops Open In Colab
    3. Conditional Statements Open In Colab
    • Challenge 1: Angular Velocity Open In Colab
    • Challenge 2: Kepler's Laws Open In Colab
    • Challenge 3: Lifetime of the Sun Open In Colab
  3. Introduction to Data and Plotting in Python

    1. Introduction to Functions and Modules Open In Colab
    2. Introduction to Numpy Open In Colab
    3. Plotting with Matplotlib Open In Colab
    • Challenge 1: Using Python to Analyze and Plot Exoplanet Data Open In Colab
    • Challenge 2: Plot the Rotation Curve of the Solar System Open In Colab
    • Challenge 3: The Expansion of the Universe Open In Colab
    • Challenge 4: Creating an Hertzsprung-Russell Diagram Open In Colab
    • Challenge 5: Galaxy Rotation Curves Open In Colab
  4. Advanced Analysis and Tools in Python

    1. Pandas Basics Open In Colab
    2. Reading and Parsing Data Files Open In Colab
    3. Advanced Matplotlib Figures Open In Colab
    4. Advanced string formatting with f-strings Open In Colab
    • Challenge 1: Analyze Gaia Data with Pandas Open In Colab
  5. Advanced Astronomy and Scientific Computing in Python

    1. Measurement Uncertainty and Precision Open In Colab
    2. Introduction to SciPy Open In Colab
    3. Creating Images with Astropy Open In Colab
    4. Tables in Astropy Open In Colab
    5. Multiwavelength imaging Open In Colab
  6. Projects

    1. Velocity of stars in the Milky Way Open In Colab
    2. Habitable worlds Open In Colab
    3. Accreting black holes Open In Colab
    4. Extracting energy from black holes Open In Colab
    5. Simulating planetary systems Open In Colab
    6. Weighing baby solar systems Open In Colab
    7. Binary black hole mergers Open In Colab
  7. Activities

    1. SN classification Open In Colab

IDEASpy was originally developed as part of the Integrated Data-Driven Discovery in Earth and Astrophysical Sciences (IDEAS) Research Traineeship program supported by the National Science Foundation under grant DGE-1450006. However, any opinions, findings, conclusions, and/or recommendations are those of the investigators and do not necessarily reflect the views of the National Science Foundation. It has since been modified for use by students with support from Reach for the Stars.

Getting Started

We recommend that you use Google Colab for these notebooks. The links next to each section and challenge problem will automatically open the file in Google Colab.

Remember to save your work to Google Drive.

Running on a local machine

We provide instructions using the Terminal. We recommend installing Jupyter Notebook with Anaconda. To install Anaconda on your local machine, please follow these instructions: Install Anaconda

  1. Open a terminal window.

  2. Change directory to the preferred directory where you would like these notebooks stored

cd Path/To/Directory/
  1. Clone this repository in the terminal
git clone https://github.com/CIERA-Northwestern/REACHpy.git
  1. Change directory to the REACHpy directory
cd REACHpy/
  1. Change directory to the module of your choice. For example, for Module 1:
cd Module_1/
  1. Start Jupyter notebook with the desired section. For example, for Section 1:
jupyter notebook Section_1_Intro_to_Python.ipynb
  1. When using Jupyter, wget commands are unnecessary. All data files should be in the same directory as the ipynb file, or in a data subdirectory.

Prerequisites

If you are using Google Colab or Anaconda, all dependencies will be installed automatically. These include Matplotlib, NumPy, and Pandas.

Contributing / New Modules or New Versions for Different Audiences

As maintainers of this project, we would like to expand its reach to as many students as possible while maintaining its main purpose of introducing a variety of audiences to coding and Data Science through the use of Python. If you would like to use this project as a base for a more directed course, we politely ask you to let us know by raising it as an issue or emailing us at [email protected]. There are two reasons for this:

  1. It allows us to further understand its reach when reporting to funding providers or those interested in working with our research center.

  2. If you develop material we are interested in adopting, we would like to open that collaborative channel in order to best further and improve the learning provided within this tutorial.

Please read Contributing.md for details on our code of conduct related to contributing.

Authors

  • Fulya Kiroglu
  • Miguel Martinez
  • Michael C. Stroh

Past Authors and Contributors

  • Katie Breivik
  • Scott Coughlin
  • Michael Katz
  • Diego Munoz
  • Michelle Paulsen
  • Alexandria Romasanta
  • James Schottelkotte
  • Patrick Sheehan

License

This work is licensed under the GNU Public License. Please see our LICENSE.

Acknowledgments

  • IDEASpy was originally developed as part of the Integrated Data-Driven Discovery in Earth and Astrophysical Sciences (IDEAS) Research Traineeship program supported by the National Science Foundation under grant DGE-1450006. However, any opinions, findings, conclusions, and/or recommendations are those of the investigators and do not necessarily reflect the views of the National Science Foundation. It has since been modified for use by students with support from Reach for the Stars.

About

Code repository for the LSSTC Data Science Fellowship Program's fork of CIERA's REACHpy python tutorials.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 96.7%
  • Python 3.3%