Tentative Syllabus

These are the topics I plan to cover at each lecture. All readings are from the text.

1.Jan 9Course introduction, algorithms, programming§1 
2.Jan 11Introduction to Python; IDLE, PyScripter§1 
3.Jan 13Variables, expressions, simple statements§2 
 Jan 16no class (Martin Luther King, Jr. Day)  
4.Jan 18Turtles and drawing; for loops§3homework #1
5.Jan 20Functions and organizing your program§4 
6.Jan 23Conditionals, booleans, and flow of control§5 
7.Jan 25Conditionals, booleans, and flow of control§5 
8.Jan 27More about functions§6homework #2
9.Jan 30Debugging; review thus far§A 
10.Feb 1Midterm #1  
11.Feb 3Modules§12 
12.Feb 6While loops, more on for loops§7.1–7.9homework #3
13.Feb 8More on using loops§7.10–7.23 
14.Feb 10Recursion§18 
15.Feb 13All about strings§8 
16.Feb 15All about tuples§9homework #4
17.Feb 17All about lists§11 
 Feb 20no class (Presidents’ Day)  
18.Feb 22All about dictionaries§20 
19.Feb 24Searching§14homework #5
20.Feb 27Choosing the right data structure§18 
21.Feb 29Debugging; review thus far§A 
22.Mar 2Midterm #2  
23.Mar 5More about recursion  
24.Mar 7Reading and writing files§13homework #6
25.Mar 9File I/O§13 
26.Mar 12Exceptions and exception handling§19 
27.Mar 14To be arranged  
28.Mar 16To be arranged  
29.Mar 19Review homework #7

Midterm Exam #1: Wednesday, February 1, in class
Midterm Exam #2: Friday, March 2, in class
Final Exam: Wednesday, March 21, 1:00 p.m.–3:00 p.m.

A PDF version is available here.
ECS 10, Basic Concepts of Computing
Winter Quarter 2012