ADVANCED JAVA
taught at Stanford University
August 12 -- 16, 1996
by Salil Deshpande (CustomWare)
A Practical Week-long Course for Consultants, Educators, Government
and Industry Scientists and Engineers
This course is taught by Salil Deshpande, a leading lecturer and
practitioner in developing tools for Java.
Java is changing the world. This course assumes that you have heard all
the hype about Java, have browsed some Java web pages, and perhaps played
with some demo applets. It assumes that you are already a programmer, and
understand the basics of object-orientation.
Now it's time to get serious. After a fast-paced presentation of language
features, we look at various "cool" features of Java, like writing applets
(with graphics, sounds, mouse input, etc.), writing stand-alone Java
programs, using the Java debugger, various Java class libraries, Business
GUIs (with buttons, text-fields, lists, scrollbars, frames, etc.), Java
threads and multi-threading, Java I/O, and networking with Java.
Advanced topics like writing client-server and distributed objects based
applications with Java and CORBA, using Java 1.1 Remote Method Invocation
(RMI), and using advanced class libraries are also discussed.
TEXT: Java in a Nutshell and a complete set of course notes.
PREREQUISITES: Familiarity with OO concepts, including knowledge of
at least one object-oriented programming language.
WHO SHOULD ATTEND: System architects and developers who have heard the hype
about Java, have browsed the Java web pages, and perhaps even written
simple Java applets.
COURSE SCHEDULE: ADVANCED JAVA
Course dates: August 12 -- 16, 1996
Schedule AM1: 9:00 -- 10:30 AM2: 11:00 -- 12:30
PM1: 1:30 -- 3:00 PM2: 3:30 -- 5:00
Mon AM Introduction to Java
. Language specs and naming conventions & style
. Application framework and applet framework
Mon PM1 jdb (Java Debugger)
. Compiler directive and on-line help
. Breakpoints and navigation
Mon PM2 Lab: Debugger
Tue AM1 Stream I/O
. Stream model in Java
. Standard I/O with Java
. Daisy-chaining streams (i.e. formatted I/O for files)
Tue AM2 Lab: Stream I/O
Tue PM1 Exceptions
. Exceptions vs. return codes
. Tips with user-defined exceptions
Strings and String Buffers
. String model in Java
. Using streams for I/O, processing, converting, etc.
Tue PM2 Lab: Exceptions, Strings & String Buffers
Wed AM Multimedia
. Graphics
. Sounds
. Animation (w/ multithreading intro)
. Advanced animation (reducing flicker)
Wed PM1 Lab: Graphics, simple animation & sound, advanced animation
(optional)
Wed PM2 Multithreading
. Model
. Synchronizing
. Inter-Thread-Communication (ITC) with pipes
Wed Eve Lab: Synchronization, pipes, dynamic class loader (optional)
Thu AM1 Abstract Windows Toolkit (AWT)
. AWT model in Java (including modal and modeless windows)
. Static interfaces
. Events and I/O
Thu AM2 Lab: Simple graphical user interfaces
Thu PM1 AWT Interfaces and Widgets
. Dynamic interfaces w/ layouts and relative positioning
. More widgets
Thu PM2 Lab: Layout and Widgets
Fri AM1 Networking
. URL's
. Sockets and datagrams
Fri AM2 Lab: client/server, URLs (optional)
Fri PM1 Packages and Toolkits
. Packages
. Advanced class libraries
. Multi-tier Client/Server applications with Joe and CORBA
. Remote Method Invocation (RMI)
Fri PM2 Conclusions
. Standards
. Adoptors and Products
. Conclusions
ABOUT THE INSTRUCTOR
SALIL DESHPANDE founded CustomWare in 1992 after playing the role of
an engineer or technical project lead at several technology companies,
including Sun Microsystems, Hewlett Packard, General Electric, Booz
Allen & Hamilton, and EIT. CustomWare offers training, consulting,
mentoring, and software development services, focusing on distributed
object technologies and applications.
Salil Deshpande has published papers, presented talks, and/or given
tutorials at the Annual C++ Technical Conference, ObjectWorld, the
Xhibition, the European Conference for Object Oriented Programming
(ECOOP), the Conference for Technology of Object Oriented Languages
(TOOLS), DEC Expo, GroupWare, the Austin Forum for Object Oriented
Technology (AFOOT) and others.
Mr. Deshpande is also authoring a book on Distributed Object
Programming, CORBA, and Java (exact title not finalized) for the
Prentice-Hall Object Oriented Series, edited by Bertrand Meyer.
Mr. Deshpande has ten years of industry experience, holds a Master of
Science in CS/EE from Stanford University, and a Bachelor of Science
in CS/EE from Cornell University.
COURSE INFORMATION
Dates: Monday-Friday, August 12-16, 1996
Times: Registration Sunday afternoon, August 11
Morning sessions 9:00am-12:30pm with a 30 minute break
Afternoon sessions 1:30-5:00pm with a 30 minute break
Lunch break 12:30-1:30pm daily
Location: on the campus of Stanford University in Stanford, CA.
Course Fee:
$1,450 (includes instruction, complete set of course notes,
break refreshments, and Tuesday night reception.)
$1,575 for registration after July 29
Group Discount: A $100 discount is given to each individual when three or
more register from the same organization for one of the courses.
Accommodations: Housing information will be mailed.
Parking permits are available at the Sunday afternoon course registration and
are not included in your registration fee. Out-of-town participants
will probably NOT need a car during the week.
Transportation: from San Francisco International Airport: Shuttle
service (Airport Connection) to the Stanford Campus approx. $17.00
each way; from San Jose International Airport: approx. $17.00
GENERAL INFORMATION
Registration: Mail the registration form to the Western Institute of
Computer Science, P.O. Box 1238, Magalia, CA 95954;
FAX the registration form with your VISA/Mastercard number or company
purchase order number to (916) 873-6697; or
EMAIL your registration with company purchase order number or
VISA or Mastercard number to barn...@hudson.stanford.edu;
TELEPHONE (916) 873-0575 with your company purchase order number or
VISA or Mastercard numbers.
CANCELLATIONS: are accepted up to 14 working days prior to the start of the
course. A $100 processing fee will be assessed. After that date,
no refunds will be given, but you may send a substitute in your
place. If WICS is forced to cancel a course for any reason, liability
is limited to the return of the paid registration fee.
FOR INFORMATION: Call Western Institute of Computer Science
at (916) 873-0575; email to barn...@hudson.stanford.edu.
_____________________________________________________________________________
Registration Form
ADVANCED JAVA
August 12-16, 1996
Registration on or before July 29
[ ] ADVANCED JAVA $1,450
Registration after July 29
[ ] ADVANCED JAVA $1,575
Name____________________________________
Title___________________________________
Company_________________________________
Address_________________________________
________________________________________
City/State______________________________
Zip___________________
Country_________________
Work Phone (________)___________________
Home Phone (________)___________________
Electronic Mail address __________________________
on network _____________________
Total amount enclosed: $___________
Method of payment
[ ] Check enclosed (payable to WICS)
[ ] Visa/Mastercard #________________________________ card exp.
date__________
cardholder signature___________________________________________________
[ ] Bill my company. Purchase Order #__________________________
Write billing address below.
Return registration form with payment to:
Western Institute of Computer Science
P.O. Box 1238
Magalia, CA 95954-1238