CS 35: Algorithms and Object-Oriented Computing
Computer Science Department
Swarthmore College
Spring 2004
Professor: Richard Wicentowski
Email address: richardw@cs.swarthmore.edu
Office: Sproul 35
Telephone: (610) 690-5643
Office hours: Wednesday 9:30-11:30, and by appointment
Course web page: http://www.cs.swarthmore.edu/~richardw/cs35
Required text:
Weiss, Data Structures and Problem Solving Using Java, 2nd edition. (ISBN 0-201-74835-5)
In addition, you will likely find various online sources helpful. Links to these sources are available on the course web page.
Course description:
This course completes the broad introduction to computer science begun
in CS 21 and CS 22. It provides a general background for further
study in the field. Topics to be covered include object-oriented
programming in Java, advanced data structures (including priority
queues, trees, hash tables, and graphs) and algorithms, software
design and verification.
Grading:
|
15% |
First Exam |
|
15% |
Second Exam |
|
20% |
Final Exam |
|
45% |
Homework and Lab Assignments |
|
5% |
Class Participation and Attendance |
- Exams:
- There will be two in-class exams and a final exam.
- The date of the first in-class exam is likely to be held Tuesday, February 24.
- The second exam will be held on Thursday, April 8.
- The final exam will be held during exam week.
- Homework and Lab Assignments:
- In general, homework assignments will be distributed on Tuesdays
and will be due by midnight the following Monday.
- Lab assignments will be done in class the day that they are assigned. In some cases, lab assignments will be part of your weekly homework assignment.
- Homework and lab assignments will always be posted to the class web page. In addition,
errors and/or clarifications to the assignment will be made on the
class web page. It is always your responsibility to check the class
web page for such clarifications before turning in an assignment.
- No credit will be given for late homework submissions. However, since completing
the assignments is crucial to your understanding of the material, you
are encouraged to complete any assignments which you do not sumbit on
time.
- If a program is not working perfectly, turn it in with detailed comments as to which parts are complete, and which are
not.
- Each program will be assigned a grade according to not only its
correctness, but also its design, efficiency and documentation.
- Pair Programming: On all homework assignments given in this
class, you are encouraged to work with a partner of your choice.
- Class participation
- You should attend and actively participate in all class sessions.
- Inevitably, students who do not attend regularly do poorly on
tests and assignments.
- You will often be given tasks which you are to work on during class
time. While these tasks will not receive a grade, your successful
completion of these is an important component of your in-class
participation.
Clinics
Ben Turner (bturner@cs.swarthmore.edu) will be
the CS35 clinician. He will hold a weekly session where he will be
able to help you with course material and programming projects. The
schedule for these clinics is not currently known, but will be
announced in class and updated on the course web page.
Course web page
It is your responsibility to check the web page
frequently for changes in project assignments, due dates, exam dates,
class meetings, and all other course-related events: http://www.cs.swarthmore.edu/~richardw/cs35
Academic Integrity
- Academic honesty is required in all work you submit
to be graded.
- Working with one partner of your choice is allowed on all homework assignments and the final project.
- You may not submit work done with (or by) someone else.
- You may not examine or use work done by others to complete your own work.
- You may discuss assignment specifications and requirements with others
in the class to be sure you understand the problem. In addition, you
are allowed to work with others to help learn the course material.
However, you may not work with others (or other teams) on your assignments in any capacity.
- All code you submit must be your own with the following permissible
exceptions: code distributed in class, code found in the course text
book, code worked on with your partner, and code worked on with the
clinician. In these cases, you should always include detailed
comments that indicates which parts of the assignment you received
help on, and what your sources were.
- ``It is the opinion of the faculty that for an intentional first offense, failure
in the course is normally appropriate. Suspension for a semester or deprivation of the degree in that year may also be appropriate when warranted by the seriousness of the offense.''
- Swarthmore College Bulletin (2003-2004), p. 51 (excerpted from The Faculty Handbook)
- Please see me if there are any questions about what is permissible.