Tentative Syllabus

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

Please notice this is a tentative syllabus. It may change as the class progresses. If you have any special topics you would like to see me cover, please let me know. I won’t promise to cover them, but I will try to.

lecture #datetopicreading
1.   Mon, Jan  8   Introduction to programming   §1
2.   Wed, Jan 10  Variables, expressions, statements   §2.–2.9
 Mon, Jan 15  University holiday: Martin Luther King, Jr. Day
3.   Wed, Jan 17  Input and output, type conversion   §2.10–2.13, 4.3
4.   Mon, Jan 22  Conditional statements, exception handling   §3
5.   Wed, Jan 24  Built-in functions, library functions   §4.1, 4.2, 4.4–4.5
6.   Mon, Jan 29  Writing your own functions   §4.6–4.12
7.   Wed, Jan 31  While and for loops, iteration   §5
8.   Mon, Feb 5  Strings and methods   §6
9.   Wed, Feb 7  Recursion
10.   Mon, Feb 12  File I/O   §7
11.   Wed, Feb 14  All about lists   §8
 Mon, Feb 19  University holiday: President’s Day
12.   Wed, Feb 21  Lists and dictionaries   §9
13.   Mon, Feb 26  Lists, dictionaries, and tuples   §10
14.   Wed, Feb 28  to be arranged
15.   Mon, Mar 5  More about recursion
16.   Wed, Mar 7  Advanced exception handling
17.   Mon, Mar 12  Special topic: XML and python   §13
18.   Wed, Mar 14  Special topic: SQL databases and python   §14

Homework Due Dates

  1. Homework 1: due Tuesday, January 23, 2018 at 11:59 p.m.
  2. Homework 2: due Tuesday, February 6, 2018 at 11:59 p.m.
  3. Homework 3: due Thursday, February 22, 2018 at 11:59 p.m.
  4. Homework 4: due Tuesday, March 6, 2018 at 11:59 p.m.
  5. Project: due Monday, March 19, 2018 at 12:30 p.m.

Matt Bishop
Department of Computer Science
University of California at Davis
Davis, CA 95616-8562 USA
Last modified: Version of January 6, 2018 at 4:37PM
Winter Quarter 2018
You can get a PDF version of this