Syllabus - CS211

Computer Science 211
Data Structures
Fall 2004

Course Information

Class Meets: Monday and Wednesday 11:00am-12:15pm
4th Hour Meets: Friday 11:00am-11:50am -- Required unless you have made alternate arrangements with me.
Class Location: 402 Clapp
4th Hour Location: G06 Kendade
Web Page:

Instructor Information

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


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 (4-5), 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 Break/Recursion - Chapter 4
Week 7 Linked Lists - Chapter 4
Week 8 Stacks/Queues - Chapter 4
Week 9 Quiz 2/Queues - Chapter 4
Week 10 Vectors/Lists/Sequences - Chapter 5
Week 11 Quiz 3/Trees - Chapter 6/Chapter 9
Week 12 Trees/Break - Chapter 6/Chapter 9
Week 13 Heaps - Chapter 7
Week 14 Quiz 4/Hash Tables/Graphs - Chapter 8/Chapter 12
Week 15 Catch-up -- 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 Wednesday classes and will be discussed during 4th hour on Friday. Because we will discuss solutions on Friday, 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. Projects will be due during 4th hour on Fridays and a demonstration and oral explanation of the project will be a portion of your project grade. 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