CSCI 121: CS Fundamentals
I

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 2: conditional
execution; if and while
Lecture
1: if and while
Homework 2:
conditionals and loops
Lecture
2: user-defined functions
Week 3: functions and
procedures
Lecture
1: def; return;
None
Homework 3:
functions
Lecture
2: procedures
Project 1:
Roll100
Week 4: lists and
dictionaries
Lecture 1:
lists
Homework 4:
lists
Lecture
2: more on lists
Week 5: dictionaries;
recursion
Lecture
1: lists
Homework 5:
dictionaries
Lecture
2: recursion
• Fibonacci code
• “noisy”
Fibonacci
Project 2:
Ciphers
Week 6: recursion;
object-orientation
Lecture
1: more recursion
• word collapse
code
Homework 6:
Recursion
Lecture 2:
object classes
• sample oo code
Week 7: inheritance;
higher order functions
Lecture
1: inheritance
• Practice midterm 1a and solution
• Practice midterm 1b and solution
Homework 7:
classes
Lecture
2: frames and functions
Week 8: midterm; linked lists
Midterm: midterm exam on Homework 1 through 5
• int, str, float,
bool and their operations
• assignment statements and variable use
• input and print
• defining and calling functions
• if and while
• lists and dictionaries
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