Syllabus — COMP 2450
(Draft — to be filled in with official department language, office hours, academic integrity policies, etc.)
Course description
Data Structures & Algorithms in C++. Students implement and use abstract data types (lists, stacks, queues, trees, heaps, hash tables), analyze algorithmic efficiency (Big-O), and develop recursive and iterative algorithms — all in the context of a semester-long text-based dungeon crawler project.
Prerequisites
Prior experience with C++ covering: data types, conditions/loops, functions, vectors, multi-dimensional arrays, classes, pointers, dynamic memory, and files.
Learning outcomes
By the end of this course, students will be able to:
- Reason about abstract data types independently of their implementation.
- Analyze the time and space complexity of algorithms using Big-O, Ω, and Θ notation.
- Implement common data structures from scratch: arrays, linked lists, stacks, queues, trees, BSTs, heaps, hash tables.
- Use the C++ Standard Library’s containers, iterators, and algorithms effectively.
- Apply recursion, divide-and-conquer, and iteration to problem-solving.
- Design and build a multi-module C++ program using templates, memory management, and exceptions.
Required materials
- ZyBook: HARDING COMP 2450. Access required — used for assigned readings and participation/lab activities.
- C++ compiler:
g++(MinGW or via WSL on Windows; native on macOS/Linux) or Microsoft Visual C++. - Editor: VS Code with C/C++ extension recommended.
Grading (placeholder — adjust to your policy)
| Component | Weight |
|---|---|
| ZyBook participation & challenge activities | 10% |
| Labs (weekly) | 20% |
| Semester project (dungeon crawler, incremental) | 25% |
| Four midterm exams (boss fights) | 30% |
| Final exam | 15% |
Schedule
See the dungeon map for the week-by-week floor plan.
Meeting pattern
MWF, 50 minutes per session.
Policies
(To be filled in: attendance, late work, academic integrity, accommodations, Harding-specific language.)