Contact Information
Textbooks
Course Objectives
This course is a continuation of CS232 Data Structures and Analysis of Algorithms I. The objective of this course is to familiarize the student with the classic data structures and algorithms used in many branches of computer science. Students study abstract data types and objects, linked lists, stacks, queues, graphs and trees. Algorithms for hashing and information retrieval, search and sorting, and pattern matching are discussed in detail. . Students will also extend their knowledge of C++ as well as the application of object oriented design techniques.
Prerequisites
The prerequisite courses are CS112 Introduction to Computer Science I , CS113 Introduction to Computer Science II, CS232 Data Structures and Analysis of Algorithms I.
Course Policy
Attendance at all classes and laboratories is expected, however I understand that a perfect attendance record is difficult to achieve. If you miss a class you are responsible for getting any assignments that may have been made, or if any work is due you must get it to me prior to the class. All homework is due on the date specified (at the beginning of class). Homework turned in late will receive a penalty of 5% per day (unless you have made prior arrangements with me). I expect everyone to take the exams on the scheduled dates, however if you are unable to do so you must make other arrangements with me before the exam is given. I expect that all assignments and exams to represent individual effort. While the amount of time required of the student to successfully complete this course varies from student to student plan on spending at least 10-12 hours per week outside of class.
Reasonable accommodations will be provided for students with documented
physical, sensory, systemic, cognitive, learning and psychiatric disabilities.
If you have a disability and anticipate that you will need a reasonable
accommodation in this class, it is important that you contact Rose Write,
Director of the Academic Support Center, at 617 521-2471, or rose.write@simmons.edu,
early in the semester. Students with disabilities are also encouraged to
contact their instructors to discuss their individual needs for accommodations.
Course Format
We will meet three times a week for lectures and once a week for a lab (we may have lectures or exams during some lab periods). Lab activities will generally be programming assignments. Most programming assignments will require additional time spent outside of the official lab time. Please spend considerable time working on the assignment before lab so that I am able to help you resolve any lingering problems. We will be covering a substantial amount of material each class so I strongly recommend that you read the assigned chapter(s) before the lecture. This preview of the material will help you focus on those areas during the lecture that are not clear to you by asking specific questions. This syllabus is a "living document" and is my best guess on what material will be covered in the course. As we actually cover the material I will update this syllabus to insure you always know what was covered, as well as reading and homework assignments. Therefore, I expect that you will consult these WEB pages frequently (at least once a week). Solutions to all homework problems will be given. If you have any questions after reviewing these solutions please ask them.
Grade Determination
Your final grade will be determined from the weighted average as described above. The average weighted average will be a B and I will then assign letter grades working up and down from the average.
Tentative CS 233 Course Calendar Spring 2002
| Week | Topics | Assignment |
| 1
1/21 |
W, F - Inheritance
- Variation through inheritance |
Handout, Sample programs on inheritance
Read Chapter 9.5 Assignment 1 due Feb 8 |
| 2
1/28 |
M - Variation through inheritance
W, F - Stacks and Queues data abstractions, Adaptors, RPN Calculator M (lab) Assignment 1 |
Read Chapter 10.1-10.3 |
| 3
2/4 |
M, - Stacks Application - RPN Calculator, Infix to Postfix
W, F - Bank Simulation M (lab) - Assignment 1 |
Read Chapter 10.1-10.3 |
| 4
2/11 |
M - Bank Teller Simulation
W - Ring Buffers F - Deques M (lab) - Assignment 2 and 3 |
Read Chapter 10.4
Assignment 2 due Feb 20th |
| 5
2/18 |
M - No class President's Day
W (lab) - Assignment 3 F - Deques |
Read Chapter 10.4
Assignment 3 due March 22 |
| 6
2/25 |
M (lecture time), M (lab time) - Deques - The Deque Abstractions
- Application: Depth and Breadth First Search W, F - (Lab) Assignment 3 (I'll be away at a conference on these two days) |
Read Chapter 11.1, 11.2 |
| 7
3/4 |
M - no class
M (lab in s241) Exam 1 Chapters 9 and 10 W,F - Deques - The Deque Abstractions - Application: Depth and Breadth First Search |
Read Chapter 11.1, 11.2 |
| 8
3/11 |
SPRING BREAK | |
| 9
3/18 |
M - Dequeues An Implementation
W - Sets and Multisets - The Set Data Abstraction - Set Operations M (lab) - Assignment 3 |
Read Chapter 11.4, 12.1, 12.2
Project Requirements |
| 10
3/25 |
M, W, F - Bit Vector Sets
- The Set Data Type - Summary of Operations for Class Set M (lab) Individual Conferences on project proposals |
Read Chapter 12.3, 12.4, 12.5 |
| 11
4/1 |
M,W - Recursion
F - Implementation of Class Set M (lab) - Assignment 4 |
Project Proposal Due 4/1
Read Chapter 12.6 Assignment 4 Due April 5 |
| 12
4/8 |
M,W, F - Implementation of Class Set
M (lab) - Exam 2 (chapters 11 and 12) |
Read Chapter 12.6 |
| 13
4/15 |
M - No Class Patriots day
W - Tres: A Nonlinear Data Structure F (lab) - Project (I will be at a conference) |
Project Design Spec Due 4/17
Read Chapter 13.1 |
| 14
4/22 |
M, W, F - Binary Trees
M (lab) - Project |
Read Chapter 13.2 |
| 15
4/29 |
M, W, F - Tree Traversals
M (lab) - Project |
Project Prototype Due 4/29
Read Chapter 13.4 |
| 16
5/6 |
M (lab) - Exam 3 Chapter 13 | Completed project Prototype Due 5/10 |
| 17
5/13 |
Final Exam Time Slot - Project Presentations Monday May 13, 2002 1 P.M. |
|
| Week | Topics | Assignment |