PIC 20B/1, Fall 2001
Advanced Aspects of Java Language with Applications
SYLLABUS
MAIN LECTURE:
DISCUSSION SESSIONS:
- Teaching Assistant:
Ouellette, Keith.
- E-mail: kouellet@math.ucla.edu.
- Section 1a meets Thursday at 12:00p - 12:50p in MS 6627.
- Office hours:
- Tuesday, 11:00a - 1:00p, in the PIC Lab (Boelter).
- Wednesday, 11:00a - 12:00p, in MS 7630.
TEXTBOOKS:
(please note that the second book is optional, an updated version of its
entire content is included on the CD-ROM which comes with the first book.)
EXAM DATES:
GRADING POLICY:
MISCELLANEOUS:
- Please consult the class web page
"http://www.math.ucla.edu/~fedandr/20b.1.01f/"
for a detailed information on class policies and procedures as well as
for the latest
- I do not give incompletes, except in cases of extreme human tragedy.
- PIC Lab Information and Remote Access Instructions can be found at:
http://www.pic.ucla.edu/piclab/.
- Virtual Office Hours for our Class are located at:
http://www.math.ucla.edu/classes/pic/01f/20b.1.01f/voh/.
AN OVERVIEW:
To cite the marvelous
The Java Tutorial
"The Java programming language is a high-level language
that can be characterized by all the following buzzwords:
| Simple |
Robust |
High performance |
| Multithreaded |
Secure |
Object oriented |
| Distributed |
Dynamic |
Architecture neutral |
| Interpreted |
Portable |
... |
(Each of these terms is explained in
"The Java Language Environment", a white paper by James Gosling and
Henry McGilton.)"
But Java is more than just a language, in fact it is
a full computing platform - a complete computing environment like
Windows 2000 or Linux on Intel, Solaris on Sparc, or MacOS on PPC.
The principal assets of the Java Platform include an overwhelmingly large
set of rich libraries (Java API) which provide ready-made software
components with functionality ranging from database access, to multimedia
programming, to networking, to GUI programming, to secure interactions with
web browsers (e-commerce), and much more. Another principal benefit of Java
software is portability, its capacity to run on otherwise incompatible
computer systems (from cell phones, to PC's, to UNIX workstations,
IBM mainfraimes and everything in between). The latter is crucially important
in our age of global computer networks which require dynamic applications
capable of taking advantage of connected world. Last but not least, the design
of the Java language itself and the Java Virtual Machine specification are
superb examples of real craftsmenship and elegance in engeneering.
In this course we will attempt to master fundamentals of the
Java Platform. Tentative course outlines follow below:
- Java Input/Output:
- Files and Streams;
- Object Serialization;
- Working with Random Access Files.
- Java Networking:
- Using a URLConnection;
- Networking with Applets;
- A Client and a Server.
- Java Security and Cryptography:
- Controlling Applets and Applications;
- Digital Signatures;
- Cryptography.
- Java Collections Framework:
- Interfaces;
- Implementations;
- Algorithms.
- Java Graphics and Sound, Java2D API:
- Colors, Fonts, Metrics and The Graphics Context;
- Displaying and Manipulating Text, Shapes and Images;
- Playing Sounds.
- JavaBeans, Reflection ...
Last modified on
by fedandr@math.ucla.edu.