CS35: Data Structures and Algorithms

Schedule

Lecture Hours: 9:55 AM - 11:10 AM on Tuesdays and Thursdays
Lecture Location: Science Center 199
Lab A: Thursday, 1:05pm-2:35pm, Bryce Wiedenbeck, Science Center 240
Lab B: Thursday, 2:45pm-4:15pm, Bryce Wiedenbeck, Science Center 240
Lab C: Thursday, 2:45pm-4:15pm, Ameet Soni, Science Center 256
Office Hours: Mon 2-4 (Ameet); Tue 12:30-2:30, Wed 1-4, Fri 10-12 (Bryce)
Ninja Sessions: Mon/Tue 7-9 (SCI 256)

Calendar

The following is a tentative course calendar; it is subject to change as circumstances dictate.

The readings in the table below refer to the texts on the Resources page. The reading listed for each class covers the same material as that week’s lecture. You should read the material beforehand so that you are prepared to participate and follow along.

Notes and programs from lecture will appear in LECTURE collumn in the schedule below.

WEEK DAY LECTURE READING LAB
1

Jan 22

Tuesday materials

Introduction to C++, Data Structures, & Algorithms

  • Goldwasser and Letscher: Ch 1-6
  • Schaffer: Ch 1

Lab 0: Gitting Started in C++

Jan 24

Thursday materials

2

Jan 29

Tuesday materials

Arrays, Objects, and Memory

  • Goldwasser and Letscher: Ch 7, 8, 12

Jan 31

Thursday materials

Drop/add ends (Feb 01)

Lab 1: PicFilter

3

Feb 05

Tuesday materials

Feb 07

Thursday materials

study guide

Sorting and Big-O Notation

  • Schaffer: Ch 3, Ch 7 Secs 1,2,4,5

Lab 2: iSwat Media Library

Test 1, Feb. 14 (study guide)

4

Feb 12

Tuesday materials

Feb 14

Thursday materials

Test 1 (in lab)

Lab 3: Sorting and big-O

5

Feb 19

Tuesday materials

Lists

  • Schaffer: Ch 4 Sec 1

Feb 21

Thursday materials

Lab 4: ASCIImation

6

Feb 26

Tuesday materials

Stacks and Queues

  • Schaffer: Ch 4 Secs 2-3

Feb 28

Thursday materials

7

Mar 05

Tuesday materials

Induction and Recursive Invariants

  • Schaffer: Ch 3

Mar 07

Thursday materials

Lab 5: Mazes
Test 2, Mar. 21 (study guide)

 

Mar 12

Spring Break

Mar 14

8

Mar 19

Tuesday materials

Binary Trees

  • Schaffer: Ch 5 Secs 1-4

Mar 21

study guide

Thursday materials

Test 2 (in lab)

9

Mar 26

Tuesday materials

Balanced Binary Trees

  • Schaffer: Ch 13 Sec 2

Mar 28

Thursday materials

CR/NC/W Deadline (Mar 29)

Lab 6: Binary Search Trees

10

Apr 02

Tuesday materials

Priority Queues

  • Schaffer: Ch 5 Sec 5, Ch 7 Sec 6

Apr 04

Thursday materials

Lab 7: N-Gram Viewer

11

Apr 09

Tuesday materials

Hash Tables

  • Schaffer: Ch 9 Sec 4

Apr 11

Thyrsday materials

12

Apr 16

Tuesday materials

Graphs and Graph Algorithms

  • Schaffer: Ch 11

Apr 18

test 3 study guide

Thursday materials

Test 3 (in lab)

Test 3, Apr. 18 (study guide)
Lab 8: Scrabble Assistant

13

Apr 23

Tuesday materials

Apr 25

Thursday materials

Lab 9: Railway Game
Final Exam, May. 14 2:00–5:00 (study guide)

14

Apr 30

Tuesday materials

May 02

Reveiw Session

final exam study guide

Final Exam (May 14, 2:00PM)

C++ Language Features