Lecture | Date | Topics | Assigned / Referenced |
Assignments Due/Comments |
WEEK
1 |
Chapters 6, 8 -Python review (including recursion) -Object-oriented design, Common ops (init, str, cmp, eq) -Abstraction and Abstract Data Types |
|||
0 |
M, Jan 10 |
syllabus
Lambert Textbook Website here. Available through sakai. What to expect Brief python review (list, tuple, dict, functions, map, filter, reduce) General Exhaustive Python Reference Some useful Python tutorials - may not be in python3 What is different about python 3? Putting python on your computer, some instructions: -Installing Python 3.1 on Windows and Mac machines: see here. -Unix: depends. |
Read Ch 6 Read Ch 8 |
|
1 |
W, Jan 12 |
List processing, simple functions, map, filter, reduce OO design introPython.py craps.py (Ch. 8, p. 7) |
||
Th,
Jan
13 |
Object-oriented
Programming Python coding: listMethods.py (see info on strings and lists, and on manipulating strings) OO: rational.py (complete the definitions, see here) (Ch. 8, p. 12) bankAccount.py (complete the class definition) |
|
|
|
2 |
F, Jan 14 |
Inheritance,
Polymorphism, inheriting from list people.py vector.py Object interaction cards.py blackjack.py |
Read Ch 11 | |
WEEK
2 |
Chapters 8, 11 -Object-oriented design -Complexity Analysis (Asymptotics, O-notation, Searching, Sorting) |
|
||
3 |
M,
Jan 17 |
Complexity Analysis Searching - linear on unsorted, linear on sorted, binary testSearch.py Asymptotics (best, worst, average), O-notation |
Problem
Set 2 -wordScanner.py -inoperative.txt -mary.txt -job.txt |
Problem Set 1 due today. -listMethods.py -rational.py |
4 |
W, Jan 19 |
Finish binary search -
iterative, recursive versions Sorting - selectionSort, insertionSort ODK/Founders' Day Convocation |
||
Th, Jan 20 |
PS2 work. -PS2's WordScanner, implementing __iter__ (Section 16.6.1) |
|
||
5 |
F, Jan 21 |
Variations on the
computation of Fibonacci numbers fibonacciPrograms.py Efficient Exponentiation Minimum finding, order statistics |
Read Sections 12.2-3 Read Section 17.1 |
|
WEEK
3 |
Chapters 11, 12, 17 -11, 17.1: Recursive Sorting, Complexity Analysis -12.2, 12.3: Documentation and Testing |
|||
6 |
M, Jan 24 |
More on string formatting
here
and here
(in Python 2). Sorting - selection, insertion, analysis of, profiling sortingProfiling.py Mergesort |
Problem Set 3 | Problem Set 2 due today. -concordance.py |
7 |
W, Jan 26 |
Quicksort Quicksort and mergesort analysis |
||
Th, Jan 27 |
Sorting - quick, merge PS3 work |
|
|
|
8 |
F, Jan 28 |
O(N) Sorting (!?!) radix.py Documentation and Testing |
Midterm Review | Problem Set 3 due
today. -sortingCodes.py -mergesort.py -quicksort.py -sortingTests.py |
WEEK
4 |
Chapter 13 -Collections, Arrays, Linked Lists |
|||
M, Jan 31 |
Review |
Midterm Review due IN CLASS -myrange.py |
||
W, Feb 2 |
Midterm 1 today | Read Chapter 13 | ||
9 |
Th, Feb 3 |
M1 review Arrays, Lists (complete the definition) arrays.py |
Problem
Set 4 -list.py |
|
10 |
F, Feb 4 |
Linked Lists linkedList.py |
|
|
WEEK
5 |
Chapter
13 -More on Linked List, Array-based List |
|||
11 |
M, Feb 7 |
Continue on Linked Lists,
implementation, complexity Doubly-linked, and Circular Linked Lists circList.py |
Read Chs 14, 15 | |
12 |
W, Feb 9 |
Stacks and Queues, ADTs (interfaces, functionality), implementation | Problem Set 4 due today. |
|
Th, Feb 10 |
stack.py,
define
copyStack,
reverseStack myQueue.py, define copyQueue, reverseQueue |
|||
13 |
F, Feb 11 |
PS5 discussion - arithmetic expression evaluation | Problem
Set 5 -calculator.py |
|
WEEK
6 |
Chapters 14, 15 -Stacks (Implementations, Recursion) -Queues (Implementations, Recursion, Priority Queues) |
|
||
14 |
M, Feb 14 |
Stacks - depth first
search, recursion iterFib.py - simulating recursion with a stack. basically, doing the work recursion does for you. |
||
15 |
W, Feb 16 |
Queues - applications of,
breadth-first search coinPuzzle.py |
||
Th, Feb 17 |
linkedStack, listQueue -
comparing stack/queue ADT implementations |
|||
16 |
F, Feb 18 |
Continue with listQueue Priority Queues priorityQueue.py |
Problem Set 5 due today. | |
Wash. |
Break |
Washington Break, Feb 21-25 | ||
WEEK
7 |
Parallel Processing |
|||
17 |
M, Feb 28 |
Where we've been, where
we're going Parallel processing -parallelUsingPool.py -parallelIntegration.py |
|
|
18 |
W, Mar 2 |
Documentation on
multiprocessing here. -parallelQuicksort.py More on parallelism: here, and here. |
Problem Set 6 | |
Th, Mar 3 |
PS 6 work: parallel
sumPrimes |
|||
F, Mar 4 |
Science, Society &
the Arts Conference (classes suspended) |
Midterm
2
Practice |
Problem Set 6 due today. |
|
WEEK
8 |
Chapter 17 -17.2, 17.3: Recursion (List Processing, Backtracking) |
|||
M, Mar 7 |
Review |
M2 Practice due IN CLASS. |
||
W, Mar 9 |
Midterm 2 today. |
Read Sections 17.2-3 |
||
19 |
Th, Mar 10 |
Recursive structures,
list processing recList.py lisplist.py |
Problem Set 7
|
|
20 |
F, Mar 11 |
Lisp-like lists Backtracking, Queens problem -manyqueens.py -grid.py Tail Recursion |
Read Chapter 18 |
|
WEEK
9 |
Chapter 18 -Trees (Search Trees, Heaps and Heapsort, Expression Trees) |
|||
21 |
M, Mar 14 |
Start on Trees | ||
22 |
W, Mar 16 |
Trees, Binary Trees,
Search Trees binaryTree.py |
Problem Set 8
-huffman.py -poeLetters.txt |
Problem Set 7 due today. |
Th, Mar 17 |
Binary Search Tree: find,
add, remove binarySearchTree.py PS8 work |
|||
23 |
F, Mar 18 |
Continue with BSTs Huffman Trees and Compression |
Read Chapter 19 |
|
WEEK 10 |
Chapter 19 -Sets and Dictionaries/Maps -Hashtables, Chained Hashtables |
|||
24 |
M, Mar 21 |
List-based Set,
Dict set.py dict.py |
||
25 |
W, Mar 23 |
Hashing Hashtables (will want primes.py) |
Problem Set 8 due today. |
|
Th, Mar 24 |
PS9 | Problem
Set 9 -names.dic -propernames.dic -manywords.dic |
|
|
26 |
F, Mar 25 |
Hashtables continued Evaluating hash functions -hashTesting.py |
||
WEEK 11 |
Chapter 20 -Graphs |
|||
27 |
M, Mar 28 |
Review Heaps, priority queues and heapsort heap.py |
Problem
Set 10 -algorithms.py -model.py -view.py -graph.py |
Problem Set 9 due today. |
28 |
W, Mar 30 |
Graphs, rep's of, traversals of | ||
Th, Mar 31 |
PS10 work Prim's minimum spanning trees Topological graph sort Dijkstra's single-source shortest paths |
|||
29 |
F, Apr 1 |
Class cancelled. |
||
WEEK 12 |
||||
30 |
M, Apr 4 |
Continue with Graphs |
|
|
31 |
W, Apr 6 |
What's next... Review |
Practice
Final |
Problem Set 10 due today. -graph.py -algorithms.py |
Th, Apr 7 |
Image processing fun. images.py swan.png shark.png smokey.gif aerial.png FallColonnade.gif imageProcessingIntro.py |
|
||
F, Apr 8 |
Review |
Prac. Final due IN CLASS. -solutions |
||
Final exams from Saturday
April 9 2PM until Friday, April 15 5PM |
|