RIT Department of Computer Science
4003-243: Object-Oriented Programming in Java
Home --- Labs --- Projects --- MyCourses --- Resources --- Schedule --- Sections --- Syllabus --- Recitations



Syllabus


Catalogue Description

This course is an introduction to object-oriented programming. Key topics include classes vs. objects, inheritance, interfaces, object-oriented collection class libraries for abstract data types (e.g. stacks, queues, maps, and trees), and static vs. dynamic data types. Concepts of object-oriented design are a large part of the course. Software qualities related to object orientation, namely cohesion, minimal coupling, modifiability, and extensibility, are all introduced in this course, as well as a few elementary object-oriented design patterns.

Input and output streams, graphical user interfaces, and exception handling are also covered. Students will also be introduced to a modern integrated software development environment (IDE). Programming projects will be required.
Prerequisites: 4003-242, Data Structures for Problem Solving.

Credit: 4, Prerequisites: 4003-242 Data Structures for Problem Solving

Course Web Page: http://www.cs.rit.edu/~vcss243/

Required Text: Object-Oriented Analysis and Design, by Brahma Dathan and Sarnath Ramnath

Optional Text: Java Precisely 2nd Edition by Peter Sestoft

Course Outcomes

At the end of this course, students will be able to:

Disability Services Office

If you have special needs for seating, tests, note-taking services or other matters due to a disability, please contact the Disability Services Office (www.rit.edu/dso). If you receive approval for accomodation within the course, please contact the instructor as soon as possible so that we can make the necessary arrangements.

Grading Scheme

The grade for the course is based on the following work:

Component Weight Notes
Labs 25% 8 labs assignments.
Project 25% 3 project submissions
Midterm Exam 20% 2-hour exam
Final Exam 25% 2-hr. comprehensive, common final.
Instructor Discretion 5% Lecture, Lab, and Problem Solving participation and attendance

The final grade assigned is based on your total grade standing out of a maximum of 100%:

Letter Grade Numeric Range
A 90-100
B 80-89
C 70-79
D 60-69
F 0-59

Course Format

This course meets for five hours each week. Each week consists of:

Lecture meets the first class of the week. It is a 2 hour lecture with your lecture instructor and is held in a classroom with all students in the class. The lecture instructor is responsible for giving you grades on your exams and and homework, as well as determining your final grade for the course.

In weeks where more than two hours lecture time is needed, some lecture-style instruction will occur at the beginning of the assigned lab session.

Recitation meets in a classroom and is run by one of the department TAs. This meeting is designed to reinforce the student's understanding of the material covered in lecture. Attendance and participation is required. The TA will normally go over the previous week's homework and lab, cover any topics that students need additional help understanding, and answer questions related to the course.

Lab meets for two hours each week. Normally the first part will be in a classroom where students are involved in group problem solving using pen and paper to do designs. The second part meets in a computer lab where students work individually implementing the algorithms from the pen and paper exercise. The amount of time allocated to each of these activities during the two-hour lab period will vary. In some weeks one of the two may take up all of the time.

The lecture instructor runs the group meeting with the assistance of a Student Lab Instructor (SLI). The SLI is responsible for running the lab session and assigning grades for labs.

In weeks where more than two hours lecture time is needed, some lecture-style instruction will occur at the beginning of the assigned lab session. For example, in week 5, the lecture time slot will be consumed by the midterm exam, so the new material will be covered in the lab time slot.

Lab Grades

Students are graded as a group on their problem-solving work and individually on their laboratory assignments. The proportion for each part may vary, but a typical mix is 20% problem-solving and 80% lab work.

Lab assignments are due usually at the end of day on Monday or Tuesday of the following week Actual deadlines are in the dropboxes of MyCourses. For each labs there is a late dropbox which will allow you to submit the lab late up to 10 hours past the regular drop box due date, these late labs will be graded with a 20% grade penalty. There are no makeups on labs which you miss, and no submissions accepted after the late dropbox closes. Your lab grade for the course will be computed using the sum of the all of your scaled individual lab grades.

Instructors will collect pen-and-paper group work during lab. The programming portion of the lab and project will be submitted online through MyCourses. It is your responsibility to make sure that you submit all your work in a timely manner.

Projects

In this course students will be working, possibly individually or possibly in groups, depending on the assignment, on a number of larger projects that involve challenging, open-ended problems.

Unlike in CS 242, work on projects is done completely outside of any formal class meeting times.

Exams

The course has two exams: one midterm and one final. They are both two-hour written exams.

A comprehensive and common final exam will be given to all sections at the same time during the regularly schedule final exam period. The date of the final is typically announced by the sixth week of the quarter. The final will be comprehensive and will cover material from the entire course, including Lecture, Lab and assigned readings in the text books.

You must take the final exam at the time scheduled for your section. Finals are not given early, nor will there be any makeup exam. The only exceptions are listed below.

RIT has policies regarding final examinations. Of direct relevance here are two cases: (1) a conflict in which a student is scheduled for two final exams at the same time and (2) a situation in which a student is scheduled for three or more final exams on the same day. In case (1), there are several rules that determine which final exam takes precedence. In case (2), a student has the right to choose not to take three or more final exams in one day. In both cases, by the last day of the sixth week of classes, a student must submit a written request for rescheduling to the head of their home department, with a copy of the request given to the instructor being asked to provide the rescheduled final exam. We highly recommend that students first discuss their situation with all instructors involved.

Getting Help

Students may obtain help from the following sources:

Late Policy, Examination Rescheduling, and Course Withdrawal

Exams will only be rescheduled in the case of difficult situations for which there is formal documentation (e.g. a doctor's note). Oversleeping, cars that don't start, and other excuses of this ilk are not valid reasons for missing an examination.

RIT policy allows you to withdraw from a course with a grade of W on or before the Friday of the eighth week in the quarter. After this date, your instructor cannot give you a W, but must assign you a grade based on your work. Incomplete grades will be given only in exceptional circumstances, and only where arrangements have been made with the lecture instructor before the end of the quarter.

Academic Dishonesty

Students may discuss assignments and projects with others, but submitted work (written and code) must be created independently by each student/group, and not copied from another student/group, or from another source (e.g. from web pages).

In cases where a student is suspected of cheating or copying material, the instructor will act in accordance with the Department of Computer Science Policy on Academic Integrity.