Fund. CS II (CS152 2006S)

Front Door

Welcome to the Spring 2006 session of Grinnell College's CSC 152, Fundamentals of Computer Science II, which is described relatively well in the official blurb. My own take on this course is that we'll be expanding your knowledge of Computer Science and of computer programming, while emphasizing the development and analysis of common data structures and algorithms. We will be using Java as our development language. As in all Grinnell classes, we'll also be working on general thinking and work skills.

In an attempt to provide up-to-date information, and to spare a few trees, I am making this as much of a paperless course as I can.

Warning! Experience shows that CSC152 is a significantly more time-consuming and accelerated course than CSC151.


Meets: MTuWF 11:00-11:50 a.m., Science 2417

Instructor: Samuel A. Rebelsky, Science 2427. Office hours: MTuTh 1:15-3:00 p.m. I also tend to follow an open door policy: Feel free to stop by when my door is open or to make an appointment for another time. Check my schedule for more details.

Teaching Assistant Eryn O'Neil, Hours (subject to change): Wed. 7:00-8:00 p.m., Sun. 2:00-4:00 p.m., MathLAN.


My grading policy is always subject to change.

The final examination for this course is optional. It can be used as a makeup for one examination or for your homework (provided it is higher than the lowest of those grades). Like the other examinations, it will be a take-home examination.

Late Work: My experience shows that students who turn in work late learn significantly less than students who turn material in on time. (I'm not sure about cause and effect.) Hence, I strongly discourage late assignments. Unless prior arrangements have been made, assignments are due 8 a.m. the day of class. After that they are considered late. Late assignments are penalized one letter grade per day late (or fraction thereof).

Labs: While you won't do as many labs as you did in CS151 (if you took CS151), Labs are for your benefit, not mine, so I won't be grading most of them (other than to check that you completed them).

Participation: As I suggest in my statement on teaching and learning, I don't think you learn the material as well if you don't participate actively in the class. Hence, a portion of your grade is based on participation. Students who miss no more than two classes and who regularly answer questions or make comments in class receive 90 for participation. Missing 3-5 classes results in a 10 point penalty. Missing 6-8 classes results in a 25 point penalty. Missing 9 or more classes results in a 50 point penalty. Particularly good answers, comments, and questions result in bonus points for participation.

Daily Homework: I've decided to take a strategy from my colleagues in Mathematics. You will have almost-daily assignments (due Monday, Wednesday, and Friday). I expect that each assignment will take between one and two hours.

Extra Credit: I will occasionally give you quizzes to ensure that you're keeping up with the reading. Correct answers on the quizzes will give you some amount of extra credit.

I also believe that you deserve some extra credit for supporting your colleagues and broadening your

Throughout the term, I may suggest other forms of extra credit.

Minimum Grades: My experience suggests that otherwise intelligent people sometimes have great difficulty with the kind of thought necessary in CSC152. It strikes me as unfair to penalize students because their brains don't work right for CS. Hence, if you make a best faith effort, I will give you at least a B-. Such an effort includes attending at least 95% of the classes (you can miss no more than two), doing the readings before class, participating in class, attempting every homework assignment, and spending eight hours on each take-home exam.

Books and Other Readings

Rebelsky, Samuel (2006). Espresso: A Concentrated Introduction to Java. Online resource available at

I am attempting to write a lab-based introduction to Java for this class. We'll see how it goes.

Rebelsky, Samuel (2006). The TAO of Java. Online resource available at

I am also attempting to write a series of labs that cover the key elements of this course (types, algorithms, objects). We'll see how it goes.

Rebelsky, Samuel (2006). The CSC152 2006S Web Site. Online resource available at

My online resources for the course.

Burnette, Ed (2005). Eclipse IDE Pocket Guide, First Edition. Sebastapol, CA: O'Reilly. ISBN: 0-596-10065-5.

Eclipse is the Java development environment we'll be using this semester. Some of you are likely to want hardcopy reference for Eclipse, and this pocket guide is comprehensive, cheap (less than $10.00), and convenient. You are not required to purchase it, but I recommend it.


At times I will post your work or notes about you in the course web. I tend to leave everything available for past and future generations. If you would like the references to you deleted, please notify me after the semester has ended.

Disclaimer: I usually create these pages on the fly, which means that I rarely proofread them and they may contain bad grammar and incorrect details. It also means that I tend to update them regularly (see the history for more details). Feel free to contact me with any suggestions for changes.

This document was generated by Siteweaver on Wed May 10 07:54:40 2006.
The source to the document was last modified on Wed May 10 07:54:38 2006.
This document may be found at

You may wish to validate this document's HTML ; Valid CSS! ; Check with Bobby

Samuel A. Rebelsky,