Suggested 16-Week Lesson Plan#
The table below maps each week of a standard 16-week semester to one or more chapters in this book. Weeks with heavier content assume two or three class meetings; weeks labeled Midterm or Final assume one meeting is used for assessment.
Week |
Topic |
Chapter(s) |
|---|---|---|
1 |
Course overview, motivation, and environment setup |
|
2 |
Hardware, software, and the development environment |
|
3 |
The terminal, shell commands, and running Python scripts |
|
4 |
Data types, variables, expressions, and basic I/O |
|
5 |
Basic string operations and string methods |
|
6 |
Decisions and conditional logic |
|
7 |
Defining and calling functions |
|
8 |
Modules, imports, and variable scope |
|
9 |
Midterm review and assessment. User input: |
|
10 |
Error handling, exceptions, and defensive programming |
|
11 |
While loops and interactive programs |
|
12 |
For loops, ranges, and list comprehensions |
|
13 |
Files, paths, and directories |
|
14 |
Lists and tuples |
|
15 |
Dictionaries, lists of dictionaries, and dictionary algorithms |
|
16 |
Internet data, APIs, and graphical user interfaces. Final review. |
Advanced and Optional Topics#
The following chapters extend the curriculum beyond the 16-week core. They are suitable for an honors section, a second course, or as enrichment for students who finish early.
Topic |
Chapter |
|---|---|
Classes and object-oriented programming |
|
Testing with |
|
Recursion |
|
Data structures (linked lists, stacks, queues) |