Syllabus - CS211

Computer Science 211
Data Structures
Fall 2005

Course Information

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

Instructor Information

Instructor: Sami Rollins
Office: Clapp 221
Phone: (413) 538-3250
Email: srollins@mtholyoke.edu
Office Hours: (tentative) Tuesday 1:30-2:30pm, Wednesday 12:30-1:30pm, Friday 10-11am, and by 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.

Grading Information

Grades will be based on homework assignments (approx 1 per week), quizzes (3), and projects (3). Grades will be distributed as follows:
Homework Assignments: 30%
Quizzes: 20%
Project 1: 15%
Project 2: 15%
Project 3: 20%
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 that 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 Thursday classes. Because we may discuss solutions during class, 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 or other extraordinary circumstances that can be verified by your dean.

The project portion of your grade will be based on three substantial programming projects assigned throughout the semester. In some cases, an 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 that 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