This is the GitHub repository for CIERA's REACH program. This is 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.
The modules cover the following topics:
-
Background
-
Introduction to Python
-
Introduction to Data and Plotting in Python
-
Advanced Analysis and Tools in Python
-
Advanced Astronomy and Scientific Computing in Python
-
Projects
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.
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.
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
-
Open a terminal window.
-
Change directory to the preferred directory where you would like these notebooks stored
cd Path/To/Directory/
- Clone this repository in the terminal
git clone https://github.com/CIERA-Northwestern/REACHpy.git
- Change directory to the IDEASpy directory
cd REACHpy/
- Change directory to the module of your choice. For example, for Module 1:
cd Module_1/
- Start jupyter notebook with the desired section. For example, for Section 1:
jupyter notebook Section_1_Intro_to_Python.ipynb
If you are using Google Colab or Anaconda, all dependencies will be installed automatically. These include Matplotlib, NumPy, and Pandas.
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 IDEAS@northwestern.edu. There are two reasons for this:
-
It allows us to further understand its reach when reporting to funding providers or those interested in working with our research center.
-
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.
- Fulya Kiroglu
- Miguel Martinez
- Michael C. Stroh
- Katie Breivik
- Scott Coughlin
- Michael Katz
- Diego Munoz
- Michelle Paulsen
- Alexandria Romasanta
- James Schottelkotte
- Patrick Sheehan
This work is licensed under the GNU Public License. Please see our LICENSE.
- 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.