CS 631N Syllabus Fall 1997

Prof. Bergin
Rm. 1716
(212) 346-1499
Office hours Tu. Th. Posted on door. Office Hours on Internet also.

Object Oriented Software Development for the Internet.
Prerequisite: CS504 or permission of the instructor.

Students will undertake to learn the Java language and develop a project of moderate size using Java. The course will stress object-oriented programming. Students will demonstrate expertise through the project and one examination. Students will be expected to discuss and demonstrate their project to the class.

Students will develop a proposal and a project in one of the following areas.

The specifications of the project will be developed by the student and presesnted to the class. Team projects are allowed, but not required. The project to be undertaken must be approved in advance by the instructor.

Library Development -- 
	Develop a reasonably sized library of data structures and algorithms.
Shared Whiteboard --
	Develop a server and an applet that lets a group of people at different 
	locations draw on the same virtual canvas in real time.  
DataBase Programming --
	Develop a database application using a remote database.
Internet Programming -- 
	Develop an internet application.  This might be an internet 
	implementation of an existing application. 
Graphics Library Programming -- 
	Develop a library of object-oriented graphics routines. 
Graphics Programming -- 
	Develop a graphics application that will run under a Java Enabled 
User Interface Programming -- 
	Develop an application with a platform independent user interface.
Other projects are possible as negotiated.  

One exam: Midterm of 100 points covering details of the Java language and
object-oriented programming principles. 
100 points for contributions to the on-line discussion group
300 points for initial proposal, presented orally and in writing at mid-term.
500 points for final project, presented orally and in writing at the end. 
Grade based on simple average of all work.
Faithful attendance /participation is expected.  
Various files may be obtained from the WWW accessed via my home page. Look there for the Java Course. This material will change periodically, even frequently.

An on-line discussion group will be set up for use by students in this course. You will need to send an initial email message to the group to get enrolled. You should then check your mail frequently. You must contribute to this group. It will be a primary means of communication. You may also communicate with the instructor via email, though most discussions should be done via the mailing list so that all may benefit from your developing expertise.


"Java in a Nutshell, 2ed," David Flanagan, O'Reilly & Associates, 1997

"Java Network Programming," Elliotte Rusty Harold, O'Reilly, 1997

"Core Java 2ed," Gary Cornell & Cay Horstmann, Prentice Hall, 1997
( A Java CD is packaged with this book--Macintosh, PC, Unix)

Also useful.

"The Java Programming Language," Ken Arnold & James Gosling, Addison Wesley, 1996


3rd week. Initial proposals due for approval. (3 page abstract)
7th week. Initial proposal presentations (design document)
8th week. Mid-term exam
Last two weeks. Final project presentations. (final product, documentation, and writeup)

Time will be available during class to discuss your project with the instructor and your team members, but expect to spend considerable outside time on your project.


Java home page. http://java.sun.com/
Java resources. http://www.gamelan.com/
Java itself. http://ftp.javasoft.com
Java discussions. news://comp.lang.java
Search. http://altavista.digital.com
search for "java"

The course discussion group

My Java pages


Take care in browsing Java resources. There are still some security considerations. Your browser should generally leave Java disabled when you are browsing. Only enable it when you can trust the source of an applet not to be malicious.

You will need a version of Java 1.1 that runs on your computer.