Introduction to Python: Numerical Analysis for Engineers and Scientist. In 2017, Python became the world's most popular programming language. This course covers the basic syntax, linear algebra, plotting, and more to prepare students for solving numerical problems with Python.
Switch branches/tags
Nothing to show
Clone or download
Latest commit a27144c Jul 29, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
evaluations/2017_Fall change note to readme May 18, 2018
exam first commit Nov 30, 2017
homework_solutions add hw12, hw13 solutions Dec 15, 2017
lectures change final time Nov 30, 2017
quiz fix quiz 01 solution Dec 11, 2017
syllabus first commit Nov 30, 2017
.gitignore first commit Nov 30, 2017
LICENSE first commit Nov 30, 2017
PythonProgrammingEML6934.pdf first commit Nov 30, 2017
readme.md pep8 link Jul 29, 2018

readme.md

About

Python is a general purpose programming language. This course covers the basics, linear algebra, plotting, and more to prepare students for solving numerical problems with Python. Python is a viable free and open alternative to MATLAB. Prerequisite: Some intro to programming course or equivalent.

This is a 1 credit hour course that was taught in the MAE department at the University of Florida during the Fall 2017 semester. There are fourteen 50 minute lectures.

View the syllabus!

View the course flyer used for advertising the course within the department.

Why

During the 2016 academic year I noticed that there were a large number of students wanting to learn Python. Unfortunately for the students, there are limited opportunities at UF to learn and apply Python. To fill this void, I created a 1 credit hour course on Python tailored for graduate students in the MAE department.

References

These books were the inspiration for a large portion of the lectures.

  1. J. VanderPlas. A Whirlwind Tour of Python. O'Reilly Media 2016. https://github.com/jakevdp/WhirlwindTourOfPython http://www.oreilly.com/programming/free/files/a-whirlwind-tour-of-python.pdf
  2. J. VanderPlas. Python Data Science Handbook: Essential Tools for Working with Data. O'Reilly Media 2016. https://github.com/jakevdp/PythonDataScienceHandbook http://shop.oreilly.com/product/0636920034919.do
  3. W. McKinney. Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython 2nd Edition. O'Reilly Media 2017. http://shop.oreilly.com/product/0636920050896.do https://github.com/wesm/pydata-book

Course material

Lectures were performed using the presentation slides along with a Jupyter Notebook. If you are working through this material on your own, I recommend that you interact with the Jupyter Notebook while following through the lecture slides. Jupyter Notebooks can be launched after installing Anaconda (with Spyder) or Canopy. Supplementary material, including files necessary to complete the home work, is available in the lecture folders.

Lecture Description Slides Jupyter Notebook Home Work Solutions
About Python (2 vs 3), IDEs, IPython , notebooks, and installation lecture00.pdf NA hw00.pdf NA
Basics: data types, math, loops lecture01.pdf lecture01.ipynb hw01.pdf HW01 Solution
Loops, functions, classes, objects lecture02.pdf lecture02.ipynb hw02.pdf HW02 Solution
Objects, Namespace, Python libraries, and pip lecture03.pdf lecture03.ipynb hw03.pdf HW03 Solution
Numpy and Matrix operations lecture04.pdf lecture04.ipynb hw04.pdf HW04 Solution
More Numpy and Matplotlib for 2D plots (First quiz 15 mins before end of class) lecture05.pdf lecture05.ipynb hw05.pdf HW05 Solution
Contour plots, 3D plot, Histograms lecture06.pdf lecture06.ipynb hw06.pdf HW06 Solution
Statistical distributions and functions lecture07.pdf lecture07.ipynb hw07.pdf HW07 Solution
Optimization in Scipy lecture08.pdf lecture08.ipynb hw08.pdf HW08 Solution
Python read and write: opening and modifying text/csv files lecture09.pdf lecture09.ipynb hw09.pdf HW09 Solution
Symbolic math with SymPy , DOE with pyDOE (Second quiz 15 mins before end of class) lecture10.pdf lecture10.ipynb hw10.pdf HW10 Solution
Scikit-learn: surrogate modeling lecture11.pdf lecture11.ipynb hw11.pdf HW11 Solution
Scikit-learn: surrogate modeling and machine learning lecture12.pdf lecture12.ipynb hw12.pdf HW12 Solution
Pandas and DataFrames / Review for final lecture13.pdf lecture13.ipynb hw13.pdf HW13 Solution

Quiz

Exam

Python Code Editing environment

If you are just starting out with Python, I highly recommend installing Anaconda. Anaconda will include the most popular scientific libraries. My favorite text editor / IDE for Python is Visual Studio Code which is free and open source. I have a blog post on how to setup Code for Python. Code has many wonderful features for working with Python, and will help you write Python code that follows the PEP 8 style guide.