CS 112 (F '10), Fundamentals of Programming II (Stough)| Lecture | Date | Topics | Assigned / Referenced |
Assignments Due/Comments |
| 0 |
F, Sep 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 Sec. 7.1-7.2 Read Ch 8 |
|
| 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 |
|||
| 1 |
M, Sep 13 |
List processing, simple functions, map, filter, reduce OO design introPython.py craps.py (Ch. 8, p. 7) |
|
|
| 2 |
W, Sep 15 |
Object-oriented
Programming Inheritance, Polymorphism, inheriting from list people.py vector.py |
Read Chs 8, 11 | |
| Th, Sep 16 |
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) Graphics: Turtle graphics - see here. ccurve.py (Ch. 7, p. 10) turtle.cfg |
|||
| 3 |
F, Sep 17 |
Continue on OO, Graphics Preview Complexity Analysis |
||
| WEEK
2 |
Chapters 8, 11 -Object-oriented design -Complexity Analysis (Asymptotics, O-notation, Searching, Sorting) |
|
||
| 4 |
M, Sep 20 |
Inheritance, Polymorphism people.py vector.py Object interaction cards.py blackjack.py |
Problem
Set 2 -wordScanner.py -inoperative.txt -mary.txt -job.txt |
Problem Set 1 due tmrw. -listMethods.py -rational.py -drawCircle.py -kochSnowflake.py |
| 5 |
W, Sep 22 |
Asymptotics (best, worst,
average), O-notation Searching - linear on unsorted, linear on sorted, binary testSearch.py |
|
|
| Th, Sep 23 |
Finish binary search Sorting PS2 work. -PS2's WordScanner, implementing __iter__ (Section 16.6.1) |
|
||
| 6 |
F, Sep 24 |
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 |
|||
| 7 |
M, Sep 27 |
More on string formatting
here
and here
(in Python 2). Sorting - selection, insertion, analysis of, profiling sortingProfiling.py Quicksort and mergesort |
Problem
Set 3 |
Problem Set 2 due today. -concordance.py |
| 8 |
W, Sep 29 |
Sorting - quick, merge Documentation and Testing |
|
|
| Th, Sep 30 |
PS3 work |
|
|
|
| 9 |
F, Oct 1 |
quicksort, mergesort
analysis O(N) Sorting (!?!) radix.py |
Midterm
Review |
Problem Set 3 due today. -sortingCodes.py -mergesort.py -quicksort.py -sortingTests.py |
| WEEK
4 |
Chapter 13 -Collections, Arrays, Linked Lists |
|||
| M, Oct 4 |
Review |
|
Midterm Review due IN CLASS -myrange.py |
|
| W, Oct 6 |
Midterm 1 today |
Read Chapter 13 | ||
| 10 |
Th, Oct 7 |
M1 review Arrays, Lists (complete the definition) arrays.py |
Problem
Set 4 -list.py |
|
| 11 |
F, Oct 8 |
Linked Lists linkedList.py |
Read Chs 14, 15 | |
| WEEK
5 |
Chapter
13 -More on Linked List, Array-based List |
|||
| 12 |
M, Oct 11 |
Continue on Linked Lists,
implementation, complexity |
|
|
| 13 |
W, Oct 13 |
Doubly-linked, and
Circular Linked Lists circList.py Stacks and Queues, ADTs (interfaces, functionality), implementation |
Problem Set 4 due today. |
|
| Th, F Fall Reading Days |
Read Chs 14, 15 | |||
| WEEK
6 |
Chapters 14, 15 -Stacks (Implementations, Recursion, Arithmetic Evaluation) -Queues (Implementations, Recursion, Priority Queues) |
|
||
| 14 |
M, Oct 18 |
Stacks and Queues, ADTs (interfaces, functionality), implementation | Problem
Set 5 -calculator.py |
|
| 15 |
W, Oct 20 |
Stacks - implementations,
applications, analysis write Stack and Queue __str__. |
||
| Th, Oct 21 |
stack.py, define
copyStack, reverseStack myQueue.py, define copyQueue, reverseQueue PS5 discussion - arithmetic expression evaluation |
|||
| 16 |
F, Oct 22 |
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
7 |
Chapters
14, 15 -Stacks, Queues, continued |
|||
| 17 |
M, Oct 25 |
Queues - applications of,
breadth-first search coinPuzzle.py |
Problem
Set 6 -linkLister.py |
Problem Set 5 due today. |
| 18 |
W, Oct 27 |
linkedStack, listQueue - comparing stack/queue ADT implementations | ||
| Th, Oct 28 |
Continue with listQueue PS 6 work |
|||
| 19 |
F, Oct 29 |
Priority Queues priorityQueue.py |
Midterm
2
Practice |
Problem Set 6 due today. |
| WEEK
8 |
Chapter 17 -17.2, 17.3: Recursion (List Processing, Backtracking) |
|||
| M, Nov 1 |
Review |
M2 Practice due IN CLASS. |
||
| W, Nov 3 |
Midterm 2 today. |
Read Sections 17.2-3 |
||
| 20 |
Th, Nov 4 |
Recursive structures,
list processing recList.py lisplist.py |
Problem Set 7
|
|
| F, Nov 5 |
Lisp-like lists |
Read Chapter 18 |
||
| WEEK
9 |
Chapter 18 -Trees (Search Trees, Heaps and Heapsort, Expression Trees) |
|||
| 22 |
M, Nov 8 |
Backtracking, Queens
problem Tail Recursion Start on Trees |
||
| 23 |
W, Nov 10 |
Trees, Binary Trees,
Search Trees binaryTree.py |
Problem Set 8
-huffman.py -poeLetters.txt |
Problem Set 7 due today. |
| Th, Nov 11 |
Binary Search Tree: find,
add, remove binarySearchTree.py PS8 work |
|||
| 24 |
F, Nov 12 |
Continue with BSTs Huffman Trees and Compression |
Read Chapter 19 |
|
| WEEK 10 |
Chapter 19 -Sets and Dictionaries/Maps -Hashtables, Chained Hashtables |
|||
| 25 |
M, Nov 15 |
Prof. Levy on Trees and
Search |
||
| 26 |
W, Nov 17 |
List-based Set,
Dict set.py dict.py Hashing |
Problem Set 8 due today. |
|
| Th, Nov 18 |
Efficient Dictionary
Access Hashtables (will want primes.py) PS9 |
Problem
Set 9 -names.dic -propernames.dic -manywords.dic |
|
|
| 27 |
F, Nov 19 |
Hashtables continued Evaluating hash functions -hashTesting.py |
||
| Nov 22-26 Thanksgiving Holiday |
Read Chapter 20 |
|
||
| WEEK 11 |
Chapter 20 -Graphs |
|||
| 28 |
M, Nov 29 |
Review Heaps, priority queues and heapsort heap.py |
Problem
Set 10 -algorithms.py -model.py -view.py -graph.py |
Problem Set 9 due today. |
| 29 |
W, Dec 1 |
Finish Heaps Graphs, rep's of, traversals of |
||
| Th, Dec 2 |
PS10 work Prim's minimum spanning trees |
|||
| 30 |
F, Dec 3 |
Topological graph sort Dijkstra's single-source shortest paths |
||
| WEEK 12 |
||||
| 31 |
M, Dec 6 |
Continue with Graphs |
|
|
| W, Dec 8 |
What's next... Review |
Practice
Final |
Problem Set 10 due today. -graph.py -algorithms.py |
|
| Th, Dec 9 |
Image processing fun. images.py swan.png shark.png smokey.gif aerial.png FallColonnade.gif imageProcessingIntro.py |
|
||
| F, Dec 10 |
Review |
Prac. Final due IN CLASS. | ||
| Final exams from Saturday
Dec 11
at 2PM
through Friday Dec 17 at 5PM. |