|
Week
|
Class Meetings
|
Readings & Homework
|
Handouts, Sample Code, Etc.
|
Week 15 & Finals 12/14–12/19
|
- 12/16: Final Exam 1–3 p.m.
- 12/14: Course wrap-up
Slides [PDF]
|
|
|
Week 14 12/7–12/11
|
- 12/11: Other graph topics
Slides [PDF]
- 12/9: Spanning trees
Slides [PDF]
- 12/7: Introduction to graphs; graph traversals
Slides [PDF]
|
|
|
Week 13 11/30–12/4
|
- 12/4: Tables in various languages (cont’d); external data
Slides [PDF]
- 12/2: Tables in various languages
Slides [PDF]
- 11/30: Hash Tables (cont’d); Prefix Trees
Slides [PDF]
|
|
wordcount_test.txt [Text]
Test input file for Assignment 8, Exercise A
Posted Wed 12/2
usesetalgs.cpp [C++ source]
Example using set algorithms and “exotic” iterators
Posted Wed 12/2
|
Week 12 11/23–11/25
|
- 11/27: No class (Thanksgiving)
- 11/25: Hash Tables
Slides [PDF]
- 11/23: 2-3 Trees (cont’d); other balanced search trees
Slides [PDF]
|
|
|
Week 11 11/16–11/20
|
- 11/20: Notes on Assignment 7;
Heaps & Priority Queues in the C++ STL; 2-3 Trees
Slides [PDF]
- 11/18: Binary Heap algorithms
Slides [PDF]
- 11/16: Introduction to Tables; Priority Queues
Slides [PDF]
|
|
bstree_test.cpp [C++ source]
Test program for class BSTree
Used in Assignment 7, Exercise A
Posted Mon 11/23
heapalgs.h [C++ header]
Header for Binary Heap algorithms
Posted Wed 11/18
- Quiz 9 Solutions [PDF]
Posted Mon 11/16
|
Week 10 11/9–11/13
|
- 11/13: Binary Search Trees; Treesort
Slides [PDF]
- 11/11: Introduction to Trees; Binary Trees
Slides [PDF]
- 11/9: Notes on Assignment 6; Queues
Slides [PDF]
|
- 11/13: Read/skim 539–555 (on Binary Search Tree Algorithms).
- 11/11: Read 512–513 (on Binary Tree Traversals),
536–539 (on Binary Search Trees).
|
|
Week 9 11/2–11/6
|
- 11/6: Stacks
Slides [PDF]
- 11/4: Sequences in the C++ STL
Slides [PDF]
- 11/2: Node-based structures;
more on Linked Lists
Slides [PDF]
|
|
da6_test.cpp [C++ source]
Test program for classes SList, SLStack
Used in Assignment 6, Exercises A & B
Posted Sat 11/7
fibo6.cpp [C++ source]
Computing Fibonacci numbers
Version #6: recursion eliminated (brute force method)
Posted Fri 11/6
rpn.cpp [C++ source]
Reverse Polish Notation expression evaluation
Example application of a Stack
Posted Fri 11/6
- Quiz 8 Solutions [PDF]
Posted Wed 11/4
linked_list.cpp [C++ source]
Linked List example, cont’d
Posted Mon 11/2
|
Week 8 10/26–10/30
|
- 10/30: Allocation & efficiency;
generic containers;
notes on Assignment 5
Slides [PDF]
- 10/28: Exception safety (cont’d)
Slides [PDF]
- 10/26: Basic array implementation; exception safety
Slides [PDF]
|
|
|
Week 7 10/19–10/23
|
- 10/23: Where are we?; data abstraction;
introduction to Sequences; array interface
Slides [PDF]
- 10/21: Midterm Exam
- 10/19: Radix Sort; sorting in the C++ STL
Slides [PDF]
|
|
radix_sort.cpp [C++ source]
Radix Sort using forward iterators
Posted Mon 10/19
pigeonhole_sort.cpp [C++ source]
Pigeonhole Sort using forward iterators
Posted Mon 10/19
|
Week 6 10/12–10/16
|
- 10/16: Comparison sorts III (cont’d)
Slides [PDF]
- 10/14: Comparison sorts III
Slides [PDF]
- 10/12: The limits of sorting;
divide-and-conquer;
Comparison sorts II
Slides [PDF]
|
- 10/12: Read 472–484 (still more of 9.2).
|
|
Week 5 10/5–10/9
|
- 10/9: Comparison sorts I; more on big-O
Slides [PDF]
- 10/7: Introduction to analysis of algorithms (cont’d); introduction to sorting
Slides [PDF]
- 10/5: Recursive search with backtracking (cont’d);
introduction to analysis of algorithms
Slides [PDF]
|
|
|
Week 4 9/28–10/2
|
- 10/2: Recursive search with backtracking
Slides [PDF]
- 9/30: Recursion vs. iteration (cont’d); eliminating recursion
Slides [PDF]
- 9/28: Search algorithms (cont’d);
recursion vs. iteration
Slides [PDF]
|
- 10/2: Read 9.1.
- 9/30: Read 248–250 (beginning of 5.1).
|
nqueen.cpp [C++ source]
Print solutions to the n-Queens Problem
Example of recursive search with backtracking
Posted Fri 10/2
Distributed in class Mon 10/5
Revised Mon 10/5
binsearch4.cpp [C++ source]
Binary Search
Version #3: iterative (tail recursion eliminated)
Posted Wed 9/30
binsearch3.cpp [C++ source]
Binary Search
Version #3: tail-recursive
Posted Wed 9/30
fibo5.cpp [C++ source]
Computing Fibonacci numbers
Version #5: formula
Posted Wed 9/30
Distributed in class Fri 10/2
fibo4.cpp [C++ source]
Computing Fibonacci numbers
Version #4: recursive memoizing
Posted Wed 9/30
Distributed in class Fri 10/2
fibo3.cpp [C++ source]
Computing Fibonacci numbers
Version #3: recursive (return 2 + wrapper)
Posted Wed 9/30
Distributed in class Fri 10/2
fibo2.cpp [C++ source]
Computing Fibonacci numbers
Version #2: iterative
Posted Wed 9/30
Distributed in class Fri 10/2
- Quiz 3 Solutions [PDF]
Posted Wed 9/30
da3_test.cpp [C++ source]
Test program for Assignment 3
Used in Assignment 3, Exercises A–E
Posted Mon 9/28
fibo1.cpp [C++ source]
Computing Fibonacci numbers
Version #1: recursive
Posted Mon 9/28
Distributed in class Fri 10/2
binsearch2.cpp [C++ source]
Binary Search
Version #2: recursive (improved)
Posted Mon 9/28
binsearch1.cpp [C++ source]
Binary Search
Version #1: recursive
Posted Mon 9/28
|
Week 3 9/21–9/25
|
- 9/25: Introduction to Linked Lists; introduction to recursion;
search algorithms
Slides [PDF]
- 9/23: Introduction to exceptions
Slides [PDF]
- 9/21: Containers & iterators; notes on Assignment 2;
error handling
Slides [PDF]
|
|
|
Week 2 9/14–9/18
|
- 9/18: Managing resources in a class (cont’d);
templates
Slides [PDF]
- 9/16: Software engineering concepts: some principles;
managing resources in a class
Slides [PDF]
- 9/14: Software engineering concepts: testing;
simple class example (cont’d);
pointers & dynamic allocation
Slides [PDF]
|
|
|
Week 1 9/8–9/11
|
- 9/11: Software engineering concepts: invariants;
silently written & called functions (cont’d);
simple class example
Slides [PDF]
- 9/9: Software engineering concepts: abstraction;
parameter passing (cont’d);
operator overloading;
silently written & called functions
Slides [PDF]
- 9/7: No class (Labor Day)
|
|
timesec.h [C++ header]
Header for class TimeSec
Example of simple class with operators
Posted Fri 9/11
Distributed in class Mon 9/14
Revised Mon 9/14
timesec.cpp [C++ source]
Source for class TimeSec
Example of simple class with operators
Posted Fri 9/11
Distributed in class Mon 9/14
Revised Mon 9/14
- Quiz 1 Solutions [PDF]
Posted Fri 9/11
birthday_test.cpp [C++ source]
Test program for class Birthday
Used in Assignment 1, Exercise A
Posted Fri 9/11
- Coding Standards
Standards for coding portions of CS 311 assignments
Posted Fri 9/11
silent.cpp [C++ source]
Demo of silently written & called functions
Posted Wed 9/9
Distributed in class Wed 9/9
|
Week 0 9/3–9/4
|
- 9/4: Course overview; the structure of a package; parameter passing
Slides [PDF]
|
|
|