|
RIT Department of Computer Science
4003-243: Object-Oriented Programming in Java |
|
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
At the end of this course, students will be able to:
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.
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 |
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.
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.
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.
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.
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.
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.
Projects
Exams
Getting Help
Students may obtain help from the following
sources:
Late Policy, Examination Rescheduling, and
Course Withdrawal
Academic Dishonesty