Java Quick Reference
  Application Design
  GUI Design
  Database Processing
  Networking
  Threads
  Errors and Exceptions
  Security
  Documentation
 

SCJD Study Notes

!!! ALWAYS CHECK SUN'S SITE FOR THE LATEST OBJECTIVES !!!

Overview

The exam consists of two parts:

  1. A programming assignment
  2. An examination to be taken at a test center. This exam contains multiple-choice and essay questions relating to the programming assignment.

There is no time limit on completing the assignment.

Quote from Sun

Basically, the SCJD is testing your ability to apply the Java core API set to code the solution to a problem. Because it is a programming assignment, you do not have a set time frame in which to complete the assignment. So, you can get the assignment and determine the studying you need to do.

It is recommended that you track your design decisions as the exam portion will ask you to explain why you opted for one design feature over another. Also, register for the exam immeadiately upon uploading your assignment, while your assignment is still fresh in your mind.

The majority consensus (from what I've seen in the forums) is that the assignment takes roughly 120 hours of work to complete.

Downloading the assignment

Order the assignment from Sun. They will send you information on downloading the assignment within 2 business days. The download will include a jar file containing:

  • an Introduction and Index document
  • source code that serves as a starting point
  • a binary database file

Assignment features

The assignment requires the following features:

  • a GUI for viewing information. Must demonstrate good principles of design. The specific design requirements will be provided in the assignment instructions.
  • database extensions to support a flexible search and record locking
  • network server functionality for the database systems.
  • communications functionality to connect the user interface with the database. The server must be multi-threaded and thread safe.
  • the application must be able to run in either stand-alone or network mode
  • the GUI interface must be flexible enough to allow the easy implementation of future enhancements

The finished assignment must include:

  • source and object code
  • Javadoc documentation
  • Database server documentation
  • User interface (client) documentation
  • a README file

Marking

The programming assignment is worth 155 points, you need 124 points to pass

Marks are based on the following criteria:

  • General Considerations (58)
    • ease of use (23)
    • coding standards and readability (23)
    • clarity and maintainablity of the design and implementation (12)
  • Documentation (20)
    • user documentation (10)
    • javadoc source documentation (5)
    • comments (5)
  • User Interface (24)
    • layout uses accepted GUI principles
  • Server Design (53)
    • locking (30)
    • error handling (8)
    • search algorithm: clarity and efficiency (15)

Knowledge of the following Technologies is apt to be required

  • Application Design: Use cases, CRC, UML, Patterns
  • GUI Design using Swing components and event handling
  • Database processing
  • Networking: Client-Server design, TCP/IP, Sockets, RMI, I/O Streams, Object Serialization
  • Threads: implementing multi-threading
  • Error and Exception handling
  • Security profiles
  • Documentation: JavaDoc, User Guide, Install instructions