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.

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 on August 12, 2013 at 4pm.

Lecture materials will be posted on the schedule page. We will see how this works, but my plan is to have you watch the video lectures ahead of an individual meeting with me. My goal is to have weekly 15 minute meetings scheduled with each of you. These could be in person or via Google Hangouts or something similar. You can ask questions during that time. If you don't have any, I'll likely ask you questions.

A podcast of all of the videos for the course is available here.

If it appears that a student is not prepared for the individual meeting, I may require that the student submit their notes taken while watching the lecture videos prior to our meeting.

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


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.


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

Tentative Schedule

Last modified: Friday, 24-May-2013 16:50:25 CDT