Syllabus for SE 598, Data Structures and Algorithms

Summer 2000


The course is divided into seven two-week sections:

  1. Introduction

  2. Vectors

  3. Dequeues

  4. Lists

  5. Sets and Multisets

  6. Maps and Multimaps

  7. Container, Iterator, and Generic Algorithm Adaptors

I will try not to change the schedule during the semester, but I make no promises.

Note: The phrase "Sections x through y" means "from the start of Section x up to and including the end of Section y."

24 May - Introduction

Readings
Nyhoff:Chapter 2, Appendix C
Musser and Saini:Chapter 1

Lecture Notes
Introduction to C++
Data structures and algorithms

31 May - Data structures, algorithms, and abstract data types

Readings
Nyhoff:Sections 3.1 through 3.4, Appendix D
Musser and Saini:Chapter 2

Lecture Notes
C++ functions
C++ classes
STL introduction

7 June - STL Vectors

Readings
Musser and Saini:Sections 4.1 through 4.6, Section 6.1

Programming Assignments
Vector programming assignment available.

Lecture Notes
STL vectors
Introduction to generic functions
Iterators Part 1

14 June - Vector implementation, algorithms, and applications

Readings
Nyhoff:Sections 6.1 through 6.4

Lecture Notes
Implementing vectors
Vector algorithms

21 June - STL Dequeues

Readings
Musser and Saini:Sections 5.1 through 5.3, Section 6.2

Programming Assignments
Dequeue programming assignment available.
Vector programming assignment due.
Vector programming assignment example solution.
Vector programming assignment grades.

Test on Vectors
The answers.
The grades.

Lecture Notes
STL dequeues
Generic algorithms Part 1

28 June - Dequeue implementation, algorithms, and applications

Readings
Nyhoff:Chapter 5

Lecture Notes
Implementing dequeues
Dequeue algorithms
Dequeue applications

5 July - STL Lists

Readings
Musser and Saini:Sections 4.7 through 4.13, Section 6.3

Programming Assignments
List programming assignment available.
Dequeue programming assignment due.
Dequeue programming assignment example solution.
Dequeue programming assignment grades.

Test on Dequeues
The answers.
The grades.

Lecture Notes
STL lists
Iterators Part 2

12 July - List implementation, algorithms, and applications

Readings
Nyhoff:Chapter 8

Lecture Notes
Implementing lists
List algorithms
List applications

19 July - STL Sets and Multisets

Readings
Musser and Saini:Sections 5.4 and 5.5, Section 7.1

Programming Assignments
Set and Multiset programming assignment available.
List programming assignment due.
List programming assignment example solution.
List programming assignment grades.

Test on Lists
The answers.
The grades.

Lecture Notes
STL sets and multisets
Generic algorithms Part 2

26 July - Set and Multiset implementation, algorithms, and applications

Readings
Nyhoff:Sections 10.2 through 10.4

Lecture Notes
Implementing sets and multisets
Set and multiset algorithms
Set and multiset applications

2 August - STL Maps and Multimaps

Readings
Musser and Saini:Section 7.2

Programming Assignments
Map and Multimap programming assignment available.
Set and Multiset programming assignment due.
Set and Multiset programming assignment example solution.
Set and Multiset programming assignment grades.

Test on Sets and Multisets
The answers.
The grades.

Lecture Notes
STL maps and multimaps
Iterators Part 3

9 August - Map and Multimap implementation, algorithms, and applications

Readings
Nyhoff:Section 13.4

Lecture Notes
Implementing maps and multimaps
Map and multimap algorithms
Map and multimap applications

16 August - STL Adaptors for Containers, Iterators, and Generic Algorithms

Readings
Musser and Saini:Chapters 8 through 11

Programming Assignments
Map and Multimap programming assignment due.
Map and Multimap programming assignment example solution.
Map and Multimap programming assignment grades.

Test on Maps and Multimaps
The answers.
The grades.

Lecture Notes
Container, iterator, and function adaptors


This page last modified on 18 August 2000.