CSC 680
Special Topics in Computer Science:
Java as a Second Language

Dr. Stephen Bloch

Spring, 2003

Note: This course was cancelled in Fall, 2002, but will be offered in Spring, 2003. Just kidding!

Syllabus Calendar Homework Assignments Examples

Getting Help

My office hours (in Alumnae Hall 113A; if I'm not there, look around the corner in 112) are

We also have several tutors capable of helping with this course:

Reading Assignments

Examples

I've set up a folder for programming examples. Please read and understand these. (I'll try to keep the same files on the lab's N: drive too, but things have a habit of disappearing from the N: drive.)

Textbooks

Our primary textbook will be Big Java, by Cay Horstmann. It's available from amazon.com for $70, bn.com for $66, and bookpool.com for $62 (if they have it). See also Campus Books 4 Less, which searches a number of on-line bookstores for textbook prices.

For further reading...

Software

A number of Java development environments are available for free download. We'll be using BlueJ most of the time, but here are some others:

SDK
The Java Software Development Kit from Sun. This isn't a "user-friendly" development environment, consisting as it does mostly of command-line-based programs, but most of the other development environments require that you download this one first. Be sure to get the Software Development Kit (SDK) rather than just the Run Time Environment (RTE); the latter is only good for running Java programs other people have written, not for writing your own.
BlueJ
A development environment designed for educational use, not professional programming. It provides UML-like class diagrams and the ability to call individual methods on individual objects interactively, without writing whole classes and methods just for testing. The site includes a list of BlueJ-oriented Java textbooks that have come out recently, and allows you to subscribe to the BlueJ users' mailing list.
DrJava
DrJava is also designed for educational use, not professional programming. It allows you to type individual Java expressions and see their values, or type individual Java statements and see their effects, rather than having to write whole classes and methods.
Eclipse
Eclipse is a highly customizable, extendible, multi-language development platform (although it works best for Java). It provides a number of cute shortcuts for common Java programming tasks, such as writing javadoc comments, writing getter and setter methods, renaming variables and methods, moving variables and methods from one class to another, etc. It doesn't provide (as far as I know) the class diagrams or unit-testing features of BlueJ.
JBuilder
You can download JBuilder Personal for free; if you want the more sophisticated Enterprise Edition, you can download a trial version and then pay for the commercial version. You'll need to register as a Borland Community member, creating a username and password, before you can download it. I haven't played with JBuilder much yet, but it's fairly widely used, especially for rapid prototyping of GUI-based programs.
jGRASP
jGRASP is another development environment designed for educational purposes. It works with several different languages, including Java, C, C++, Ada, and VHDL, but some of its features only work in Java. Its most distinctive feature is the Control Structure Diagram, which annotates source code with graphical symbols indicating the program's structure -- for example, you can see easily how a loop is nested inside a conditional inside another loop, and any statement that escapes from one of these control structures.
JJ
JJ is a web-based development environment, which means it takes almost no disk space on your machine, but you can't use it if your network connection or the JJ server is down. It presents a simplified Java language with facing-page translation: students can write in the simplified language, the system translates into "real" Java and executes the program.

You are visitor number to this page since August 8, 2002.
Last modified:
Stephen Bloch / sbloch@adelphi.edu