NOTE: The master branch contains the most recent version of ISC-3313. If you are looking for previous version make sure to switch to the appropriate branch.
All content for this course can be viewed online using the link above.
Time: Tu/Th 11:00am - 12:15pm
Location: DSL 0152
Dates: May 14 – Aug 3 (12 weeks)
Name: Eitan Lees
Email: [email protected]
Office Hours: by appointment (please email)
We will cover the basics of programming with python as well as some more advanced features. The topics will be broken up into four modules as such:
-
Python Fundamentals
- Introduction, Installation, and Basic Syntax
- Variables, Arithmetic and Boolean Operations, Scalar and Structured Data Types
- Conditional Flow and Loops, Defining Functions
-
Beyond Base Python
- Creating/Installing Modules, Docstrings, Conda vs. Pip
- Numpy, Ndarrays, Ufuncs, Aggregations
- Matplotlib, Point/Line Plots, Contour/3D Plots, Subplots/Customization
-
Advanced Python
- Classes, Attributes, Methods, Polymorphism
- List Comprehension, Flexible Arguments, Map/Filter
- File IO, Command Line Arguments, OS and Sys modules
-
Scientific Python
- Scipy, Linalg, Stats, Interpolate, Optimize
- Pandas, DataFrames, Time Series
- Machine Learning, Scikit-Learn, Student Presentations
In addition to the outline above, we will have select lectures on specific math topics, including but not limited to:
- Ordinary Differential Equations
- Numerical Calculus
- Random Numbers/Monte Carlo
Special thanks to:
- Jake VanderPlas for many of the materials that have gone into this course. Specifically his work:
- Lukas Bystricky for his advice and mentoring.
- and lastly the Scipy Lecture Notes for many examples and explanations.