MW 5:00-6.15, NAC 7/225
Professor McCracken
Textbook: Sun Certified Programmer & Developer for Java 2, Kathy Sierra and Bert Bates, Osborne, 2004. Get this book. You need to know everything in it. It was written by two of the people who wrote the Sun exam. It has sample exams, which we will study in great detail. (Well, not everything; it has some chapters on preparing for the Sun Certified Java Developer Exam, which is another story altogether.)
Purpose of the course: to prepare you to pass the Sun Certified Java Programmer (SCJP) exam, for Java 1.4. We're not going to memorize the textbook, but there are some things you may have to memorize as a matter of tactics. We will write some programs, to try to put things in context, but perhaps not very many. You need to write hundreds of small/tiny programs to test your knowledge of concepts and details. You don't have to wait for classes to start to do that.
NOTE: If you don't care one way or the other about certification, be assured that this will be a useful course for you, too. You will come out knowing the language very well indeed.
NOTE: It is alleged that a new edition covering Java 5 will be available January 31. Do not believe this until you have seen a bound copy. I'm doubtful that we can do more than prepare you to pass 1.4, although that remains to be seen. I would not wait to see if the Java 5 edition comes out anywhere near the promise date; gotta get to work, and such promises are notoriously unreliable. (I once adopted a book for 212 that was promised for "early August." We got it in October.)
Mock exams will be a key learning tool. Here are two you could be working on now:
In class we will study the chapters of the text, with examples. We will work on mock exams together. We will discuss tactics for getting the questions right:
More later, but I think this is a pretty good overview of the course.
Added January 7.
The Sun SCJP 1.4 certification website (http://www.sun.com/training/catalog/courses/CX-310-035.xml) lists nine exam objectives. The course will be organized around these.=
Section 1: Declarations and Access Control
Section 2: Flow control, Assertions, and Exception Handling
Section 3: Garbage Collection
Section 4: Language Fundamentals
Section 5: Operators and Assignments
Section 6: Overloading, Overriding, Runtime Type and Object Orientation
Section 7: Threads
Section 8: Fundamental Classes in the java.lang Package
Section 9: The Collections Framework
The chapters in the textbook are not exactly like this, but it's a close enough match. Follow the link above for a more detailed breakdown of the topics under these sections.
Lectures: I'll give a fast overview of each section, with example programs and explanations. The course will move along at a semi-furious pace, and you'll have to do a great deal on your own. But not everything. I'll lecture, and class discussions will help us all.
Exams. I'm thinking that we'll have a mini-exam on each of these topics, starting about the second week and continuing about once a week. I'll make up the exams from questions on mock exams, of which there are lots, and some of my own. All questions will be in the style of the Sun exam. At the end of the course maybe there will be some kind of consolidated mock exam.
Grading: based on performance on these exams. We may have some homeworks, too, where you put the pieces together and see things in context, but that cannot be the focus of the course, as it usually is in my courses.
Summary Goal of the Course: Get you ready to pass the SCJP exam with a high score. If that seems too narrow, then maybe this isn't the right course for you. I've never done this before. Normally, I abhor "teaching to the exam." But this is special. The SCJP certificate is reliably reported to be a significant plus in job hunting, and I want you to get a job!
But, if you don't really care about certification and just want to learn Java in much greater depth than in any other course in our curriculum, this is the course for you, too.
What it is not, is a course in program design and development using the full power of Java. For that we would need to offer a course in Object-Oriented Analysis and Design (OOAD), which would cover UML and design patterns especially, and involve a major project. I hope that is done in 322, Software Engineering. Except that the 322 professor can't assume you know Java as thoroughly as you will after passing this course. A bit of curriculum work needed, perhaps. A tricky and difficult issue.
Back to Dan McCracken's Home Page