A beginner Python course tailored to those intereseted in scientific computing and data science. The course is presented in the form of Jupyter 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.
The modules cover the following topics:
-
Introduction to Python
- Getting start with Python
- Data Types and Precision
- Functions, Modules, Packages
- Conditional Statements and Loops
- Your First Python Code
- Challenge 1: Using Python to Analyze Seismic Data on Mars
-
Introduction to Data and Plotting in Python
- Lists in Python
- Loops and List Comprehension
- Reading and Parsing Data From a File
- Defining Your Own Functions and Modules
- Plotting with Matplotlib
- Challenge 2: Using Python to Analyze and Plot Exoplanet Data
-
Optimizing Python and Furthering Analysis in Python
- NumPy
- Code Optimization
- Pandas Basics
- Exploring More Complex Data Files with Pandas
- Challenge 3: Optimize a Code with NumPy
- Challenge 4: Analyze Gaia Data with Pandas
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 high school students with support from Reach for the Stars.
These programs can be run through jupyter notebook on your local machine or Google Colab on a web browser. It is recommended you use Google Colab if you are uncertain about installing Python/Anaconda, or if this is for classrooms where software cannot be installed.
Follow these instructions if you want to run this on Google Colab. It is required that you have an email address that is hosted through Google in order to save you work for later.
-
Go to Google Colab: Colab
-
Click File -> Open notebook
-
Click Github. Copy and paste this link: https://github.com/CIERA-Northwestern/IDEASpy. Click enter or return.
-
Click on the Module/Section you would like to work on.
-
Click Copy to Drive
-
Make sure you work in this new copy if you would like to save your work!
To run locally, we will provide instructions using the Terminal. We generally 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/IDEASpy.git
- Change directory to the IDEASpy directory
cd IDEASpy/
- 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.ipynb
If you are using Google Colab or Anaconda, all the packages used in this program will be installed automatically. These include NumPy, Pandas, Matplotlib, etc.
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:
-
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.
- Katie Breivik
- Michael Katz
- Patrick Sheehan
- Michelle Paulsen
- Alexandria Romasanta
- Scott Coughlin
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 high school students with support from Reach for the Stars.