Department of Computer Science
Pomona College
CS 051A PO—Intro to Computer Science with Topics in AI
Spring 2020

About the final exam

Special Circumstances for Spring 2020

We're going to be tweaking our format some for the remainder of the semester. In particular, we're switching to a more "learner-centered" model where our implicit "contract" between instructors and students is shifting. We want to make our new arrangement very explicit, but we also want you to have a role in coming up with these terms. So here's our proposal, which we're going to commit some time on Monday March 30th to address and receive feedback on.

We the instructional team commit to the following actions:

During this period, each of us will need to put in extra effort to get as much benefit as possible out of the course. In particular, we ask you the students to commit to these actions:

This isn't what any of us signed up for, but we are confident that we can still provide a high-quality educational experience centered on your needs as students and people. Thank you for working with us to make it as effective as possible.


Lectures: Joe Osborn
Office hours:
Mondays 13:00–15:00
Thursdays 10:00–12:00
and by appointment
Labs: Zilong Ye
Office hours:
Thursdays 14:00–17:00

Lab TAs

Mentor Sessions TBD

Class Information

Class time:
Mondays/Wednesdays 11:00-12:15
Lab time:
Wednesdays 17:00-20:00
Web page:
How to Think Like a Computer Scientist: Interactive Edition. Brad Miller and David Ranum, based on original work by Jeffrey Elkner, Allen B. Downey, and Chris Meyers. It is available online for free. This has some nice interactive exercises you're welcome to do for practice.
Other Information:
Piazza discussion board for questions
Assignment submission
List of all code examples
The official Python tutorial
The official Python documentation including libraries
Installing the software for this class on your computer


Note: This is a tentative schedule and will likely change
Date Topic Reading Assignment Misc
1/22 introduction and functions Ch 1-3 Assignment 1 Lab 1
1/27 turtle, for Ch. 4-4.7
1/29 turtle, for, booleans Remainder of Ch. 4; Ch. 5 Assignment 2 Prof. Osborn's office hours delayed 12/30, 10:30–12:30.
practice 1
2/3 dot syntax and control flow Ch. 7 practice 2
2/5 lists Ch 10-10.6, 10.8 Assignment 3 and starter code practice 3
2/10 nested sequences Ch Ch. 9, 10-10.8 practice 4
2/12 functions in depth, sequence operations Ch 3 (again!), Ch. 6.1-6.7 Assignment 4
2/17 debugging, reading files Appendix (Debugging), Ch 8, 11-11.4 practice 5
2/19 dictionaries Ch. 12 Assignment 5 practice 6
2/24 recursion Ch. 16 practice 7
2/26 contexts, more recursion, sequence comprehensions Ch. 16, Ch. 10.22 Assignment 6 practice 8
3/2 test 1 sample problems
3/4 machine learning, naive bayes handout Assignment 7
3/9 intro ai, neural net basics, handout article (through first column, pg. 36)
3/11 perceptron learning, backpropagation, handout NN lab
3/16–3/20 spring break
3/23–3/27 spring break
3/30–4/3 classes, "object orientation" See notes Assignment 8 (lab video) video 1, code 1, video 2, code 2
4/6–4/10 matrices, evolutionary algorithms See notes Assignment 9 (notes, video) video 1, video 2 (hires), video 2 (zoom)
4/13–4/17 trees, search Assignment 10 (reading ahead to week 12 couldn't hurt) video 1, video 2, search problems
4/20–4/24 informed search, adversarial search About the final exam Assignment 11 video video 1, video 2
4/27–5/1 big-O and runtime analysis, sorting, higher order functions Performance Analysis Lab video video 1, video 2
5/4–5/6 exam prep, the shell and system administration, software as a social process No homework! video 1,video 2

About the final exam.