GithubHelp home page GithubHelp logo

mcstroh / ideaspy Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ciera-northwestern/ideaspy

0.0 0.0 0.0 3.03 MB

A series of jupyter notebooks to be run in either the jupyter lab environment

License: GNU General Public License v3.0

Jupyter Notebook 99.99% Python 0.01%

ideaspy's Introduction

IDEASpy

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:

  1. Introduction to Python

    1. Getting start with Python
    2. Data Types and Precision
    3. Functions, Modules, Packages
    4. Conditional Statements and Loops
    5. Your First Python Code
    • Challenge 1: Using Python to Analyze Seismic Data on Mars
  2. Introduction to Data and Plotting in Python

    1. Lists in Python
    2. Loops and List Comprehension
    3. Reading and Parsing Data From a File
    4. Defining Your Own Functions and Modules
    5. Plotting with Matplotlib
    • Challenge 2: Using Python to Analyze and Plot Exoplanet Data
  3. Optimizing Python and Furthering Analysis in Python

    1. NumPy
    2. Code Optimization
    3. Pandas Basics
    4. 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.

Getting Started

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.

  1. Go to Google Colab: Colab

  2. Click File -> Open notebook

  3. Click Github. Copy and paste this link: https://github.com/CIERA-Northwestern/IDEASpy. Click enter or return.

  4. Click on the Module/Section you would like to work on.

  5. Click Copy to Drive

  6. 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

  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/IDEASpy.git
  1. Change directory to the IDEASpy directory
cd IDEASpy/
  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.ipynb

Prerequisites

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.

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

  • Katie Breivik
  • Michael Katz

Contributors

  • Patrick Sheehan
  • Michelle Paulsen
  • Alexandria Romasanta
  • Scott Coughlin

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 high school students with support from Reach for the Stars.

ideaspy's People

Contributors

bueno646 avatar ideaspy avatar mcstroh avatar mikekatz04 avatar psheehan avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.