CS344/EE363 Data Structures and Algorithm DesignCourse Syllabus -- Fall 1997

Instructor: P. Pan
Office: 129 Camp
Phone: x6602
email: panp@sun.soe.clarkson.edu

Office hours: M,W,F 11:00-12:30, or by appointment

Grader: to be announced

Course Description: A foundation course in software engineering with emphasis on algorithms and data structures. Topics include analysis of algorithms, classical data structures, and algorithms for searching, sorting, tree and graph traversal. A variety of programming tasks will be assigned. C++ will be used in lecture presentation and programming tasks.

Prerequisite: EE 261 or equivalent programming experience with C. Credit hours: 3.


  • Data Structures in C++ using the Standard Template Library by Timothy Budd, Addison-Wesley, 1998. (required)
  • C++ Primer by Stanley B. Lippman, Addison-Wesley, 1995. (recommendation).

Course Outline:

  • C++ fundamentals
  • Algorithm analysis
  • Program testing and verification
  • Standard containers: vectors, lists, deques, queues, stacks, priority queues, sets, maps
  • Trees and tree traversals
  • Searching and sorting
  • Hash tables
  • Graphs

Assignments and Examinations

There will be one homework assignment per week. Homework can be either programming or written assignments. Each assignment will be given out on or before Friday each week, and will be due on next Friday before the class begins. No late submission will be accepted.

Programs must be submitted in electronic form (email or disks to be decided later). Programs that do not compile or run to a successful completion do not get any point (so don't submit such programs).

There wil be two in class mid-terms and the final. The dates for the exams will be decided later.

Grading Policy: The weighting scheme will be 10% for written assignments, 30% for programming assignments, 30% for the mid-terms, and 30% for the final. However, you must get half of the points for programming assignments to pass this course.