CSCI 121: CS Fundamentals I


Syllabus   •   Schedule   •   Assignments


Weekly Schedule

Below I will be adding lecture materials as the course progresses. These will be lecture slides, code examples, relevant links, and readings. For the readings
• “PP” is Adam Groce’s text Principled Programming,
• “TP” is the Think Python text, and
• “CP” is the Composing Programs text.

I have also drafted a schedule that lays out my sense of what we’ll be covering, how we’ll be covering it, and when.


Week 1: scripting; computing values

Reading: the syllabus on the main page of this site.
Lecture 0: course overview.
Lecture 1: intro to Python.
example code from lecture.
Project 0: set-up.
Homework 1: scripting.
Lecture 2: more Python; conditionals.

Reading: PP Chs. 1.1-1.3; TP Ch. 1 and TP Ch. 2; CP Ch. 1.1 and 1.2


Week 1: scripts; int, float, bool; the if statement

Week 2: loops and iteration

Week 3: functions and procedures

Week 4: lists and dictionaries

Week 5: recursion

Week 6: object-orientation

Week 7: higher order functions

Week 8: linked lists

Spring Break

Week 9: linked lists; searching

Week 10: efficiency, running time, and sorting

Week 11: binary search trees

Week 12: file I/O; exceptions

Week 13: review; evaluation