CSSE-230: Datastructures and Algorithm Analysis: Syllabus

Rose-Hulman Institute of Technology
Computer Science Department
Winter 2023/24

Instructor

Michael Wollowski

Prerequisites

CSSE 220 or CSSE 221 with a grade of C or better, and MA 112

Catalog Course Description

This course reinforces and extends students’ ability to independently design, develop, and debug object-oriented software that uses correct, clear, and efficient algorithms and data structures. Students study and implement classical data structures such as list, stack, queue, tree, priority queue, hash table, graph, set, and dictionary. Formal efficiency analysis is used to evaluate the complexity of algorithms for these data structures. Students gain proficiency in writing recursive methods. Students design and implement software individually and in pairs.

Learning Outcomes

Students who successfully complete this course should be able to:
  1. Describe classical data structures (list, stack, queue, tree, priority queue, hash table, graph, set, dictionary) and explain issues involved in implementation choices for each.
  2. Explain classical sorting, graph and tree-balancing algorithms.
  3. Develop empirical and mathematical analyses of the asymptotic worst, best and average case run times of algorithms appropriate for this course.
  4. Justify the choice of an algorithm based on the analysis of several algorithms appropriate for a problem.
  5. Design and implement object-oriented programs competently and independently.
  6. Develop and apply unit test cases.
  7. Implement various data structures, and apply them to medium-sized programming exercises.

Book

We will be using the following book: Data Structures and Problem Solving Using Java, 4/E by Mark Allen Weiss.

Here is a link to the electronic version

Grading

ItemWeight
Written homework. About seven assignments on various topics covered in class. 15%
Exams. Two in-term and a final. 55%
Programming assignments. About seven programming assignments of varying length, including a team project 30%

Please submit your work to appropriate drop-boxes on Moodle. We use the Moodle gradebook to record scores on assignments.

Policies