Syllabus - CS211

Computer Science 211
Data Structures
Spring 2005

Course Information

Class Meets: Tuesday and Thursday 11:00am-12:15pm
Class Location: CDC 111
Web Page: http://www.mtholyoke.edu/courses/srollins/cs211-s05

Instructor Information

Instructor: Sami Rollins
Office: Clapp 221
Phone: (413) 538-3250
Email: srollins@mtholyoke.edu
Office Hours: (tentative) Tuesday 3pm-4pm, Wednesday 12:30pm-1:30pm, Friday 10am-11am, and by signup/appointment

Pre-requisites

CS 101 - Students should have some knowledge of programming in a high-level language such as C/C++ or Java.

Course Objectives

Required Text

M. Goodrich, R. Tamassia, and D. Mount. Data Structures and Algorithms in C++, John Wiley & Sons, Inc., 2004.
Also, it is highly recommended that you also purchase a C++ reference book.

Grading Information

Grades will be based on homework assignments (approx 1 per week), quizzes (3), and projects (4). Grades will be distributed as follows:
Homework Assignments: 20%
Quizzes: 25%
Project 1: 10%
Project 2: 15%
Project 3: 15%
Final Project 4: 15%
Note: I reserve the right to change the distribution and add assignments as necessary.
Final grades will be assigned as follows:
100 - 93.0 - A
92.9 - 90.0 - A-
89.9 - 87.0 - B+
86.9 - 83.0 - B
82.9 - 80.0 - B-
79.9 - 77.0 - C+
76.9 - 73.0 - C
72.9 - 70.0 - C-
69.9 - 67.0 - D+
66.9 - 63.0 - D
62.9 - 60.0 - D-
59.9 - 0 - F

Course Overview

This course is an intermediate course which teaches students how to implement and use data structures. In addition, this course introduces students to C++ and Object-Oriented Design.

We will cover the following topics:
Week Number Topic
Week 1 Introduction/Review of C/C++ - Chapter 1
Week 2 C++/Introduction to Classes - Chapter 1/ Chapter 2
Week 3 C++ Classes/Object-Oriented Design - Chapter 2
Week 4 OOD/Running Time Analysis - Chapter 2/Chapter 3
Week 5 Quiz 1/Running Time Analysis - Chapter 3
Week 6 Recursion/Linked Lists - Chapter 4
Week 7 Linked Lists/Stacks - Chapter 4
Week 8 Queues - Chapter 4
Week 9 Vectors/Review - Chapter 5
Week 10 Quiz 2/Trees - Chapter 6/Chapter 9
Week 11 Trees/Heaps - Chapter 6/Chapter 9/Chapter 7
Week 12 Heaps/Hash Tables/Review - Chapter 7/Chapter 8
Week 13 Quiz 3/Review
Week 14 Final Project

Reading will be assigned on a weekly basis. The homework portion of your grade will be based on review questions from the reading. Questions will be due at the beginning of most Thursday classes. Because we may discuss solutions to the assignments, late homework assignments will not be accepted. There will be no exceptions to this rule.

The quiz portion of your grade will be based on quizzes administered throughout the semester. You are responsible for being in class on the day of the quiz. Make-up quizzes will be given only in the case of a medical emergency.

The project portion of your grade will be based on four substantial programming projects assigned throughout the semester. A project assignment submitted on time is eligible for full credit. A project assignment submitted late by 1 week or less is eligible for a maximum of 80%. A project assignment submitted more than 1 week late is not eligible for credit. Extensions will be granted only in the case of a medical emergency or other extraordinary circumstances which can be verified by your dean.

ALL assignments are to be completed individually unless specified, in writing, on the assignment. Academic dishonesty will NOT be tolerated. This is your warning! Students are encouraged to meet with me if they have questions regarding assignments or this policy. Students caught cheating will face severe penalty. Please see: this web page for a discussion of the policies we will follow with respect to academic dishonesty.


Sami Rollins