In lieu of a course textbook, assigned readings are mainly the Notes and Examples from lecture. It is a good idea to skim the assigned reading before the lecture for the main ideas, attend lecture, and then to go through the assigned reading again to fill in the details that you missed, both in your initial skim of the reading and in the lecture.
Date |
Lecture Topics |
Readings |
Assigned Work |
Week 1 |
Lectures |
- Course introduction
- The importance of natural curiosity
- Experimentation in a running Python shell
- Dictionaries as a recurring theme in Python
- Scopes and namespaces
- Shadowing and the LEGB rule
- Module importation
- How different ways to import behave differently
- Importation in non-global scopes
- Importation vs. loading
- Classes and objects
- Attributes in objects
- Attributes in classes
- Static and class methods
- Positional and keyword arguments
- Packing and unpacking
- Default arguments
- Tuple-packing parameters
- Keyword-only and positional-only parameters
- Dictionary-packing parameters
|
|
|
Tu 4/1 |
|
|
|
F 4/4 |
|
|
- Lab sections begin meeting today
|
Week 2 |
Lectures |
- Context managers and the
with statement
- Examples of existing context managers in Python
- Writing one's own context managers
- Asymptotic analysis
- O-notation
- The limitations of O-notation
- "Closest-fit" O-notation
- Measuring time and memory
|
|
|
W 4/9 |
|
|
|
F 4/11 |
|
|
|
Week 3 |
Lectures |
- Searching
- The mechanics of Python lists
- Sequential search
- Binary search
- Best-, worst-, and average-case analysis
- Databases and persistence
- Relational databases
- Tables, rows, and columns
- Primary keys
- Relationships and foreign keys
|
|
|
F 4/18 |
|
|
|
Week 4 |
Lectures |
- SQL and SQLite
- Creating tables in SQL
- Querying data using SQL's
SELECT
- Modifying data using SQL's
INSERT and UPDATE
- Removing data using SQL's
DELETE
- The meaning of
NULL in SQL
- Constraints and data integrity
- Relationships and joins
- List comprehensions
- Set comprehensions
- Interlude: What does it mean to be hashable?
- Dictionary comprehensions
|
|
|
W 4/23 |
|
|
|
Week 5 |
Lectures |
|
|
|
M 4/28 |
|
|
|
Week 6 |
Lectures |
|
|
|
W 5/7 |
|
|
|
Week 7 |
Lectures |
|
|
|
Week 8 |
Lectures |
|
|
|
Week 9 |
Lectures |
|
|
|
M 5/26 |
- University Holiday: Memorial Day — NO LABS TODAY
|
|
|
Week 10 |
Lectures |
|
|
|
Finals Week |
Th 6/12 |
- FINAL EXAM (Lecture A): 4:00pm-6:00pm, EH 1200
- FINAL EXAM (Lecture B): 7:00pm-9:00pm, EH 1200
|
|
|