Course Calendar Spring 2020

This schedule is subject to change. Please check back frequently.


Week Date Lecture Assignment Resources and Readings
Week 1 April 8th Class Overview & Python Basics
Course Overview
Creating and Running Python Programs
Basic syntax overview: variables, control-flow, and function basics
Sequences: Lists, Tuples, and Strings
Homework #1 Out Week 1 & 2 Readings: Lutz. Ch. 1-7, Ch 12-13, Ch. 16
Week #1 Content
Week 2 April 15th & 16th Expanding the Basics: Compound Data Types, Functions, Modules, Interaction
Compound data types: Dictionaries, and sets
Python conceptual hierarchy
User interaction: basic input/output and command line arguments. Working with Files.
Homework #1 Due (April 16th 11:59pm)
Homeowrk #2 Out
Week 1 & 2 Readings: Lutz. Ch. 1-7, Ch 12-13, Ch. 16
Week #2 Content
Week 3 April 22nd & 23rd Advance Functions, Generators, Functional Programming
Advance functions mechanisms: postional vs keyword arguments, scope, closures Generator functions and expressions
Functional programming mechanisms
Homework#2 Due (April 23rd 11:59pm)
Homework #3 Out
Week #3 Content
Readings: Lutz. Ch. 14, 17,18,19,20
Week 4 April 29th & 30th Object-Oriented Programming: Classes
Introduction to Object-Oriented Programming
Class Coding Basics
Class Inheritance & Polymorphism
Homework #3 Due (April 30th 11:59pm)
Homework #4 Out`
Week #4 Content
Readings: Lutz. Ch. 26-28
Week 5 May 6th & 7th Advance Object-Oriented Programming & Abstract Data Types
Class Inheritance & Polymorphism (cont.)
Abstract Base Classes
Designing Classes Overview
Properties
Homework #4 Due (May 7th 11:59pm)

Homework #5 Out
Week #5 Content
Readings: Lutz. Ch. 29,
Week 6 May 13th & 15th The Python Data Model
Special methods (i.e., dunder)
Decorators
Context Managers
Homework #5 Due (May 14th 11:59pm)
Midterm Review Notes
Week #6 Content
Readings: Lutz. Ch. 30-32, 39.
Week 7 May 20th & 21st Modules, Packages, and Distrubtion
Midterm
Hashtables
Homework #6 Out
Week #7 Content
Week 8 May 27th & 28th Python Scientific Stack
Numeric and Data Processing: pandas, numpy, matplotlib
Homework #6 Due (May 28th @ 11:59pm)
Homework #7 Out
Final Project Out
Week #8 Content
Readings: See Week 8 Slides
Week 9 June 3rd & 4th Python Scientific Stack (cont.) and Software Quality Assurance
Python Scientific Stack: pandas
Python Testing
Exceptions
Homework #7 Due (June 4th @ 11:59pm)
Week #9 Content
Readings: Ch. 15, 21, 33-35
Week 10 (Finals Week Spring 2020) June 10th No class.
Final Project Due (June 10th @ 11:59pm)