DAVID NASSAU is an advisory
software engineer at MDL Information Systems, an East Bay software company
that serves the biotech and pharmaceutical industries. He develops rich
client-server applications using both client- and server-side Java. He has
also worked in C++, Visual Basic, Pascal, and other languages. At MDL he
has helped to design a scripting language for chemistry business rules.
Previously he worked as an applications and database consultant in the
Washington, D.C., area. Email: davidn@mdli.com |
|
THOMAS ALBERT, Ph.D., is
senior technical communicator in the programmer/writer group at MDL
Information Systems. His nine years of experience documenting software
include a wide range of platforms, audiences , and industries. He holds a
doctoral degree in English and a UC Berkeley Extension Certificate in
Computer Information Systems. His four years of experience teaching
University Extension courses include serving as co-instructor for First
Course in Java, as well as instructor for Technical Communication in the
UNIX Environment, Computer Administration, Information Architecture, and
Technical Communication I and II. Email: java@WORDesign.com |
Either of these two versions of the book by Laura Lemay and Rogers Cadenhead
http://www.cadenhead.org/book/java21/
Sams Teach Yourself Java 2 in 21 Days, 2nd Edition
(2000)
650 pages paperback (no CD).
ISBN 0-672-31958-6 (approximately $30).
This more economical addition does not include the chapters for weeks 9
and 10, but lecture notes will cover the essential material.
Sams Teach Yourself Java 2 in 21 Days, Professional Reference Edition, 2nd Edition
(2001)
816 pages with a sturdy hardcover.
Same pagination as the paperback version but also includes a "bonus
section" in the back about Java servlets, Java Server Pages (JSP),
and Java support for Extensible Markup Language (XML).
Includes a CD-ROM with the Sun's Java Development Kit (JDK 1.3), Sun's
integrated development environment (Forte), and the book's source code.
ISBN 0-672-32061-4 (approximately $50).
Week | Date | Chapters | Exams | Homework due the following Saturday at midnight |
1 | 18 March | 1: 21st Century Java 2: Object-Oriented Programming |
SKD up and running with HelloWorld; p. 57, 2nd bullet |
|
2 | 25 March | 3: ABC's of Java 5: Lists, Logic, and Loops |
p. 84, 2nd bullet p. 131, 2nd bullet |
|
3 | 01 April |
4: Working with Objects 6: Creating Classes and Methods |
p. 106, 2nd bullet p. 161, 2nd bullet |
|
4 | 08 April | 7: Writing Java Applets 8: Working with Swing |
Study for midterm p. 191, 2nd bullet p. 221, 2nd bullet |
|
5 | 15 April |
9: Building a Swing Interface 10. Arranging Components on a User Interface |
MIDTERM | p. 267, 1st bullet |
6 | 22 April | 11: Responding to User Input 13: Threads and Animations |
p. 296, 2nd bullet | |
7 | 29 April | 15: Packages, Interfaces, and Other Class Features 16: Error Handling and Security |
[students receive midterm grades] | p. 416, 2nd bullet p. 441, 2nd bullet |
8 | 06 May | 17: Handling Data through Java Streams 19: Communicating across the Internet |
p. 467, 2nd bullet p. 522, 1st bullet |
|
9 | 13 May | 26: Writing Java Servlets 27: Using JavaServer Pages (JSP) |
Study for final | |
10 | 20 May | 28: Reading XML Files | FINAL |
First Course in Java
X429.9 (2 semester units in Electrical Engineering and Computer Sciences)
This is an introductory Java course for nonprogrammers who want to become
programmers eventually. Java uses syntax similar to C/C++. However, even if you
are unfamiliar with C/C++, you should be able to learn Java. The course focuses
mainly on the Java programming language using JDK 1.2, its syntax and semantics.
It covers data types, variables and constants, assignment and initialization,
relational and Boolean operators, control and flow constructs, classes and
objects, basic object-oriented programming with Java, understanding Java
applets, and graphics programming with Java.
World Wide Web pages are becoming truly interactive, with embedded applets for
content, animation, graphics, and sound. This is made possible by using Java,
with its promise of platform independence. What this means is that "write
once, run anywhere" may become a reality for software development (that is,
software written for Windows would work equally well on Macintosh, UNIX, and
other platforms, and vice versa).
On completion of this course, you should be able to write basic Java
applications and applets, and you should be prepared to undertake advanced
courses in Java. Enrollment is limited.
Grade | Score (in %) |
A | 81% -100% |
B | 71% - 80% |
C | 61% - 70% |
D | 51% - 60% |
E | <51% |
You are responsible for your work. You do
not have to contact us with a reason of absence.
If you decide to withdraw, it is your responsibility to make sure that U.C.
Berkeley Extension processes your withdraw request and removes your name from
the final grading form. If your name appears on the official grading form, we
will assign you the grade you earned at the end of the five weeks.
The mid-term and final exam must be each student’s individual work without
the help of others, books, or notes.
If you cheat, you fail that exam.
If you do not have access to email, please contact one of the instructors to
make arrangements for submitting questions as paper printouts. We strongly
discourage paper submissions because we cannot run your program unless we retype
your source code.
We prefer not to accept floppy disks because of the risks of a computer virus.
In general, we request that students submit each question as a zip archive
(or tar) consisting only of plain text with the source code and sample output.
Do NOT email us executables or attachments of any kind. Also, do not paste the
code into the body of an email because line breaks change in the email reader.
We advise you to verify the quality of your work before you submit it.
The email body should have a header (see description below), your source
code, and sample output.
The email header should follow this format:
Download Sun's JDK (Java Development Kit) for your computer's platform:
You will need to compile and run your Java source code, and we support this official JDK.
For this First Course in Java, we recommend that you write your source code using a text editor you like. Some text editors add color to your source code to indicate comments, keywords, etc.
There are integrated development environments (IDEs) with sophisticated
features, but we do not provide support for them. In addition, gaining
familiarity with any new tool involves a learning curve that will cost you time.
We list some IDEs for your information only.
last updated: 11 March 2002
Copyright © Feb 2002 granted to the Regents of the University of California