Data Structures and Algorithms

Schedule

Course Meetings

What Which When Where Who
Lecture Section 1 9:55am to 11:10am on Tuesdays and Thursdays SCI 199 Zachary Palmer
Lab Section A 2:45pm to 4:15pm on Thursdays Clothier 016 Zachary Palmer
Lab Section B 1:05pm to 2:35pm on Thursdays SCI 256 Charlie Kazer
Lab Section C 2:45pm to 4:15pm on Thursdays SCI 256 Charlie Kazer
Lab Section D 2:00pm to 3:30pm on Fridays SCI 256 Charlie Kazer
Lab Section E 3:45pm to 5:15pm on Fridays SCI 256 Charlie Kazer

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 day 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.

Captured videos of lecture are linked in the calendar below. The corresponding resources created during those lectures can be found in the Lecture Materials.

WEEK DAY ANNOUNCEMENTS TOPIC & READING LABS      TESTS
1

Sep 03

Lecture Notes
Lecture Video

Introduction to C++, Data Structures, & Algorithms

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

Lab 1: Gitting Started in C++

Sep 05

Lecture Notes
Lecture Video

Syllabus Quiz

2

Sep 10

Lecture Notes
Lecture Video

Arrays, Objects, and Memory

  • Goldwasser and Letscher: Ch 7, 8, 12

Sep 12

Lecture Notes
Lecture Video

Valgrind guide

Drop/add ends (Sep 16)

Lab 2: PicFilter

3

Sep 17

Lecture Notes
Lecture Video

Sorting and Big-O Notation

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

Sep 19

Lecture Notes
Lecture Video

Lab 3: Shapes

4

Sep 24

Lecture Notes
Lecture Video

Sep 26

Lecture Notes
Lecture Video

Old Lecture Video

Lists

  • Schaffer: Ch 4 Sec 1

Lab 4: QuickSort and Big-O

Test 1 (Study Guide)

5

Oct 01

Lecture Notes
Lecture Video

Old Lecture Video

Oct 03

Lecture Notes
Lecture Video

VSCode GDB guide

Stacks and Queues

  • Schaffer: Ch 4 Secs 2-3

Lab 5: ASCIImation

6

Oct 08

Lecture Notes
Lecture Video

Oct 10

Lecture Notes
Lecture Video

Induction and Recursive Invariants

  • Schaffer: Ch 3

Lab 6: Maze

Oct 15

Fall Break

Oct 17

7

Oct 22

Lecture Notes
Lecture Video

Binary Trees

  • Schaffer: Ch 5 Secs 1-4

Oct 24

Lecture Notes

Old Lecture Video

8

Oct 29

Lecture Notes
Lecture Video

Balanced Binary Trees

  • Schaffer: Ch 13 Sec 2

Oct 31

Lecture Notes
Lecture Video

CR/NC/W Deadline (Nov 04)

Lab 7: Binary Search Trees

Test 2 (Study Guide)

9

Nov 05

Lecture Notes
Lecture Video

Priority Queues

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

Nov 07

Lecture Notes
Lecture Video

10

Nov 12

Lecture Notes
Lecture Video

Hash Tables

  • Schaffer: Ch 9 Sec 4

Nov 14

Lecture Notes
Lecture Video

Lab 8: Efficient Keyword Search

11

Nov 19

Lecture Notes
Lecture Video

Object-Oriented Design

Nov 21

Graphs and Graph Algorithms

  • Schaffer: Ch 11
12

Nov 26

Lab 9: Inroads

Nov 28

Thanksgiving Break

13

Dec 03

Graphs and Graph Algorithms 

  • Schaffer: Ch 11

Dec 05

Test 3 (Study Guide)

14

Dec 10

Lab on Tues. and Wed. this week

Reference Types and Iterators

Dec 19

Final Exam (9am-12noon in SCI 199)