CSSE-230: Datastructures and Algorithm Analysis: Syllabus
Rose-Hulman Institute of Technology
Computer Science Department
Spring 2024/25
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:
- Describe classical data structures (list, stack, queue,
tree, priority queue, hash table, graph, set, dictionary) and explain
issues involved in implementation choices for each.
- Explain classical sorting, graph and tree-balancing algorithms.
- Develop empirical and mathematical analyses of the asymptotic
worst, best and average case run times of algorithms appropriate for
this course.
- Justify the choice of an algorithm based on the analysis of
several algorithms appropriate for a problem.
- Design and implement object-oriented programs competently and
independently.
- Develop and apply unit test cases.
- 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
Item | Weight
|
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
- Learning is not a spectator sport! We will have many active
learning assignments in class and I will ask for volunteers (or
may volunteer students) to answer questions I pose in class.
- Play nice with others policy. We try to learn together and
from each other. As such, let us all contribute towards creating a
welcoming learning environment. Please treat everyone invilved in this
course, fellow students, lab assistants and instructor with utmost respect.
- Students who do not engage with the class or the materials may be
asked to drop the course. Alternatively, their course grade may be
lowered. Students who actively participate in class will receive a
higher course grade, if possible. The Rose-Hulman
attendance policy is in effect for this course. Among others, it
states that "A student whose total absences in a course, excused or
unexcused, exceed two per credit is liable to fail the course."
- If you feel unwell, for whatever reason, please be a hero and DO
NOT come to class. Just send me an email before class and I will turn
on Teams. I also have sort videos on the various subjects that you can
find on the dialy outlines.
- Submission policy. This is a fast paced course in which
materials build on each other. A great way to learn about some of the
concepts we discuss in class is by implementing them. It is pertinent
that you do not get behind.
- You must have a passing average on the exams in order to pass the
course.
- Poor performance on the exams may lower your course grade beyond
what results from the calculated score. Excellent performance on the
exams may increase your course grade beyond what results from the
calculated score.
- You are responsible for all announcements made in class, posted on
this web-site and sent by e-mail. If you cannot make it to class,
please ask one of your classmates about any announcements that may
have been made.
- Academic integrity policy. Basically, all the work you turn
in must be your own. Please familiarize yourself with
the departmental Academic Integrity Policy. It is in effect
for this course. Academic misconduct on an exam will result in an F in
the course and an entry in your permanent student file which the Dean
of Students keeps. Academic misconduct on any other assignment will
result in at least negative points for the assignment and possibly an
F in the course as well as an entry in your permanent student file
which the Dean of Students keeps. This policy applies to all parties
involved in the academic misconduct. I will use plagiarism detection
tools. And yes, asking your favorite LLM based-tool to do your
homework for you is plagiarism too.
- While we hope you feel comfortable speaking with any faculty in
the department, if you have a concern and are not sure where to go,
the following CSSE faculty have volunteered to be ombudsmen for the
department: Sid Stamm (F216), Amanda Stouder (F222), Kim Tracy (D216)
and Robert Williamson (F205).