Part-Time Programs in Engineering and Applied Science, Johns Hopkins University  

Data Structures
605.202


Course Description
This course investigates abstract data types (ADTs), recursion, algorithms for searching and sorting, and basic algorithm analysis. ADTs to be covered include lists, stacks, queues, priority queues, trees, sets, and dictionaries. The emphasis is on the trade-offs associated with implementing alternative data structures for these ADTs. There will be four or five substantial programming assignments. NOTE: This course DOES NOT count toward the Master of Science in computer science degree.

Syllabus

  1. (7:30-10:35pm) Review Object-Oriented Programming and Java Syntax/Semantics
  2. (7:30-10:35pm) Analysis of Algorithms
  3. Stacks, Queues, Linked Lists
  4. Sequences
  5. Trees (Basic Algorithms) (Take Home Mid Term Given)
  6. Trees (Algorithms and Data Structures) (Take Home Mid Term Due)
  7. Priority Queues
  8. Heaps
  9. Huffman Coding and Dictionaries
  10. Alternative Dictionary Implementations
  11. Merge-Sort and Quick-Sort (Take Home Final Given)
  12. Bucket-Sort and Radix-Sort (Take Home Final Due)
Prerequisites
Differential and integral calculus and Java, C++, C, or Pascal programming.

Instructor
John Boon is a part-time Operations Researcher for RAND and is the proprietor of Intelligent Information Analysis, a consulting firm providing integrated mathematics and computer science services. Mr. Boon's areas of expertise are operations research, advanced statistical analysis, systems analysis, and software engineering. Mr. Boon earned undergraduate degrees in mathematics and political science from Virginia Wesleyan College and a M.S. in operations research from the George Washington University. He has been a tenured faculty member at another college and has taught graduate level classes since 1988.

Computer Lab Requirements
Students have fundamental Java programming skills. Students must have an email address and must make that address known to the course instructor as soon as practical after the start of the course. Students may use their own computing resources (hardware/software tools) or may arrange to access the necessary tools through the student services entities of JHU. Class examples will be compiled and processed using JDK 1.2.2-001 (some with JDK 1.3). Students must have access to the Internet, have a web browser and the Acrobat Reader application.

Additional Course Information


Return to Computer Science Courses | Computer Science  | Part-Time Engineering

Summer 2000-01