PIC 20A/1, Summer 2001
Principles of Java Language with Applications
SYLLABUS
MAIN LECTURE:
- Instructor:
Fedor A. Andrianov.
- Class meets: MTWR, 10:30a - 11:20a in MS 4000A.
- Office hours:
- MW, 11:30a - 1:30p, in MS 5338.
- TR, 11:30a - 12:30p, in MS 5338.
- And also by appointment.
DISCUSSION SESSIONS:
- Teaching Assistant:
Triet M. Le.
- Section 1a meets TR at 12:30p - 01:20p in MS 4000A.
TEXTBOOKS:
(please choose one of the following books, there is no need to use both
of them)
EXAM DATES:
GRADING POLICY:
MISCELLANEOUS:
- The class web page is:
http://www.math.ucla.edu/~fedandr/20a.1.011/.
- Please consult the class web page for the latest
as well as for a detailed information on class policies and procedures.
- I do not give incompletes, except in cases of extreme human tragedy.
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 Basics:
- Overview of the Java Platform;
- Introduction to Application and Applets;
- How Java Differs from C and from C++.
- The Story of OOP:
- 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 Multimedia:
- Images;
- Sounds;
- Animations.
- Threads: doing several thing at once ...
Last modified on
by fedandr@math.ucla.edu.