We'll look at applets and AWT programming, but very briefly
On the other hand, the programming component of the course will
concentrate fairly heavily on Java (and various extensions). No
previous Java experience is assumed, but by the end you should be
fairly proficient in Java programming.
Topics:
Java (crash course)
Basic programming
Advanced features (concurrency, module system, etc.)
The AWT and applets
Remote evaluation
Obliq
Java RMI (plus support features, e.g., object serialization)
Mobile agents
Cardelli's idea of "migratory applications"
Odyssey (formerly Telescript)
Mole/Aglets/etc.
Gunter's PLAN language for programming active networks
Fault tolerance, sensitivity to quality of service
Cardelli/Davies paper on service combinators
Security issues
Security features of Java (and some recent breaches)
Proof-carrying code
Type systems for security
Large-scale modularization and consistency checking mechanisms
mixed static/dynamic typing
component architectures
Foundational models
Pi-calculus
Join calculus
SPI-calculus
Ambits
Plus other topics as they arise... including topics suggested
by members of the class