CSC 492I Object-Oriented Programming in Java
The University of Rhode Island - Fall 1998


B. Ravikumar
Associate Professor, Computer Science Department
257, Tyler Hall
Phone: 874-2701 Fax: 874-4617 E-mail: ravi@cs.uri.edu

Class Meets:

Tuesdays 6 - 8:45 P.M. at Middle Town High School.

Office Hours:

T Th 11-12, W 2:30-3:30 and by appointment.

Goals and Outline of the course:

This course presents a central programming paradigm, namely object-oriented programming and will illustrate program design using this paradigm using Java. The central elements of object-oriented programming such as data abstraction, inheritence and ploymorphism will be described and the Java language features supporting these elements will be presented. Object-oriented paradigm will be compared with other paradigms, and its strengths and limitations will be discussed. Also, comparison between Java and other languages (such as C++) will be made. As time permits, more advanced features (such as exceptions, threads, AWT, Java virtual machine, Java beans etc.) may be covered. Although the main focus is not the syntax of Java, no prior experience in Java is assumed. However, experience in a structured high-level language such as Pascal or C will be expected. This course counts towards Master's degree in Computer Science at URI (under the old and the new curricula). However, you can use CSC 492 at most once towards the graduate degree. This course can also be used as a substitute for CSC 212 and CSC 301 as part of the deficiency requirement to enter the graduate program.

Text Book:

P. Naughton and H. Schildt, Java 1.1: The Complete Reference , Osborne McGraw Hill, 1998. ISBN 0-07-882436-2.

Prerequisites

Equivalent of CS 2 (CSC 212 at URI). Programming experience in Pascal, C or C++ for about six months can make up for the lack of CS 2.

Work and Grade

The course work will involve five or six programming projects (weighing about 50 points), a mid-semester test (about 15 points) and a final exam (about 35 points). The mid-semester test will be about 75 minutes long and will be on October 20 or October 27, 1998. The final exam will be on December 15, 1998 from 6 to 9 PM. It will be comprehensive. Both the test and the final exam will have two sections. The first section will be questions with multiple choice/short answers. Most of the questions in this closed book section will be taken from the Java certification test. The second section will be open-book/open notes. The projects will be given every other week.

Course Topics in Detail

Object-oriented Programming, Introduction to Java Chapter 1
Syntax, Data Abstraction Chapters 3, 4 and 5
Class Dynamics Chapters 6 and 7
Inheritence Chapter 8
More Abstraction Chapter 9
Threads Chapter 11
I/O, applets and Other Topics Chapter 12
Java Library Chapters 13, 16, 18

Additional Information

You can use any computer (windows, mac or unix) to design and implement your programs. For each project, the format of output will be specified clearly. You are to submit your source code, as well as the compiled byte codes and in case of applets, the html driver. If you need an account on the computer science department's Sun work-stations, please contact me soon.

The Web site for this course is http://www.cs.uri.edu/faculty/ravikumar/csc492I. You can find projects, announcements, sample tests, the actual tests, solutions etc. posted there. I will try to an outline of each lecture in this site, although I can't promise it.