/py_materials

Repository containing all the Python materials

Primary LanguageJupyter Notebook

Python Materials for Teaching

This repository contains all the Python materials we use for teaching.

Jupyter Notebook

  • Introduction to Jupyter Notebook

Python Fundamentals

  • Basic Data Types
  • Data Structures
  • Conditional Statements
  • For Loops and While Loops
  • Functions and Modules
  • Manipulating Text Files
  • Visualization with Matplotlib

Best Practices

  • Python Coding Standards
  • List Comprehension
  • Optimizing Python Applications
  • Packaging and Deployment

Scripting in Python

  • Transitioning from Python 2 to Python 3
  • Python Decorators
  • Passing Parameters to Applications (argparse, click, configparser)

Tools for Data Science

  • Numpy
  • Scipy
  • Pandas
  • Scientific Data Format Files (netCDF4 and h5py)
  • Serialization and Deserialization (pickle, json)
  • Data Retrieval
  • Introduction to Machine Learning - Basic Concepts of Machine Learning - Exploratory Data Analysis with Python - Regression Modeling with Scikit-Learn - Regression Modeling with Tensorflow - Supervised Modeling with Scikit-Learn
  • Parallel Data Processing with Dask (in preparation)

Multi-Threading and Multi-Processing

  • subprocess Module
  • threading Module (in preparation)
  • multiprocessing Module (in preparation)

Interoperability

  • Introduction to F2Py (in preparation)
  • Introduction to Cython (in preparation)

Version Control

  • Introduction to Git

Other Topics

  • Object Oriented Programming
  • Exception Handling
  • Overview of IO (manipulating various file formats: text, bin, cvs, nc4, hdf5, etc.)
  • datetime Module
  • xlrd Module