CS 112 (W '10), Fundamentals of Programming II (Stough)| Lecture | Date | Topics | Assigned / Referenced |
Assignments Due/Comments |
| WEEK
1 |
Chapters 6, 7, 8 -Python review (including recursion) -7.1, 7.2: Graphics -Object-oriented design, Common ops (init, str, cmp, eq) -Abstraction and Abstract Data Types |
|||
| 0 |
M, Jan 11 |
syllabus
Lambert Textbook Website here. What to expect Brief python review (list, tuple, dict, functions, map, filter, reduce) General Exhaustive Python Reference Some useful Python tutorials Putting python on your computer, some instructions: -Windows: save and run this file. -Mac: disk image here. -Unix: use yumex or synaptic (ubuntu) or whatever package manager, get python and python-tools (optional: iPython, scipy, numpy, PIL) |
Problem Set 1 Read/review Chs 6, 7, 8 (Ch 7 is really 7.1-7.2) |
|
| 1 |
W, Jan 13 |
List processing, simple functions, map, filter, reduce OO design introPython.py craps.py (p. 301) |
||
| Th, Jan 14 |
Python coding: listMethods.py (see info on strings and lists, and on manipulating strings) OO: rational.py (complete the definitions, see here) (p. 307) bankAccount.py (complete the class definition) Graphics: turtlegraphics.py ccurve.py (p. 261) |
|
||
| 2 |
F, Jan 15 |
Object-oriented
Programming Inheritance, Polymorphism, inheriting from list people.py vector.py |
Read Chs 8, 11 | |
| WEEK
2 |
Chapters 8, 11 -Object-oriented design -Complexity Analysis (Asymptotics, O-notation, Searching, Sorting) |
|
||
| 3 |
M, Jan 18 |
Object interaction cards.py blackjack.py |
Problem
Set 2 -wordScanner.py -inoperative.txt -mary.txt -job.txt |
Problem Set 1 due today. -drawCircle.py -kochSnowflake.py -listMethods.py -rational.py |
| 4 |
W, Jan 20 |
Asymptotics (best, worst,
average), O-notation Searching - linear on unsorted, linear on sorted, binary testSearch.py |
|
|
| Th, Jan 21 |
Finish binary search Sorting PS2 work. -PS2's WordScanner, implementing __iter__ (Section 16.6.1) |
|
||
| 5 |
F, Jan 22 |
Variations on the
computation of Fibonacci numbers fibonacciPrograms.py Efficient Exponentiation Minimum finding, order statistics |
Read Chapter 11 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 25 |
Sorting - selection,
insertion, analysis of, profiling sortingProfiling.py Quicksort and mergesort |
Problem
Set 3 |
Problem Set 2 due today. -concordance.py |
| 7 |
W, Jan 27 |
Sorting - quick, merge Documentation and Testing |
|
|
| Th, Jan 28 |
PS3 work |
|
|
|
| 8 |
F, Jan 29 |
quicksort, mergesort
analysis O(N) Sorting (!?!) radix.py |
M1 Practice |
Problem Set 3 due today. -sortingTests.py |
| WEEK
4 |
Chapter 13 -Collections, Arrays, Linked Lists |
|||
| 9 |
M, Feb 1 |
review |
|
M1 Practice due IN CLASS. |
| W, Feb 3 |
Midterm 1 today |
Read Chapter 13 | ||
| 10 |
Th, Feb 4 |
M1 review Arrays, Lists (complete the definition) (see here on raising errors) arrays.py |
Problem
Set 4 |
|
| 11 |
F, Feb 5 |
Linked Lists linkedList.py |
Read Chs 14, 15 | |
| WEEK
5 |
Chapters
14, 15 -Stacks (Implementations, Recursion, Arithmetic Evaluation) -Queues (Implementations, Recursion, Priority Queues) |
|||
| 12 |
M, Feb 8 |
Doubly-linked, and
Circular Linked Lists circList.py |
|
|
| 13 |
W, Feb 10 |
Stacks and Queues,
ADTs (interfaces, functionality), implementation |
Problem
Set 5 -calculator.py |
Problem Set 4 due today. -list.py |
| Th, Feb 11 |
Stacks - implementation,
applications, analysis write Stack and Queue __str__. stack.py, define copyStack, reverseStack queue.py, define copyQueue, reverseQueue PS5 discussion - arithmetic expression evaluation |
|
||
| 14 |
F, Feb 12 |
Stacks - depth first
search, recursion iterFib.py - simulating recursion with a stack. basically, doing the work recursion does for you. Queues - breadth-first search |
|
|
| WEEK
6 |
Chapters 14, 15 -Stacks cont. -Queues cont. |
|||
| 15 |
M, Feb 15 |
Queues - applications of |
Problem
Set 6 -linkLister.py |
Problem Set 5 due today. -calculator.py |
| 16 |
W, Feb 17 |
Queues - breadth-first
search coinPuzzle.py |
|
|
| Th, Feb 18 |
linkedStack, listQueue -
comparing stack/queue ADT implementations PS 6 work |
|
||
| 17 |
F, Feb 19 |
Priority Queues priorityQueue.py |
Read Chapter 16 | Problem Set 6 due Monday. -webCrawler.py |
| Washington Break 2/22
through 2/26 |
|
|||
| WEEK
7 |
Chapter 16 -Indexed and Positional Lists, Iterators |
|||
| 18 |
M, Mar 1 |
Indexed and Positional
Lists |
|
|
| 19 |
W, Mar 3 |
Heap storage, disk storage Doubly linked list dblLinkedList.py |
|
|
| Th, Mar 4 |
Doubly linked list
implementation of positional list |
|
|
|
| 20 |
F, Mar 5 |
List sorting |
M2 Practice |
|
| WEEK
8 |
Chapter 17 -17.2, 17.3: Recursion (List Processing, Backtracking) |
|||
| 21 |
M, Mar 8 |
review |
|
M2 Practice due IN CLASS. |
| W, Mar 10 |
Midterm 2 today |
Read Sections 17.2-3 |
|
|
| 22 |
Th, Mar 11 |
Recursive Structures,
list processing recList.py lisplist.py |
Problem
Set 7 -manyqueens.py -grid.py |
|
| 23 |
F, Mar 12 |
Backtracking, Queens
problem tail recursion |
Read Chapter 18 | |
| WEEK
9 |
Chapter 18 -Trees (Search Trees, Heaps and Heapsort, Expression Trees) |
|||
| 24 |
M, Mar 15 |
Recursive decent and
Programming Languages parsers.py Trees |
Problem
Set 8 -huffman.py -poeLetters.txt |
Problem Set 7 due today. |
| 25 |
W, Mar 17 |
Trees, Binary Trees,
Search Trees binaryTree.py |
||
| Th, Mar 18 |
Binary Search Tree: find,
add, remove binarySearchTree.py PS8 work |
|
||
| 26 |
F, Mar 19 |
Heaps, priority queues
and heapsort heap.py |
Read Chapter 19 | |
| WEEK 10 |
Chapter 19 -Sets and Dictionaries/Maps -Hashtables, Chained Hashtables |
|||
| 27 |
M, Mar 22 |
Heaps, priority queues
and heapsort heap.py red/black, AVL and means of avoiding unbalanced trees splayTree.py |
Problem
Set 9 -names.dic -propernames.dic -manywords.dic |
Problem Set 8 due today. -huffman.py |
| 28 |
W, Mar 24 |
List-based Set,
Dict set.py dict.py Hashing |
||
| Th, Mar 25 |
Efficient Dictionary
Access Hashtables (will want primes.py) PS9 |
|||
| 29 |
F, Mar 26 |
Evaluating hash functions
-hashTesting.py |
Read Chapter 20 | |
| WEEK 11 |
Chapter 20 -Graphs |
|||
| 30 |
M, Mar 29 |
review twentyQuestions.py Graphs |
Problem
Set 10 -algorithms.py -model.py -view.py -graph.py |
Problem Set 9 due today. -soundex.py |
| 31 |
W, Mar 31 |
Graphs, rep's of,
traversals of |
||
| Th, Apr 1 |
PS10 work Prim's minimum spanning trees Topological graph sort |
|
|
|
| 32 |
F, Apr 2 |
Dijkstra's single-source shortest paths | ||
| WEEK 12 |
||||
| 33 |
M, Apr 5 |
Finish Graphs More Graph Algorithms |
Practice Final | Problem Set 10 due today. -algorithms.py -graphMatrix.py |
| 34 |
W, Apr 7 |
Image processing images.py swan.png shark.png smokey.jpg aerial.png imageProcessingIntro.py |
|
|
| Th, Apr 8 |
Some image processing
fun. |
|||
| 35 |
F, Apr 9 |
What's next... Review |
Prac. Final due IN CLASS. -listQueue.py |
|
| Final exams from Saturday Apr 10
at 2PM
through Friday Apr 16 at 5PM |