Suggested 16-Week Lesson Plan

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

Context

2

Hardware, software, and the development environment

Hardware and Software

3

The terminal, shell commands, and running Python scripts

The Terminal

4

Data types, variables, expressions, and basic I/O

Python Data and Operations

5

Basic string operations and string methods

Basic String Operations

6

Decisions and conditional logic

Decisions

7

Defining and calling functions

Defining Functions of Your Own

8

Modules, imports, and variable scope

Modules and Variable Scope

9

Midterm review and assessment. User input: input(), argparse, and reading files

User Input

10

Error handling, exceptions, and defensive programming

Error Handling

11

While loops and interactive programs

While Loops

12

For loops, ranges, and list comprehensions

For Loops

13

Files, paths, and directories

Files, Paths, and Directories

14

Lists and tuples

Lists, Tuples

15

Dictionaries, lists of dictionaries, and dictionary algorithms

Dictionaries, Lists of Dictionaries, Dictionary Algorithms

16

Internet data, APIs, and graphical user interfaces. Final review.

Internet Data, Graphical User Interfaces with Tkinter

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

Classes and Object-Oriented Programming

Testing with pytest

Testing

Recursion

Recursion

Data structures (linked lists, stacks, queues)

Data Structures