Data Structures

The topics of arrays, linked lists, stacks, queues, trees, sets, and hash tables are introduced. Fundamentals of algorithm performance are also introduced, with an emphasis placed on time complexity analysis. Laboratory activities include implementation of data structures as well as the application of data structures from standard libraries. (prereq: SE-1021) (3-2-4)


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 problems.
  • have a thorough understanding of commonly used library data structures.
  • be able to analyze the time complexity of algorithms.
  • understand the use of recursion in problem solving.
  • be able to use data structures in software design and implementation.
  • be able to apply standard library data structures in software design.
  • be able to select appropriate data structures for a given application.

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

Online Component

It is anticipated that some students will not be in Milwaukee this summer. I intend to make all of the course material available online so that it is possible to take this course without being on campus for nearly all of the course. All students will be required to take the final exam on campus in August.

Lecture materials will be posted on the schedule page within 24 hours of the lecture (hopefully sooner). I will attempt to make myself available during lab sessions via Google Hangouts or something similar.

General Course Policies

Please review the general course policies webpage.


Data Structures Abstraction and Design Using Java 2nd Ed., by Koffman and Wolfgang, Wiley, 2010. ISBN: 978-0-470-12870-1


Quizzes will be given nearly every at the beginning of lab. The lowest quiz score will be dropped. No make-up quizzes will be given.


All Lab assignments are worth 100 points per week.


Homework assignments will not be graded however, you are expected to complete them by the given due dates. Homework may consist of watching screencasts, assigned reading, completing online surveys, writing code, etc.


This class follows my general attendance policy with the following addition: There may be days where students will not be allowed to attend class unless they have completed an optional homework assignment.

My Schedule

Time Mon Tue Wed Thu Fri
4pm Office
5pm CS2852
Home CS2852
Home Home
7pm Appointments

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


Labs 30%
Quizzes 0%
Exam I 20%
Exam II 20%
Final Exam 30%
Total 100%

Tentative Schedule

Last modified: Thursday, 17-May-2012 16:08:33 CDT