Java Developer Certification Package, CD-ROM Edition (PK-CSPJ-CD3B)

Java Developer Certification Package, CD-ROM Edition (PK-CSPJ-CD3B)
 
   Multiple Product Package
  »   Multiple Product Package
  »   Multiple Product Package
  »   Multiple Product Package
 
 
 
Package Description
This Certification Success Package is for Java programmers interested in expanding their knowledge of the Java programming language to develop complex, production-level applications, and then demonstrating advanced proficiency by becoming a Sun Certified Java Developer. The package includes Sun Authorized courseware on CD-ROM, online practice certification exams, and the actual certification assignment and essay exam. This package also includes an opportunity to resubmit your assignment just in case you need it.NOTE: You must first be a Sun Certified Java Programmer to become a Sun Certified Java Developer.

This package includes Sun authorized courseware, Web-based practice certification exams, and a voucher for the certification exam. As an added bonus in select countries, should you need it, you will also receive a free retake exam. » See participating countries and terms and conditions.

 
 
Package Skills Gained
Become a Sun Certified Java Developer
 
 
Package Components

Select Date(s)
Product ID Price
PK-CSPJ-CD3B $900.00

 

Developing Applications for the Java SE Platform (CDJ-285-SE6)

The Developing Applications for the Java SE Platform course provides students with practical experience in designing a vertical solution for a distributed, multi-tier application. Students use graphical user interface (GUI) design principles and network communications capabilities to code a functional Java application that interacts with a networked database server. The blended approach of designing and developing programs for applications has been clearly emphasized in this course. New features that blend with the special IDE GUI building capabilities, such as Matisse, are covered. The course features the Java Platform, Standard Edition 6 (Java SE 6) technology and utilizes the Java SE Development Kit 6 (JDK 6) product. The students perform the course lab exercises using the NetBeans Integrated Development Environment (IDE) 5.5.

 
 
Course Length

10 hours

 
 
Languages
English

 Back to top

 
 
Who Can Benefit
Students who can benefit from this course are programmers already familiar with the basic structure and syntax of the Java programming language and who need to further expand this knowledge to develop complex, production-level applications. Completing this course also assists individuals preparing for the Sun Certified Developer for the Java 2 Platform examination.

 Back to top

 
 
Prerequisites
To succeed fully in this course, students should be able to:
  • Develop applications by using the Java programming language
  • Understand basic Unified Modeling Language (UML) diagrams
  • Understand basic Structured Query Language (SQL) statements
  • Understand how to implement interfaces and handle Java programming exceptions
  • Use object-oriented programming techniques
  • Understand GUI design
  • Understand basic Transmission Control Protocol/Internet Protocol (TCP/IP) communication
  • Program with sockets or streams
  • Understand the monitoring framework that is provided by Java
  • Develop testing methodologies and test procedures

 Back to top

 
 
Skills Gained
Upon completion of this course, students should be able to:
  • Apply Model View Controller (MVC) design pattern to create reusable classes
  • Implement unit testing using JUnit
  • Implement a program from the ground up that could be used in a commercial intranet application
  • Develop classes to connect programs to Structured Query Language (SQL) database systems using the core aspects of the Java Database Connectivity (JDBC) application programming interface (API)
  • Organize and set up the GUI generation and event handling to support a Java technology project
  • Implement the Logging API to generate log messages in GUI
  • Implement monitoring functionalities using JMX
  • Create two-tier and three-tier Java technology applications
  • Create a multithreaded server
  • Create remote objects using Java Remote Method Invocation (Java RMI)

 Back to top

 
 
Related Courses

Before:

After:

 Back to top

 
 
Course Content

Module 1 - Introduce the BrokerTool Application

  • Explain the problem statement of the BrokerTool application
  • Creating and populating the StockMarket Database
  • Executing SQL Statements on the StockMarket Database

Module 2 - Apply the Model View Controller (MVC) Design Pattern

  • Explain design patterns
  • Explain the MVC design pattern
  • Analyze how the MVC design pattern can be used in applications
  • Add MVC Interaction Code

Module 3 - Implement Unit Testing

  • Develop unit testcases using JUnit
  • Execute Unit testcases
  • Open the InfoTool Project
  • Prepare JUnit Test Cases for the InfoTool Project
  • Analyze the JUnit Test Cases of the InfoController class of the InfoTool Project
  • Create and Analyze Test Methods Inside InfoToolTest.java File
  • Create a TestSuite of all the Test Cases of the InfoTool Project

Module 4 - Design the BrokerTool Application

  • Apply the MVC design pattern
  • Begin the analysis and design of the project under study
  • Develop a build plan for the project
  • Create the MVC Participants
  • Establish the BrokerTool MVC Baseline

Module 5 - Implement the Java Database Connectivity (JDBC) API

  • Describe the JDBC API
  • Explain how using the abstraction layer provided by the JDBC API makes a database front end portable across platforms
  • Describe the five major tasks involved with the JDBC programmer's interface
  • State the requirements of a JDBC driver and its relationship to the JDBC driver manager
  • Describe the data access objects (DAO) pattern and its applicability to a given scenario
  • Identify the Workflow and Object Interactions
  • Implement a Database-Connected Broker Model by Using the DAO Pattern

Module 6 - Create Graphical User Interfaces (GUI)

  • Apply the principles of good GUI design
  • Design and implement a GUI for the project using Matisse
  • Apply the Composite Design pattern to build the BrokerTool GUI
  • Use JTable and JTabbedPane classes in your application to build a sophisticated GUI
  • Add AllCustomerTablePanel to the Palette Window and drag-and-drop to the BrokerGui Class
  • Create the CustomerPanel Class, add to the Palette Window and drag-and-drop to the BrokerGui Class
  • Change the Order of the Tabs
  • Compile and Test the BrokerGui Class

Module 7 - Handle GUI Events

  • Implement a view class
  • Implement a controller class
  • Create the BrokerTool view class
  • Create the BrokerTool controller class
  • Compile and Test the BrokerGui class
  • Add event handling functionality

Module 8 - Log Messages in GUI

  • Use the logging API
  • Examine a logging example
  • Write a custom handler
  • Set filters to a particular handler
  • Create the Custom Handler class

Module 9 - Implement Multiple-Tier Design

  • Compare the BrokerTool two-tier design with the three-tier design for the same application
  • Explain how you can use the Java technology package, java.net to implement networking applications
  • Demonstrate how to use the Command design pattern in the application
  • Apply the Strategy design pattern to create reusable code
  • Describe how you can implement the network client
  • Describe how you can implement the network server

Module 10 - Implement Advanced Multiple-Tier Design

  • Use the new Java concurrency APIs to create a multithreaded server
  • Examine a thread pool
  • Identify integrity problems in multithreaded servers
  • Create a Generic Network Client Class

Module 11 - Communicate With Remote Objects Using Java RMI

  • Create remote objects
  • Use Java RMI to create a multi-tier application
  • Deploy a Java RMI implementation of the BrokerModel interface
  • Create a Java RMI implementation of the BrokerView interface

 Back to top

 

Sun Certified Developer for the Java Platform, Standard Edition: Assignment (Step 1 of 2) (CX-310-252A)

Description of the Developer Assignment

This is a description of the nature, scale, and scope of the problem you will be required to solve in the Developer assignment. These notes do not form any part of the actual assignment, and if you find a contradiction between these notes and the actual assignment instructions, you must adhere to the instructions in the assignment documents.

Nature of the assignment

The assignment requires that you write working code for a small but plausible business system. To keep the amount of work involved to a reasonable level, the programs you create will be much more restricted in capability, and much cruder in overall presentation, than anything you would actually create for a paying customer. However, the essence of the problem will be the same. You will be graded on correctly solving the technical requirements, not on the "polish" of the finished product. Note however, that some aspects of ease of use, for example how easily the program may be started or configured, will be part of the scoring criteria. Pay careful attention to any such requirements and be sure to adhere to them.

The problem is likely to be something along the lines of a simple booking system, allowing users to view available resources, then book them. The system will not require complex business rules, but will require access to persistent storage, typically in a flat-file format, for reading and modification. You will be expected to make effective use of many of the core Java APIs, but you will not be expected to use more advanced APIs. Below you will find a list of APIs that you will be expected to use, as well as a list of APIs that you may not use. Any APIs that do not appear in either list may be used at your discretion. In fact, using more advanced APIs is likely to be specifically prohibited, as these APIs are often the subject of other certifications. You should use a consistent set of programming style conventions for your entire project. Preferably, these should be the style conventions described at http://java.sun.com/docs/codeconv.

Scale of the assignment

Obviously, the amount of time taken by a candidate to create a working solution to the assignment varies greatly. Brooks, in "The Mythical Man Month," noted years ago that programmer productivity varies by at least ten-to-one. However, a fast programmer might create a solution in about twenty hours. A more typical expectation of a time requirement might be in the order of a working week. If you spend a lot more than two weeks on the project, you might well be creating something that is more detailed than is really required, and you might want to review the scoring criteria and problem statement provided in the assignment.

Perhaps a more consistent measure of the scale of the assignment might be derived from the average number of lines of code submitted in typical passing assignments. Again, this is subject to substantial variation, but as a guide, 3500 lines of code is a reasonable estimate of the mean size of passing assignments.

Scope of the assignment

The problem set by the assignment typically requires that you create a small client-server system. You must code both the client and the server, and you probably have to create a "standalone" mode that allows a client user interface to be started that connects directly to the persistent storage with a single system and no networking.

Therefore, you should expect to create a fairly simple user interface, a network protocol with associated client and server code, a multi-user server that accesses flat files on the local file system and provides for a locking mechanism to protect the integrity of the data in the face of concurrent access from multiple clients.

The user interface will generally have to provide only limited functionality. For example, viewing all records, viewing records matching a set of criteria, modifying a record, and perhaps deleting a record.

Scoring Criteria

Your project will be evaluated on a large number of objective criteria, which fall into 6 categories:

1) General Considerations: This category covers criteria that deal with how easy it is to use and maintain your code.

2) Documentation: This includes your user instructions, Javadoc tool, and comments.

3) Object-Oriented Design: This covers the quality of your object-oriented design, especially as demonstrated in the structure of your classes and your use of variables and methods.

4) GUI: In this category you are graded on how well your GUI conforms to specification, and how easy your GUI is to use.

5) Locking: This category covers your implementation of the locking scheme which is described in detail in your assignment documentation. This part of your assignment deals with multi-threaded coding.

The maximum number of possible points is 400. The minimum passing grade is 320. The maximum points per category are:

Categories - Maximum points
General Considerations - 80
Documentation - 50
Object-Oriented Design - 50
GUI - 70
Locking - 80
Language Fluency - 70

APIs relevant to the assignment

The assignment generally requires that you can write code using the Java programming language, using any and all constructions. You must also be able to make reasonable use of the following additional facilities and APIs:

  • Thread handling and synchronization
  • Swing (and AWT to the extent necessary to support Swing)
  • Standard file IO (java.io, not java.nio)
  • Either: Socket-based network programming and serialization _or_ Java RMI (Java Remote Method Invocation) (your choice of one or the other, not both).

The following APIs and facilities may not be used:

  • Enterprise JavaBeans
  • Servlets, JSP technology, or any other web-oriented APIs
  • NIO, the New IO facilities
  • Java DataBase Connectivity (JDBC) and SQL
  • Java IDL API and CORBA
  • Third party software libraries or tools (such as browsers)

 
 
Languages
  • English

 Back to top

 

Sun Certified Developer for the Java Platform, Standard Edition: Essay (Step 2 of 2) (CX-310-027)

The Sun Certified Developer for the Java Platform, Standard Edition: Essay (Step 2 of 2) certification exam is for programmers who are already familiar with the basic structure and syntax of the Java programming language, and who have a need to further apply this knowledge to developing complex, production-level applications. Certification is available for the Java 2 platform.

 
 
Languages
  • English

 Back to top

 
 
Browse Other Course Topic Areas
 
Sun Training U.S.   
» Training outside the U.S.
 
 
 
 
 
Can't Travel for Training?
Sun eLearning and On Demand Labs give you easy access to the training you need.
Get an iPod touch
Get an iPod touch
For a limited time: order qualifying Sun training and get an iPod touch®.