CS 202: Transition to Java

Spring 2002


Administrative Notes


This course assumes that you have had previous experience in imperative programming, probably in C or C++, and that you are familiar with the material listed below. The amount of work given in this class is calibrated to students who meet the prerequisites.  Don't take this course if you don't meet the prerequisites.

The Add/Drop Deadline for this course is:  Monday, January 28, 2002

Course Overview

This course will show you how the material listed in the prerequisites appears in Java.  Beyond that, the course serves the important function of teaching you the object-oriented features of Java: classes and objects, static and non-static fields and methods, constructors, subclasses and inheritance, and interfaces. Less importantly, the course will touch briefly on other topics, like exceptions, packages, threads, and I/O.  Time permitting we will also cover some Java specific topics such as applets and the swing libraries.

The course has two types of students in mind: (1) students who want to prepare to take other courses that use Java, like CS211 and some of the upper level courses, and (2) students who want Java experience in order to seek employment in jobs that require experience with Java.

Here is an outline of the lecture schedule.


This course is listed as one credit S/U.

There will be weekly programming assignments that will usually require you to understand a partial implementation in the JAVA language and extend it to conclusion.  The goal of these exercises will be to give you experience in using the language constructs presented in class.  The intention is that if you have done the required reading and attended class or reviewed the material on your own, then each problem should be doable in a single sitting (~1-2 hours).

With regard to the assignments, you may talk about the assignments among yourselves (discuss techniques in the language, etc.), but you may not work in groups and you absolutely may not share code. All the code that you submit must be your own.

An 'S' will be given to those students who successfully complete ALL four assignments and thus demonstrate sufficient proficiency in programming in Java.

There are four assignments. We urge you to complete them well before their due dates, which are listed here:

  1. Assignment 1: Install your development environment and test it by running "Hello World!".
  2. Assignment 2. Final Acceptance Date:  Friday, February 1, 2002 - 5:00 PM
  3. Assignment 3. Final Acceptance Date:  Friday, February 8, 2002 - 5:00 PM
  4. Assignment 4: Final Acceptance Date:  Friday, February 15, 2002 - 5:00 PM


Grading procedure

Each assignment is graded on a pass-fail basis. If you fail, you work on it some more until you pass.

Here's how we will grade your assignments. Once you are finished with an assignment, take it on a floppy disk to one of the designated graders, during their office hours. That person will look at the assignment with you on their computer, ask you questions, and give you pointers. If your program is not suitably presented --indentation, method specifications, definitions of variables, etc.-- you will be asked to leave immediately and come back after you make the program presentable. However, in most cases, we anticipate that grading your assignment will take about 5 minutes, perhaps 10, with a positive outcome.

We repeat: come to have your program assignment graded whenever it is ready. You can come whenever you want, as long as it is before the deadline for that assignment. Waiting until the deadline to have it checked will probably mean waiting in line for someone to look at it.

You can complete the assignments as early as you wish. Once the fourth one is passed, you are officially done with the course.

Due to the fast pace at which we will be covering material, we will not be able to cover everything in lecture.  You must seek out information on your own.  Be Resourceful!  The lectures are intended to present examples and insight into the language and to provide a forum for questions.

Development Environment

The choice of development environment is left to the discretion of the student.  The code samples presented in class and made available on this site will have developed and tested using Sun's JDK 1.3.  This course will stick to the core Java language and not make use of existing platform dependent libraries (Xlib, WFC, etc.), so any compiler that implements the language properly can be used.  Part of the first assignment is getting your development environment in order.

CS100 used the integrated development environment (IDE) CodeWarrior, and it is available in the Cornell computing labs. Moreover, ProgramLive contains extensive lectures on using CodeWarrior. Therefore, CodeWarrior is a good choice if you want to use an IDE.

Last Modified:  Tuesday, February 05, 2002 02:48:40 PM