PIC 20A, Spring 2002
Principles of Java Language with Applications
SYLLABUS
MAIN LECTURE:
DISCUSSION SESSIONS:
- Lecture 1:
- Section 1a meets TR at 01:00pm - 01:50pm in MS 5148,
TA:
Rong, Feng.
- Section 1b meets TR at 12:00pm - 12:50pm in MS 5117,
TA:
Cheng, Bin.
- Section 1c meets TR at 01:00pm - 01:50pm in MS 5217,
TA:
Cheng, Bin.
- Section 1d meets TR at 12:00pm - 12:50pm in MS 5148,
TA:
Rong, Feng.
- Lecture 2:
- Section 2a meets TR at 02:00pm - 02:50pm in MS 5217,
TA:
Nezzar, Suzanne.
- Section 2b meets TR at 03:00pm - 03:50pm in MS 5147,
TA: CANCELLED !!!
TEXTBOOKS:
EXAM DATES:
- Midterm:
Friday, May 3, 2002, in class.
- Final exam:
Sunday, June 9, 2002, 3:00pm - 6:00pm, in TBA.
GRADING POLICY:
MISCELLANEOUS:
- Please consult the class web page
"http://www.math.ucla.edu/~fedandr/20a.1.02s/"
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:
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 outline follow below:
- Java Basics:
- Overview of the Java Platform;
- Introduction to Application and Applets;
- How Java Differs from C and from C++.
- The Story of Object-Oriented Programming:
- Objects, Classes and Interfaces;
- Inheritance and Polymorphism;
- Packages and Visability.
- Java Graphics and Java2D API:
- Colors, Fonts and Metrics;
- The Graphics Context;
- Drawing Text, Lines and Shapes.
- Graphical User Interface Basics:
- AWT, JFC and Swing Package;
- Containers and Layouts;
- GUI Event-Handling.
- Java I/O:
- Streams;
- Object Serialization;
- Random Access Files.
- Handling Errors Using Exceptions.
- Threads: doing several thing at once ...
Last modified on
by fedandr@math.ucla.edu.