Tentative Course Schedule Winter 2021

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


Week Date Lecture Assignment Resources and Readings
Week 1 January 11th Python Basics (Part 1)
Creating and Running Python Programs
Basic syntax overview: variables, control-flow, and function basics
Sequences: Lists, Tuples, and Strings
Week 1 & 2 Readings: Lutz. Ch. 1-7, Ch 12-13, Ch. 16
Week 2 January 18th
No Class (Martin Luther King Birthday)!
Homework #1 Out Week 1 & 2 Readings: Lutz. Ch. 1-7, Ch 12-13, Ch. 16
Week 3 January 25th & 26th Python Basics (Part 2): 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 (January 26th 11:59pm CT)
Homework #2 Out
Week 1 & 2 Readings: Lutz. Ch. 1-7, Ch 12-13, Ch. 16
Week 4 February 1st & 2nd Advance Functions, Generators, Functional Programming
Advance functions mechanisms: postional vs keyword arguments, scope, closures Generator functions and expressions
Functional programming mechanisms
Homework#2 Due (February 2nd 11:59pm CT)
Homework #3 Out

Readings: Lutz. Ch. 14, 17,18,19,20
Week 5 February 8th & 9th Object-Oriented Programming: Classes
Introduction to Object-Oriented Programming
Class Coding Basics
Class Inheritance & Polymorphism
Homework #3 Due (February 9th 11:59pm CT)
Homework #4 Out

Readings: Lutz. Ch. 26-28
Week 6 February 15th & 16th Advance Object-Oriented Programming & Abstract Data Types
Class Inheritance & Polymorphism (cont.)
Abstract Base Classes
Designing Classes Overview
Properties
Homework #4 Due (February 16th 11:59pm CT)
Homework #5 Out

Readings: Lutz. Ch. 29,
Week 7 February 22nd & 23rd The Python Data Model
Special methods (i.e., dunder)
Decorators
Context Managers
Homework #5 Due (February 23rd 11:59pm CT)
Homework #6 Out
Quarter Exam Review Notes

Readings: Lutz. Ch. 30-32, 39.
Week 8 March 1st & 2nd Python Scientific Stack
Numpy
Pandas
Data Visualization
Homework #6 Due (March 2nd 11:59pm CT)
Quarter Exam (see syallbus for dates)

Week 9 March 8th & 9th Software Quality Assurance
Python Testing
Exceptions
Packages, and Distribution

Final Project Out.
Readings: Ch. 15, 21, 33-35
Week 10 March 15th
No Class!
Final Project Due (March 16th @ 11:59pm CT)