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)
- 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
Other Topics
- Object Oriented Programming
- Exception Handling
- Overview of IO (manipulating various file formats: text, bin, cvs, nc4, hdf5, etc.)
- datetime Module
- xlrd Module