-->Tentative Schedule
-->Quiz 1
-->Lab 1
-->Lab 2
-->Lab 3
-->Lab 4
-->Lab 5
-->Lab 6
->STL Help
->Book Errata
->Course Policies
->Electronic Submission
->Documentation Standards
->Old Exams
->C++ Examples
->MSVC++ Info
->Support Forum
->Unix Info
->Nature Photos

CS285 -- Data Structures

Winter 2003-2004

The course covers fundamentals of data organization and basic algorithms for data manipulation. Topics include arrays, lists, stacks, queues, trees, sets, and hash tables. Fundamentals of algorithm performance are introduced, with an emphasis placed on time complexity analysis. Special emphasis is placed on appropriate use of containers, iterators, and algorithms defined in the C++ standard library. Laboratory assignments involve both the use and implementation of common data structures. (prereq: CS-183) (2-2-3)


On successful completion of this course, the student will:

  • Understand and apply complex data structures and algorithms.
  • Use appropriate algorithms (and associated data structures) to solve complex problems.
  • Have a thorough understanding of the Standard Template Library.
  • Be able to analyze the complexity of algorithms (both sequential and recursive).
  • Understand the use of recursion in problem solving.
  • Be able to use data structures in software design and implementation.
  • Be able to apply the STL in software design.

The above course description and goals were taken from the official course description.

General Course Policies

Please review the general course policies webpage.


Data Structures in C++ Using the Standard Template Library, by Timothy Budd, Addison-Wesley, 1998.


Quizzes will be given nearly every week. They will be announced at least one lecture in advance. The lowest quiz score will be dropped. No make-up quizzes will be given.


Unless stated otherwise, all laboratory assignments will be completed in teams of two. One lab report should be submitted for each team. One week lab assignments will be worth half the points of two week lab assignments.

My Schedule
Time Mon Tue Wed Thu Fri
11:00 CS285 CC53 CS285 CC53 CS285(1) CC53 Lunch w/ Students* Free Hour
12:00 Free Hour Lunch w/ Students* CS183(2) CC48
1:00 DEPT MTG CS183 CC48 CS183 CC48 CS183 CC48
2:00 Office Hour CS182(3) CC48 Office Hour CFARC
3:00 Office Hour
4:00 CS182 CC48 CS182 CC48 CS182 CC48

* I would like to have lunch with you individually or as a group to get to know you better. If we eat in RWJ, housing will pick up my lunch bill. If you would prefer to eat elsewhere, we will each be responsible for our own bill. Feel free to suggest another time if the time above does not work for you.

Quizzes: 15%
Lab projects: 45%
Midterm exam: 15%
Final exam: 25%
Total: 100%

Last Updated: Friday, 02-Jan-2015 09:08:15 CST