Course Overview
- 1st week
- Syllabus
-
Introduction to Programming
- Prepare parts 1
(Whetting
Your Appetite) and 3
(An Informal
Introduction to Python) of the
Python tutorial
- Set up a user on GitHub
- 2nd week
- Hello Python
- Prepare part 4
(More Control
Flow Tools) up to and including 4.6
(
match
statements) of the
Python tutorial
- Start homework 1
(the link to this assignment is on moodle)
- 3rd week
- Strings
- Prepare the remainder of part 4 (starting with
Defining Functions) of the
Python tutorial
- Start homework 2
(the link to this assignment is on moodle)
- 4th week
- Functions
- Prepare the
data structures chapter of the
Python tutorial
- Start homework 3
(the link to this assignment is on moodle)
- 5th week
-
Built-in Container Data Structures
- Read about
function annotations and
variable annotations
directly in the relevant Python Enhancement Proposals (PEPs)
- Work through the Python 3 tutorial on
Modules
- Read the Python 3 library documentation on
doctests
(from the top until (not including) "How It Works")
- Start homework 4
(the link to this assignment is on moodle)
- 6th week
- Modules and Packages
- Documentation
- Build teams and select topics for the term project
- Prepare
Classes up to and including
Private Variables) of the
Python tutorial
- Start homework 5
(the link to this assignment is on moodle)
- 7th week
-
Creating Your Own Data Types
- Prepare chapter 9 ("Unit Testing") of "Dive into Python 3"
- Start homework 6
(the link to this assignment is on moodle)
- 8th week
- Unit Testing
- Read Python's
Functional Programming HOWTO
- Start homework 7
(the link to this assignment is on moodle)
- 9th week
-
Functional Programming
- Read the first three chapters of the "Data Structures" wikibook:
Introduction,
Asymptotic Notation and
Arrays
- Start homework 8
(the link to this assignment is on moodle)
- 10th week
-
Data Structures and Algorithms
- Read through at least one of the
PuLP optimization case studies. If you lack prior knowledge with
regard to linear programming, also study the
optimization process and optimization concepts in the PuLP
documentation
- Start homework 9
(the link to this assignment is on moodle)
- 11th week
- Linear optimization with PuLP
- Download the PuLP.ipynb
ipython notebook
- Follow the instructions on
using ipython notebooks
- Start homework 10
(the link to this assignment is on moodle)
- 12th week
- Introduction to data analysis with Python
- Download the
data_analysis.ipynb
ipython notebook
- Follow the instructions on
using ipython notebooks
- Start homework 11
(the link to this assignment is on moodle)
- 13th week
- Review and Outlook
- 14th week
- Q & A
- 15th week
- Final exam
IPython Notebooks
Make sure jupyter-lab is installed (pip install --user --upgrade jupyterlab
). After downloading a notebook, use it via
jupyter notebook ${notebookname}
or open the entire development environment via
jupyter lab
Prior Exams
Links
Notes
The best way to learn programming is to write code. Have fun!