Lecture Notes

The handouts included in this section were distributed so that students would not have to copy down code during class; they are not intended to stand alone outside of class.


LEC # TOPICS
1 Introduction, stored program computers, flow of control, Python
2 Variables, statements, conditionals, iteration, exhaustive search (PDF)
3 Iteration, strings, printing
4 Functions, recursion, call stacks (PDF)
5 Guess and check, approximate solutions, successive approximation (PDF)
6 Lists and mutability, dictionaries (PDF)
7 Pseudo code, program organization (PDF)
8 Time complexity, divide and conquer, binary search, merge sort (PDF)
9 Divide and conquer, merge sort, exceptions (PDF)
10 Knapsack problems, branch and bound (PDF)
11 Optimization, random walks, simulation (PDF)
12 Monte Carlo simulation, calculating pi (PDF)
13 Pylab, plotting, curve fitting (PDF)
14 Classes and object-oriented programming (PDF)
15 Abstract data types, invariants (PDF)
16 Data abstraction, invariants (PDF)
17 Debugging
18 Curve fitting, probability (PDF)
19 Debugging (cont.) (PDF)
20 Stock simulation (PDF)
21 Stock simulation (cont.) (PDF)
22 Trends in computer science research
23 Review