Fall 2010: Program Design and Data Structures - INFS 519

Matt Revelle, mrevell1@gmu.edu
SWE 510. Students are expected to have experience with basic program design, coding, and debugging. Undergraduate courses or equivalent knowledge in structured programming in a high-level language.
Location and Time
Art & Design Building L008, T 7:20-10:00pm
Michael Main, Data Structures & Other Objects Using JAVA, 3rd ed., Addison-Wesley, 2006.
Course Web Page

General Description

Study of the fundamentals of data structures and algorithms applied in programming solutions to application problems. The course stresses programming in a modern high-level language. Laboratory required.


  • Object-oriented & functional design
  • Generic programming
  • Running time analysis
  • Recursion
  • Linked lists
  • Stacks and queues
  • Sorting
  • Hashing
  • Trees and heaps
  • Binary trees and others
  • Graphs
  • Advanced topics: functional data structures, tries, and others based on class interest


There will be several programming and written assignments. Programming assignments will involve writing working programs in Java that solve assigned problems. Written assignments that involve reasoning about data structures and algorithms may be given.

All assignments will be posted on the course website.

You are encouraged to discuss the course material with other students, but you must do and submit your own work. Any deviation will be considered a violation of the GMU honor code.

CS Department honor code
University honor code

Late programs will be accepted with a 10 points per day late penalty.

You are responsible for keeping backups of your assignments.

There will be two examinations, a midterm and a final.


Course grades will be based on a combination of all assignment and examination grades.


HTML generated by org-mode 6.35i in emacs 23