Depending on how things progress, it may be necessary to alter the following schedule during the course. Please do not assume that the dates and topics are irrevocably set.

Any programming examples done in class will not be posted on the course website. In addition, the test and exam reviews will be done informally in class; they will not be posted either.

Lecture slides will be posted as they become available. Click on the lecture date to download a PDF of the lecture slides.

Week Lecture Date Lecture Topics Assignment Test
1 Jan. 11th Course Administration
Computer Architecture
Operating Systems
Binary Numbers
Boolean Logic
Some Computing History
2 Jan. 18th Machine Code
Programming Languages
Introduction to Python
Data Types
Variables
Operators
A1 posted on Jan. 18th
3 Jan. 25th

Supplemental
Input and Output
Defining Functions
Variable Scope
Programming Style
Test Review
A1 due on Jan. 30th
4 Feb. 1st More on Functions and Variable Scope
Programming Style (from Jan. 25th)
Boolean Operators
Boolean Expressions
Conditions - the if Statement
T1 in tutorial
5 Feb. 8th Repetition - the while Loop
Looping Accessories
A2 posted on Feb. 8th
6 Feb. 15th The slice Operator
Repetition - the for Loop
Collections
More on Programming Style
Test Review
A2 due on Feb. 20th
Winter Break: Feb. 21st-25th
7 Mar. 1st Modular Programming
More on Functions
Keyword and Default Arguments
Exceptions
T2 in tutorial
8 Mar. 8th Raising Exceptions
Working With Strings
A3 posted on Mar. 8th
9 Mar. 15th File I/O
os and sys Modules
Passing By Reference
Dictionaries
Test Review
A3 due on Mar. 20th
10 Mar. 22nd Finding Minimums and Maximums
Timing Code Execution
Searching
Introduction to Sorting
T3 in tutorial
11 Mar. 29th

Demos
More on Sorting
GUIs with tkinter
12 Apr. 5th Guest Lecture: Scott Grant
Other Python Modules
Exam Review