CS 35 Algorithms and Object-Oriented Programming
MWF 11:30am-12:20pm, SCI 240
Fall 2004
Swarthmore College

Professor: Benjamin Kuperman
email: kuperman AT cs swarthmore edu
Office: SCI 253
Phone: 328-8665
Office Hours: Wed 1:30-3:30pm, Tue 2:00-3:00pm

Announcements


Clinic

The CS35 clinician is an additional resource to help you with this class. The clinician is available for 3 hours per week and will help you with any problems you are having in the class. If you use the clinician to help you with your homework, please cite their help.

Clinician: Dan Crosta
Location: SCI 240
Hours: Sunday 7-10


Contents


Course Description

From the department course description: This course completes the broad introduction to computer science begun in CPSC-021 and CPSC-022. It provides a general background for further study in the field. Topics to be covered include object-oriented programming in Java, advanced data structures (priority queues, trees, hash tables, graphs, etc.) and algorithms, software design and verification. Students will be expected to complete a number of programming projects illustrating the concepts presented.


Text and Useful Links

The text for the course is Data Structures and Problem Solving Using Java, Second Edition by Mark Weiss. All of the code from the text is available on the author's website.

Useful Links


Grading

Grades will be calculated based on the following distribution:


Homework and Course Policy

Regular class attendance is expected. I am required to report to the dean any student whose repeated absences is impairing their performance in the class.

There will be a number of assignments made in this class. I expect every student to attempt each assignment and turn in the results. Do not expect to pass this class if you do not submit something for every assignment. You are encouraged to complete every assignment as this is one of the most effective ways to learn the material.

When homework is assigned, a due date will be made available. You are responsible for submitting your answers before the deadline. Late assignments are not accepted. If you know that for some reason you will not be able to submit the assignment before the deadline, you should contact me in advance of the deadline. Extensions are only granted in exceptional circumstances, but need to be done in advance.

Programming assignments will be graded on both correctness as well as programming style. Good programming style includes the following:

More information on Java style can be found on Sun's Code Conventions web page. There is also an open source tool checkstyle that can be used to check the style used.

Plagiarism and Academic Dishonesty

The College's Judiciary Committee (CJC) handles plagiarism offenses. The penalties for plagiarism are quite severe: usually the first offense leads to failure in the course, but it may additionally result in suspension. The following constitutes plagiarism on CS programming assignments:

Under no circumstances may you hand in work done with (or by) someone else under your own name. Your code should never be shared with anyone; you may not examine or use code belonging to someone else, nor may you let anyone else look at or make a copy of your code. This includes sharing solutions after the due date of the assignment. Failure to abide by these rules constitutes academic dishonesty and will lead to a hearing of the College Judiciary Committee.

Discussing ideas and approaches to problems with others on a general level is fine (in fact, we encourage you to discuss general strategies with each other), but you should never read anyone else's code or let anyone else read your code. If you are in doubt about some help that you received, then credit the person(s) from whom you got help by citing them in a comment at the top of the file and discuss the situation with your instructor.


Schedule

(Tentative)

Topics will probably be covered in the following sequence:

Assignments

For this class you will need to run

cs35setup
once from your cs account to setup your home directory. To obtain the homework run
cs35get homework X
where 'X' is the assignment you wish to work on. This will copy all needed files to ~/cs35/homework/X/ where you can then work on them.

To submit your work, run

cs35handin
and follow the menus. Be sure to (v)erify your submission.

# Command Date Out Date Due
1 cs35get homework 1 06 Sep 2004 12 Sep 2004
2 cs35get homework 2 13 Sep 2004 19 Sep 2004

Last Modified: Tue 05 Oct 2004 04:43:58 PM EDT - Benjamin A. KupermanVI Powered