Course: CS‑285
FUNDAMENTALS OF DATA STRUCTURES
(Section 3)
Lecture: M, F: 4:00pm –
4:50pm (CC-49)
Lab: Wed:
3:00pm – 4:50pm (CC-49)
Instructor: Dr. Jeff Blessing
Email: blessing@msoe.edu
Office: CC‑27a
Hours: M, W, Th, F: 2:00pm – 2:50pm and by appointment
Phone: 277‑7194
Text: Data Structures in C++ Using the Standard Template
Library
by Timothy Budd, Addison-Wesley, 1998.
Objective: This
course introduces fundamental concepts in Data Structures and Algorithm
Design. Emphasis in this course will be
placed on learning the C++ Standard Template Library (STL). Time complexity and analysis of algorithms
will also be covered, along with temporal and spacial analysis of data storage
techniques. It is assumed that the
student is already familiar with the C++ language and has successfully
completed at least one Algebra course.
(Prerequisite: CS-182, CS-183)
Grading: Weekly Quizzes 40%
Programming
Assignments 30%
Final (week 11) 30%
No incomplete grades or makeup exams will be
given (without very extenuating circumstances)
Attendance: Although
not reflected in the grading for this course, attendance is strongly
encouraged. If chronic absenteeism is a
problem, attendance will be taken. Exam
material will come from both the text and class discussions. Students will NOT be automatically dropped
from the roster if 3 successive classes are missed.
Late
Policy: Assignments are due at the beginning of the
class period that was designated as their due date. A 10% penalty will be assessed for each day an assignment is
late.
Topics: Abstract Data Types (C++ review)
Time Complexity of
Programs
Recursive Procedures
& Functions
Strings, Lists, Stacks,
Queues
Sorting Algorithms
(Heapsort, Quicksort, Mergesort)
Lower Bounds on Sorting
Trees & Binary Trees
Hashing
Sets & Multi-sets
Maps & Multi-maps
Graph Algorithms: (if time)
Graph
Representation
Shortest
Path Problems
Spanning
Trees
Circuits
& Cycles
Directed
& Undirected Graphs