CS5 Student Missive

Fall 1998

Course Description

CS5, Object Oriented Programming Practice, is a half-credit course intended for students who are moderately familiar with object oriented programming in Java, as acquired in the OO section of CS4, and need to develop the necessary design and programming experience to satisfy the prerequisites for CS16 without taking CS15. As such, there is likely to be an overlap between what is taught in CS5 and CS15, therefore credit for both classes will not be allowed. The prerequisite is the Java Section of CS4, and written permission of the instructor is required.

This course will meet on Tuesdays and Thursdays at 2:30pm-4:00pm (K hour) in CIT room 506. The Tuesday session will consist of lectures on programming style and design. The Thursday session will be a section with a design exercise. Both are relatively informal and participation is encouraged and expected. The coursework will consist of two moderately sized assignments. The Final Project will be a two-person group assignment. In order for most students to be able to take this as a fifth class, we have decided that it will be completed by December 3 (before reading period).

Students who are not already familiar with Java, or with Object Oriented Programming, are required to take CS15 for more in-depth coverage of both.

Instructor

This year we are lucky to have Professor Nancy Pollard as the instructor for CS5. Her office is CIT 445, and her phone number is x7605. Office hours are on Wednesdays from 10am-noon as well as by appointment. She can also be reached by email at nsp@cs.brown.edu

TAs

CS5 has one dedicated Teaching Assistant this year.

Andrea Tartaro adt@cs.brown.edu

TA Hours

TA hours will be held in the CS department TA Room and/or in the TA Room Annex (CIT rooms 244 and 245). Please have a specific question in mind before talking to a TA. The schedule for CS5 TA hours will be posted on the webpage. It may also be possible to set up TA hours by appointment, however do not count on TA's availability outside of normal hours.

As aways, remember that your teaching asssistant is a student also. Please do not ask her questions outside of class or TA hours. This is unfair both to the TA and to students who are more courteous. Also, please avoid bothering TAs of other computer science classes, or Sun Lab or CIS consultants with CS5 related questions as they are not familiar with CS5 or its assignments.

Since CS5 will only have 1 TA, it is possible that she will not be on hours when you have a question. If this is the case, you have two options, either wait until one of the TAs is holding hours, or if your question is general enough, post your question to the newsgroup. Please, do not post your code or explain your design in detail on the newsgroup, this is a violation of the CS5 Collaboration Policy. The newsgroup is there for general debugging, design, and syntax questions.

Section

The Thursday class will serve as the "section" for CS5. It will be led by Nancy and/or your TA and held at the same time as class (from 2:30-4) and will be held in the same room (CIT 506). Section will be a discussion of design exercises, which will be handed out the week before, and the current assignment. A portion of your grade will be based on participation in section, so taking some time to think about the design exercise is encouraged. Topics will correspond to lectures and assignments. Time permitting, TA hours will be held at the end of section. If necessary, section may be used to present additional lecture content.

Grading Scheme

CS5 has only two programming assignments this semester. They are both, however, fairly complex. The table below shows the relative weights of each assignment in calculating your final grade.

Programs will be submitted electronically by the deadline. If your program does not compile, it cannot receive a passing grade, and you must hand in a working version by the end of the semester. Programs will be graded on functionality, design, and adherence to the CS5 Coding Conventions. All programs will start off as perfect and the grade will be reduced for each flaw that is uncovered. In some cases, extra credit will be awarded. The management reserves the right to mark points off of programs that execute perfectly for design flaws and poor coding style.

All assignments must be handed in on time to be accepted. There is no bonus for early handins; there is no late date. Both assignments must be passed in order to get credit for the course and to enter CS16. Requests for extensions will be entertained only in the case of extenuating circumstances. Saying "But I'm taking four other courses!" is not likely to garner any sympathy.

Design Checks and Check Points

In addition to a final due date, each assignment will have a design check and a check point. The design check will be a paper write up of your design to be be handed in at the beginning of class. You will also be required to complete a portion of the functionality of the program for the check point. The assignment handout will describe the specifics of what is needed for the check point. You will meet with the TA during section to discuss your progress on the assignment.

Assignment Due Dates

Tetris
Out: Tuesday, September 8th
Design Check: Thursday, September 17th in class
Check Point: Thursday, October 1st in class
Due: Wednesday, October 14th 11:59pm

Final Project

Out: Thursday, October 15th
Design Check: Thursday, November 5th in class
Check Point: Thursday, November 19th in class
Due: Thursday, December 3rd 11:59pm

Course Materials

All of the materials necessary for this course will be available online or handed out in class (or both). We do, however, reccomend a textbook for reference. You may find the following book helpful, however it is in no way required for the course.

Java In a Nutshell, Second Edition, by David Flanagan, published by O'Reilly & Associates

Finally

This handout has assumed that the reader has successfully completed the Java Section of CS4 and is therefore familiar with the way the Brown Computer Science Department works. If you still have questions about where to hand things in, the rules of the Sun Lab, or anything else not covered in this handout, please see a TA.


Last Modified: 03:23pm EDT, August 18, 1997