First Course in Java (U.C. Berkeley Extension, Spring 2002)

calendar

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

TEXTBOOK

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-by-Week Schedule

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  

Description

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.

Grading

Grade         Score (in %)
A  81% -100% 
B 71% - 80%
C 61% - 70%
D 51% - 60%
E <51%

Criteria for Grading the Midterm and Final

Attendance

You are responsible for your work. You do not have to contact us with a reason of absence.

Withdrawing

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.

Academic Dishonesty

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.

Submitting Questions

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:

Software to Develop Java Code

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