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!
Getting Help
My office hours
(in Alumnae Hall 113A; if I'm not there, look around the corner in 112)
are
- Monday/Wednesday 1:00-4:00 PM
- Other days and times TBA.
We also have several
tutors capable of helping with this course:
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...
- Object
Oriented Programming FAQ
- my CSC 171 class in 1998 (when it was in Java)
- my CSC 172 class in 2001 (also in Java)
- Wired on Java, one of
many on-line Java instruction sites with tutorials
- Java example programs
- W3C's HTML Page,
where you'll find definitive information about the latest
version of HTML.
- HTML Goodies, a
collection of lots of tutorials and examples of stuff you can
do with HTML.
- Builder.com, a
site containing lots of tips, tricks, and
suggestions for writing better pages and sites.
- The Adelphi
Help Desk page
- The Free Online
Dictionary of Computing.
- The Association for
Computing Machinery, the premiere professional
organization for computer scientists. The site includes
career services, the student programming contest, a
student magazine,
information on student
membership, and lots more.
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