Computer Science 232
MWF 8:30-9:20 De La Roche 004
Instructor
: David LevineOffice
: De La Roche 103Phone
: 375-2598Office Hours: M 1:30-2:30, T 10-11, W 9:30-10:30, Th 1:30-2:30, F 9:30-10:30 and by appointment
Course Web Page: In general, announcements, readings, assignments, and laboratory exercises for CS 232 will be given in class AND published on the course web page. Students are expected to check that page regularly for news, and are nonetheless responsible for any assignment announced in either manner. The course web page can be found at http://web.sbu.edu/cs/dlevine/CS232/.
Text
:Catalog Description
A study of abstract data types including trees, hash tables, and graphs. A study of the analysis of algorithms, algorithm design techniques, and the study of computational complexity and levels of intractability. Prerequisite: CS 132 AND Math 208. 3 credits.
Course Overview
Computer Science 232 studies the mathematical structures (both algorithms and data structures) that contribute to software efficiency. The course focuses on various well known problems and their various solutions. From these examples, general techniques are drawn out as exemplars of more general problem solving. Students will be expected to master both the mathematical analysis of these solution techniques and to gain experience with their implementations in programs. A mixture of applied and theoretical homework will be assigned.
CS 232 has several goals. At the end of this course, you should be able to:
Course Goals
Program objectives: The learning objectives for this course are to work toward the Computer Science Department SLAP objectives as listed at the Middle States web site (http://assessment.sbu.edu) via the "SLAP Info" button at the right end of the second line, then selecting "Program Learning Goals."
In addition to these general goals, this course has the goal of ensuring that students are capable of writing programs entirely on their own, as opposed to as part of a paired environment. The two multi-stage programming assignments aid in the achievement of this goal.
Attendance
As mature college students, it is expected that all class members can make reasonable decisions about attending class and what constitutes a legitimate excuse for missing class. Roll will not be taken in class (after the roster has stabilized), but students are cautioned that there will be some material covered in class that is not in the textbook and that missing a class may result in their being inadequately prepared for the homework.
In ALL cases, if a student misses class, it is the student's responsibility (and not the instructor's) to learn about pending work and to make arrangements for the timely submission of any assignments.
Services for Students with Disabilities
Students with disabilities who believe that they may need accommodations in this class are encouraged to contact the Disability Support Services Office, Doyle Room 26, at 375-2066 as soon as possible to ensure better that such accommodations are implemented in a timely fashion. Documentation from this office is required before accommodations can be made.Grading
The final grade will be determined by a combination of items as determined by performance on examinations and on written assignments. The final grade will be determined approximately as follows:
| Best five (of eight) quizzes | 25% |
| Final examination | 25% |
| Homework exercises | 25% |
| Programming projects | 25% |
Quizzes
The date of the quizzes are listed on the course web page. While there are no current plans to change these dates, it is possible that they will change. Any changes will be announced in class and on the web page at least one week in advance. As all students may drop three quizzes, no make-up quizzes will be given, even for "excused" absences. Should university commitments require any student to miss more than three quizzes, accommodations will be made provided that the instructor is notified in advance.
Final Examination
The final exam is Monday May 8, at 10:35 a.m. and will be comprehensive.
Collaboration
Students are expected to read and abide by the department’s Academic Practices and Policies, a copy of which will be distributed with the course syllabus. Please review it: Ignorance of the policies and procedures is not an excuse for violating them. Unless other instructions are explicitly stated all graded work will be subject to the policy Individual Project Without Collaboration.
Academic dishonesty in any form will not be tolerated. Typically the first offense will, at a minimum, result in a zero on the assignment in question. Repeated offenses will likely result in a failing grade for the course. Any offense deemed punishable will also be referred to the Dean of Arts and Sciences.
Academic Honesty
Academic dishonesty is inconsistent with the moral character expected of students in a university committed to the spiritual and intellectual growth of the whole person. It also subverts the academic process by distorting all measurements. It is a serious matter and will be dealt with accordingly. A list of unacceptable practices, penalties to be assigned, and procedures to be followed in prosecuting cases of alleged academic dishonesty may be found in the Student Handbook. Further details, including specific information about computer science courses, may be found in the department’s Academic Practices and Policies booklet.Lateness
Late work will be accepted without penalty only under very unusual circumstances. In general, if work is received the day that it was due, but after the deadline, the penalty will be 10%. Work received on subsequent days will be penalized at a rate of 25% per day, subject to a maximum penalty of 75%. Work over two weeks late will not be graded at all, however.
Tentative Schedule
Basically, we will be jumping around in the text, including mixing some sections with others. Below is an approximation of the time that will be spent on various topics. The specific reading assignments will be indicated on the course web page.
Chapters 5, 7 - Analysis of Algorithms | 2 weeks |
Chapter 8 – Sorting | 1 week |
Chapters 6, 16, 17 - Data Structures | 2 weeks |
Chapters 18, 19 - Trees | 2 weeks |
Chapters 6, 21 - Sets and Priority Queues | 2 weeks |
Chapter 20 – Hash Tables | 1 week |
Chapter 14 – Graphs | 2 weeks |
| Chapters 22-24 - Advanced Data Structures | 2 weeks |
| other materials - NP Completeness | 1 week |