CS35 - Data Structures and Algorithms
Fall 2013


Announcements

  • The Final Exam Study Guide is available. There will be a Final Exam Review Session by the ninjas on Sunday, December 15 from 7-9pm in SC 256.
  • Lab 11: Part B has been released.
  • Lab 11: Part A has been released. Lab 11 is due December 10.
  • The Final Report guide has been posted. Be careful to pay attention to the deadlines.

The instructors for this course value any and all student feedback. If you would like to provide anonymous course feedback, use this submission form here. Please be constructive in any comments so that we can adjust the course as best possible.

This syllabus is a living document; please be aware that many elements on this page will change throughout the semester, including the course schedule. It is the student's responsibility to review this page periodically for updates.

Schedule

For the reading assignments the section numbers are inclusive, so "1.1-1.1.2" means you should read all the sections from 1.1 up to and including section 1.1.2. This is a tentative schedule, it may change as we go.


WEEK DAY ANNOUNCEMENTS TOPIC & READING LAB
1 Sep 03   Intro to C++, Data Structures, & Algorithms
  • Ch. 1-6 of Python 2.x to C++
  • PICK ONE:
  • Ch. 1 of Shaffer (skip 1.3)
  • Ch. 1 of Goodrich et al.: 1.1-1.1.2,
    pg 10(strings), pg 16(using), and 1.2-1.4.1
Lab 0 - C++ Warm-up
Sep 05  
2 Sep 10   Object-oriented design in C++ Lab 1 - Image Editor
Sep 12 Drop/Add ends (Sep 13)
3 Sep 17   Complexity analysis
  • Ch. 4 of Goodrich et al.
  • OR
  • Ch. 3 of Shaffer
Lab 2 - iSwat Media Library
Sep 19  
4 Sep 24 Quiz 1 study guide Lists
  • Goodrich et al.: 3.2-3.2.4

  • PICK ONE:
  • Goodrich et al.: 6-6.1.3; 6.2-6.2.3
  • Shaffer 4-4.1
Lab 3 - Algorithm Analysis
Sep 26  
5 Oct 01 Quiz 1 (in Lab) Stacks and queues
Lab 4 - Light-Sabre Linked Lists
Oct 03  
6 Oct 08   Sorting
  • Goodrich et. al: 11-11.3
  • OR
  • Shaffer: 7-7.2, 7.4-7.5, 7.8
Lab 5 - A-maze-ing Race
Oct 10  
 

Oct 15

Fall break

Oct 17

7 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 - Sort Detective
Oct 24 Quiz 2 study guide
8 Oct 29   Balanced search trees
  • Goodrich et. al: 10.1-10.2
  • OR
  • Shaffer: 13.2
Lab 7 - Binary Search Tree
Oct 31 Quiz 2
9 Nov 05   Priority queues
  • Goodrich et. al: 8.1, 8.3
  • OR
  • Shaffer: 5.5, 7.6
Lab 8A-Plagiarism Detector

Lab 8B - AVLTree
Nov 07 Last day to declare CR/NC
or withdraw with a "W"
(Nov 08)
10 Nov 12   Dictionaries and hash tables
  • Goodrich et. al: 9.1-9.2, 9.5
  • OR
  • Shaffer: 9.4
Lab 9 - Prioritizing Plagiarism Results
Nov 14  
11 Nov 19 Quiz 3 study guide Introduction to graphs
  • Goodrich et. al: 13-13.5 (except C++ implementation)
  • OR
  • Shaffer: 11-11.3
Lab 10 - Scrabble Solver
Nov 21  
12 Nov 26 Quiz 3 (in Lab) Shortest paths
  • Goodrich et. al: 13.6
  • OR
  • Shaffer: 11.4
Lab 11A - Graphs
Lab 11B - Ticket to Ride

Final Written Report

Nov 28

Thanksgiving

13 Dec 03   More graphs
Dec 05  
14 Dec 10 Final study guide Final Report Presentations
 

Dec 17

Final 2:00pm–5:00pm Science Center 199