Announcements

  • There will be review sessions for the final exam on (1) Sunday May 11 7-9PM and (2) Monday May 12 7-9PM. In both cases, the review sessions will be in Science Center 256.
  • Final Exam study guide is posted.
  • The Final Exam will be on May 13 at 9AM in Science Center 199. It will be a closed book, closed notes, no calculator exam.
  • Added form for providing anonymous feedback.

Anonymous Feedback

I value any and all feedback. Please feel free to stop by my office, email me at (lastname at cs dot swarthmore dot edu) or submit anonymous feedback.

Schedule

This schedule is tentative and subject to change.

WEEK DAY ANNOUNCEMENTS TOPIC & READING LAB
1 Jan 21   Intro to C++, Data Structures, & Algorithms
  • Ch. 1-6 of Python 2.x to C++
  • PICK ONE:
  • Ch. 1 of Shaffer
  • Ch. 1 of Goodrich et al.: 1.1-1.4 (skip 1.1.3, 1.1.4)
Lab 1 - C++ Warm-up
Jan 23  
2 Jan 28   Object-oriented design in C++ Lab 2 - The Enigma Machine
Jan 30 Drop/Add ends (Jan 31)
3 Feb 04   Object-oriented design in C++ (continued)
  • Goodrich et al.: 1.5-1.7, 2.1-2.2
Lab 3 - Game Engine
Feb 06   Complexity analysis
  • Ch. 4 of Goodrich et al.
  • OR
  • Ch. 3 of Shaffer
4 Feb 11   Lab 4 - Algorithm Analysis
Feb 13 Quiz 1 study guide (Feb 14) Lists
  • Goodrich et al.: 3.2
5 Feb 18 Quiz 1 (in Lab) (Feb 19) Lists (continued)
PICK ONE:
  • Goodrich et al.: 6.1-6.2
  • Shaffer 4.1
Lab 5 - Light-Sabre Linked Lists
Feb 20  
6 Feb 25   Stacks and queues
Lab 6 - A-maze-ing Race
Feb 27  
7 Mar 04   Sorting
  • Goodrich et. al: 11-11.3
  • OR
  • Shaffer: 7-7.2, 7.4-7.5, 7.8
Lab 7 - Sort Detective
Mar 06  
 

Mar 11

Spring break

Mar 13

8 Mar 18 Quiz 2 study guide (Mar 19) Trees
    Either:
  • Goodrich et. al: 7-7.3.3, 7.3.6
  • Goodrich et. al: 10.1
  • OR
  • Shaffer: 5-5.4
Lab 8 - Binary Search Tree
Mar 20  
9 Mar 25 Quiz 2 (in Lab) (Mar 26) Balanced search trees
  • Goodrich et. al: 10.1-10.2
  • OR
  • Shaffer: 13.2
Lab 9 - Plagiarism Detector

Lab 9B - AVLTree
Mar 27 Last day to declare CR/NC
or withdraw with a "W"
(Mar 28)
10 Apr 01   Priority queues
  • Goodrich et. al: 8.1, 8.3
  • OR
  • Shaffer: 5.5, 7.6
Lab 10 -- Prioritizing Plagiarism Results
Apr 03  
11 Apr 08   Dictionaries and hash tables
  • Goodrich et. al: 9.1-9.2, 9.5
  • OR
  • Shaffer: 9.4
Lab 11 - Scrabble Solver
Apr 10 Quiz 3 study guide
12 Apr 15 Quiz 3 (in Lab) (Apr 16) Introduction to graphs
  • Goodrich et. al: 13-13.4 (except C++ implementation)
  • OR
  • Shaffer: 11-11.3
Lab 12A - Graphs
Lab 12B - Ticket To Ride
Apr 17  
13 Apr 22   Shortest paths
  • Goodrich et. al: 13.5
  • OR
  • Shaffer: 11.4
Lab 12C - Ticket To Ride Contest
Apr 24  
14 Apr 29   Minimum Spanning Trees
  • Goodrich et. al: 13.6
  • OR
  • Shaffer: 11.5
May 01 Final Exam study guide