Copyright © 1997, 1998 by
Axel T. Schreiner. All Rights Reserved.
Programming with Java
Axel-Tobias Schreiner,
Department of Mathematics and Computer Science,
University of Osnabrück, Germany.
An introduction to programming with the
Java programming language.
Lecture notes for a course at Rochester Institute of Technology,
spring quarter 1998.
Based on
German lecture notes.
From here one can reach
copies of the overheads used in class,
the
Java documentation from Sun,
and
the programming examples used in class.
The text does not constitute a complete transcript of the lectures.
Additionally one should consult books about Java,
object oriented programming,
network programming,
and about the World Wide Web.
The programming examples are collected in directories
that more or less correspond to the chapters of the lecture notes.
Archived copies of the programming examples,
the documentation,
and the overheads
as well as references to development kits,
browsers,
and related tools
are available here.
A good starting point to look for Java tools on the Web are the
Java Resource List
and the
Products & APIs
at Sun Microsystems
as well as
Jeff Poskanzer's Home-Page.
Here are the
overheads used in class
and the Java
documentation
from Sun's JDK (1.1.5).
Adobe Acrobat was used to
convert and index the overheads from the html area
using the Portable Document Format.
This is primarily suitable for printouts
and (under Windows) for text searches.
Depending on the computing platform you need
special viewers or plugins
which have to be installed beforehand.
Some of the documents are rendered in black and white only
because Acrobat Distiller 3.01 crashes when translating some
colored pictures even after they were processed using
Adobe PhotoShop 3.0.
There will be some programming assignments each week.
Current grade points can be viewed.
Local Availability of Java
I am told that computers in the RIT computer science labs automatically make
the Java Development Kit 1.1.5 available.
Dates 1998
| Lectures
| Tuesday, Thursday,
17:00-18:50
| room 09-2149
|
|---|
| Office Hours
| Tuesday, Thursday,
14:00-16:00
| room 10-A192
| Schreiner,
phone 475-7459
|
|---|
(Planned) Calendar 1998
This is a very tight schedule.
It tries to cover all aspects of the language
and most packages.
It depends on reading and programming assignments
to be carried out in addition to class attendance.
The German course took 30% longer.
| March | 10
|
resources,
introduction,
first program,
first application
|
|---|
| 12
|
first applet,
integers, exceptions
|
| 17
|
homework;
floating point;
conditions
|
| 19
|
characters and strings, i/o system;
objects
|
| 24
|
homework;
command line, counting bytes and unicode characters
|
| 26
|
interface, properties,
inner classes, command line options, counting streams and readers
|
| read
|
nested and anonymous classes; parsing with recursive descent
|
| 31
|
homework;
oo design: framework for command line,
trivial example: cat
|
| April | 2
|
oo design: sorting
|
|---|
| 7
|
homework;
threads: technology
|
| 9
|
threads: typical examples
|
| 14
|
homework;
AWT:
programming model,
Button and events
|
| 16
|
notes on programming style,
event handling,
tracing events,
Canvas
|
| 21
|
homework;
Checkbox
Choice
Dialog
FileDialog
Image
|
| 23
|
Label
List
Menu
|
| 28
|
homework;
PopupMenu,
Scrollbar,
ScrollPane,
TextArea;
|
| 30
|
strategies for event handling; calculators with configurable keyboard
|
| May | 5
|
homework;
application framework,
layouts,
experiments with gridbag layout
|
|---|
| 7
|
Networking,
TCP client and server,
UDP client and server
|
| 12
|
remote objects
|
| 14
|
homework;
web database client, proxy, and server
|
| 19
|
Final Exam, closed book
|
Grading Policy
This is a graduate programming course.
Java 1.1 is a moderately difficult language to master
and the schedule is tight;
you will have to dig into documentation and some books
as well as do some programming on your own to succeed.
Half of your grade will be based on weekly assignments (mostly programming),
the other half on a final exam.
Assignments and solutions are posted as indicated above.
Assignments must be turned in
to me by e-mail
or using the command
submit ats java-number path...
before 16:00 on the due date.
I'll acknowledge receipt in class.
Don't slide papers under my door,
don't turn e-mail in late or more than once,
and don't copy from others.
Incomprehensible code will be considered wrong --
this is not a first programming course.
If you have complaints talk to the grader;
if it is still necessary see me.