Announcements

  • The final exam study guide is posted.
  • The Final exam will be on December 18 from 9AM-12PM in SCI 199.
  • There will be a review session for the final exam on Wednesday, December 10 from 2-4PM in SCI 199.
  • Lab 11 part B has been released. Lab 11 is due Tuesday December 9.
  • Lab 11 part A has been released.

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   DATE   ANNOUNCEMENTS TOPIC & READING LAB
1

Sep 02

  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 0 - C++ Warm-up

Sep 04

 
2

Sep 09

  Object-oriented design in C++ Lab 1 - Image Editor

Sep 11

Drop/Add ends (Sep 12)

3

Sep 16

  Complexity analysis
  • Ch. 4 of Goodrich et al.
  • OR
  • Ch. 3 of Shaffer
Lab 2 - Enigma Machine

Sep 18

 
4

Sep 23

  Lists
  • Goodrich et al.: 3.2

  • PICK ONE:
  • Goodrich et al.: 6.1-6.2
  • Shaffer 4.1
Lab 3 - Algorithm Analysis

Sep 25

 
5

Sep 30

  Stacks and queues
Lab 4 - Spell Checker

Oct 02

 
6

Oct 07

  Sorting Algorithms
  • Goodrich et. al: 11-11.3
  • OR
  • Shaffer: 7-7.2, 7.4-7.5, 7.8
Lab 5 - A-maze-ing Race

Oct 09

Midterm study guide (Oct 10)

 

Oct 14

Fall break

Oct 16

7

Oct 21

Midterm (Oct 22)

Trees
    Either:
  • Goodrich et. al: 7-7.3.3, 7.3.6
  • Goodrich et. al: 10.1
  • OR
  • Shaffer: 5-5.4
Lab 6 - Quicksort

Oct 23

 
8

Oct 28

  Binary Search Trees
  • Goodrich et. al: 10.1-10.2
  • OR
  • Shaffer: 13.2
Lab 7 - Binary Search Tree

Oct 30

 
9

Nov 04

  Balanced Search Trees/slack
  • Goodrich et. al: 8.1, 8.3
  • OR
  • Shaffer: 5.5, 7.6
Lab 8 - Plagiarism Detector

Nov 06

Last day to declare CR/NC
or withdraw with a "W"
(Nov 07)

10

Nov 11

  Priority Queues
  • Goodrich et. al: 8.1, 8.3
  • OR
  • Shaffer: 5.5, 7.6
Lab 9 - Prioritizing Plagiarism Results

Nov 13

 
11

Nov 18

  Dictionaries and Hash Tables
  • Goodrich et. al: 9.1-9.2, 9.5
  • OR
  • Shaffer: 9.4
Lab 10 -- Scrabble Solver

Nov 20

 
12

Nov 25

  Introduction to Graphs
  • Goodrich et. al: 13-13.4 (except C++ implementation)
  • OR
  • Shaffer: 11-11.3
Lab 11A - Graph Algorithms

Nov 27

 
13

Dec 02

  Shortest Paths, Minimum Spanning Trees
  • Goodrich et. al: 13.5, 13.6
  • OR
  • Shaffer: 11.4, 11.5
Lab 11B - Ticket To Ride

Dec 04

Final Exam study guide

14

Dec 09

  Course Recap  
 

Dec 18

Final 9:00am–12:00pm Science Center 199