|
|
Part 3 Appendices
- A Overview of the Certification Process
- B Using the CD-ROM
Appendix A Overview of the Certification Process
To become a Sun Certified Java Programmer or Developer, you must pass a rigorous certification exam that is designed to measure your level of knowledge about Java. The two certifications that Sun offers are sequential: you must pass the Java Programmer exam before qualifying to take the Java Developer exam. These two exams measure very different things:
- Sun Certified Java Programmer. You must have a firm grasp of all Sun-provided development tools, especially the contents the JDK, JVM, and Runtime Environment. You must also show mastery of Java syntax, reserved words, declarations, language mechanicssuch as object accessibility modifiers, the core APIs, and the issues involved in implementing applets and Java applications.
- Sun Certified Java Developer. To pass this exam, you must first have passed the Java Programmer exam. Then you must demonstrate knowledge of object-oriented design techniques, Java-related technologiessuch as JDBC and IDL, and Java deployment issues. The final part of this exam is an actual programming assignment.
Note: For up-to-date information about each type of certification, visit the Sun Educational Services Certification Programs Web site\plain\f2\fs20 at http://www.sun.com/service/suned/cert/index.html
Sun Certified Java Programmer Exam
The Sun certification process is hierarchical in that the certification process contains two steps. The first step is the Sun Certified Java Programmer certification and the second is The Sun Certified Java Developer certification. This is not to say that the Certified Programmer certification is in any way easier than the Certified Developer certification. Rather, the information tested in the Certified Programmer is merely a prerequisite of the information required to pass the Certified Java Developer.
The amount of information covered in the Sun Certified Java Programmer examination is vast. Everything from JVM architecture to Graphic User Interface (GUI) event syntax is covered. Thats a lot of information, and passing the exam is by no means a trivial task, but there is no need to worry. The examination content is broken down into distinct areas of study, which correlate directly to the chapters of this book.
If you take a step back and look at each of the Sun Certified Java Programmer Certification areas individually, each contains only a finite set of testable items. The following lists the specific regions of study for Java Programmer Certification and the associated chapter where relevant information can be found.
- Java Virtual Machine SpecificationChapter 1, Java and the Java Virtual Machine (JVM), provides in depth information on the JVM and class file structure.
- Language Syntax KnowledgeChapter 2, Java Language Internals, provides a detailed account of Java reserved words, conditionals, loops, object definitions, and visibility operators.
- Language MechanicsChapter 3, Java Objects and Exceptions, focuses on vital Java topics such as interfaces, inheritance, packages, exceptions, and proper use of visibility operators.
- Java Thread SupportChapter 4, Threads in the Java Platform, is devoted to the sometimes confusing world of Java thread support.
- API KnowledgeChapter 5, Java API, explores each key package of the Java API library, including the Abstract Window Toolkit (AWT), and exception-specific syntax.
- Sun-Provided Development Tool Knowledge and Runtime EnvironmentChapter 6, JDK Supplied Tools, is devoted to the coverage of the Java Runtime Environment, the JDK supplied tools, coverage of the JVM architecture, and class file format.
Sun-Provided Development Tool Knowledge and Runtime Environment
Obtaining a firm knowledge of the Java technology begins at ground zero, the Java Virtual Machine (JVM). Java is more than a programming language; it is an entire set of technologies that have merged to form a ubiquitous development platform. Conveniently, Sun has packaged this suite of technologies into the Java Development Kit (JDK) and Java runtime environment.
Chapter 1, Java and the Java Virtual Machine (JVM), explains the entire Java technology from JVM architecture to the tools and runtime environment provided by Sun. With a bottom-up approach to the Java technology, you will see the entire picture of the Java technology phenomenon.
Language Syntax Knowledge
Programming efficiency is a function of the knowledge of the programming language, and a Java-certified programmer is required to be highly proficient in the Java language. A couple of common arguments against the requirement for rote memorization of a programming language syntax are, If I really need to know it, I can look it up, and, I know the theory of the language; syntax is just a detail. Both of these arguments hold merit, but they fail to address the issue of programming efficiency.
The intimate knowledge of a language provides a productive conduit through which ideas flow. Case in point: you may very well be able to ask for a restroom in a foreign tongue armed with a translating dictionary, but try explaining the design framework for a new application. You cannot expect to efficiently and elegantly code a new application without a firm understanding of that specific development language. The Java Certified Programmer exam tests language proficiency to a level that ensures language mastery. Chapter 2, Java Language Internals provides a detailed account of exactly what is required to be proficient in Java, including detailed discussions of proper syntax usage, language-reserved words, and declarations.
Language Mechanics
Its one thing to know all of the keywords of a language; its quite another to know exactly how to use each of those words. This skill is often referred to as language mechanics. For example, take the sentence Java is great. You can reconstruct the sentence into Great is Java, and maintain the meaning, but you lose some of the eloquence. It is the goal of the Java Certified Programmer exam to test not only that you know what to say but how to say it.
Testing Java language syntax knowledge determines how well you know the keywords, or reserved words, of the language. Testing Java language mechanics validates knowledge of Java as an entire development language. For example, Java provides four object accessibility modifiers which are public, private, default, and protected. Each of these modifiers has drastically different effects on developed objects, but all are syntactically correct.
Firm knowledge of language mechanics ensures solid, scaleable, and extensible implementations. Chapters 3 and 4 provide an in-depth Java language mechanics lesson, and Chapter 4, Threads in the Java Platform, will dive into the specific Java mechanics of Java thread support. After you have completed Chapters 35, you will have a firm understanding of the mechanics of the entire Java language, as well as the knowledge required to become a Sun-Certified Java Programmer.
Java API Knowledge
A good measure of Javas popularity can be attributed to its vast API libraries. Everything from basic math functions to public key security can be found in the Java API libraries. For the Java developer, these libraries are the life blood of Java development, and the key to the programming simplicity that many programmers have come to love about Java.
Application Programming Interfaces (APIs) provide functionality above and beyond the facilities the languages provide. That is, you probably would not expect a language to enable pictures to be displayed. But you would definitely expect a language add-on to provide such a service. In this manner, APIs can be viewed as leveraging the work others have done to simplify development. This concept is not a new one introduced by Java; however, it is a concept that Java mastered.
Knowing the Java-supplied APIs is like a carpenter knowing what tools are in his or her tool box. With such knowledge, the carpenter can look at a problem and choose the tools that will expedite the completion of the task. In Java, knowledge of the supplied APIs is not only a requirement to become a Certified Java Programmer, but it is also crucial to productive Java programming.
Specific Applet and Application Implementation Issues
Many newcomers to Java believe an applet to be synonymous with Java, and for good reason. Javas main marketing push, and chief distinguishing technology, is and has been applets. It has not been until recently that Java applications and enterprise solutions have begun to take center stage. Nevertheless, the fact remains that Java application deployment can take two discrete routes, each with separate associated issues.
Applets are Web-deployed applications, and Java applications are stand-alone program executables. The key difference between the two lies in what the executable calls home. That is, an applets home is inside a Web browser that dictates the applets operating environment. A Java applications home is in the executing computers operating system. Each deployment offers its own set of attributes, with neither being superior to the other. Rather, the deployments have their own qualities and abilities. The key is to know which one fits your need most precisely.
During the discussion of the Java runtime environment in Chapter 1, you will be exposed to the differences between applets and applications. The differences are not vast, but they are great enough to justify the distinction as required knowledge to become a Certified Java Programmer.
Sun Certified Java Developer Exam
Its one thing to be a programmer; its another to be an engineer. The difference is more than a play on words. A programmer writes code, which is why the Certified Programmer exam focuses on core Java language proficiency and runtime knowledge. An engineer not only holds the knowledge to code an application, but also possesses the skills needed to design a reusable, extensible, and cost-effective implementation.
An engineer is a programmer who can justify a design. This is the reason for the certification hierarchy. In order to sit for the Certified Java Developer exam, you must first complete the Certified Java Programmer exam. In this way, the Certified Developer exam focuses only on specific Java design and implementation issues.
The Certified Developer exam focuses on a handful of key Java development issues; it also involves an actual programming assignment that ranges in complexity from a simple GUI exercise to a complex thread scheduling. However, with a firm grasp of the Certified Programmer examination content and mastery of the following areas of Java development, you will be amply prepared for anything thrown at you.
The following lists the specific regions of study for Java Developer Certification, and the associated chapter where relevant information can be found.
- Network ProgrammingChapters 10, Network Programming, introduces network programming using the provided Java facilities, including RMI.
- Object-Oriented DesignChapter 11, Creating Java APIs, explores OOD with a Java flavor, including issues such as extensible object abstraction, persistent object storage, and autonomous object design.
- Java-Related TechnologiesChapters 12, JFC and Java Media Kit, through 14, Additional Java Technologies, provide a menu of the Java technology suite, including discussions of RMI, JavaBeans, JDBC, and CORBA interaction.
Object-Oriented Design
Object Oriented Design (OOD) is a relatively new concept in the development community, but it is one that Java has mastered. When you get into OOD theory, you begin treading on delicate and sensitive personal preferences. Developers with C++ background hold their paradigm to be pure, as do the SmallTalk and Ada communities. Without stepping on any toes, a safe and correct statement to sum up Java Object capabilities is Java provides an ample canvas for development and implementation of true OOD.
Unlike C++, which needed to maintain compatibility with C, Java was created without any such prerequisite. In fact, Java was created with the sole intention of implementing a truly Object Oriented Programming (OOP) language. The result was Javas self-contained, adaptive, and extensible Object model and Object Naming Space.
In Chapter 11, Creating Java APIs, you will find a detailed discussion of the Java Object model, as well as the information required for the Certified Java Developer Exam. At this level, the information presented transcends rote memorization and provides useful information for all aspects of software development.
Java-Related Technologies
In the early days of Java, Java was used solely for presentation of dynamic content on the Web. Since then, the Java suite of technologies and APIs has ranged from 2D and 3D graphic APIs to a component framework for enterprise-level distributed computing. The Java technology suite has grown and will continue to grow. It is the job of a Certified Developer to know the available technologies.
Java has exploded. The original JDK 1.0 beta contained the bare necessity technologies. Things such as JDBC, JavaBeans, and RMI were just a glimmer in some engineers eye. The suite of Java technologies has grown exponentially, and some day the growth will plateau. However, for the time being, Java technology growth is just like the Energizer bunny: It just keeps going, and going, and going
Where there was once one Java technology there now are many, and keeping abreast of the technologies is a full-time job in itself. Chapter 12 through 14 will present all the key technologies that make up the Java technology suite. With this content, the chapters will provide not only vital information for the Certified Java Developer exam, but also a one-stop-shopping experience for all that is and will be hot in the Java development community.
Java Deployment Issues
Write once, run anywhere! That has been the battle cry of Java since its inception. But life is not that cut-and-dried. Applets run in browsers, and Java applications run from within the native operating system. The downside of this story is that applets must reside inside a browser, and Java applications cannot function inside a browser. So the slogan Write once, run anywhere! does have some exceptions, and where there are exceptions there are deployment issues.
In developing a new Java program, the decision to implement the program as either an applet or an application may seem like a logical first step. Nevertheless, it is usually the exception and not the rule that such a step is considered, resulting in large amounts of development resources being wasted due to misinformation. To avoid wasting development cycles and ensure proper design rationales, the Java Certified Developer exam tests for knowledge of key Java deployment issues.
Chapter 11, Creating Java APIs, will explore the various Java deployment issues, including the JDK 1.1 test suite. Knowing what to expect and what to plan for might not always be possible. What is possible and vital to a project is knowing what to watch out for. That is the reason for knowing Java deployment issues.
Registering for the Exams
The Sun Java Certification exams are proctored by Sylvan Prometric, a division of Sylvan Learning Systems (which acquired Drake Prometric in 1995). Sylvan Prometric has a large set of international testing facilities.
When youre ready to take the exam, contact your local Sun Educational Services Office to purchase a voucher. You can locate the nearest Sun office by visiting http://www.hibbertco.com/sun/suncontacts/contacts.html.
Once the voucher has been purchased, you will be directed to the local Sylvan Authorized Prometric Testing Center to register for your examination.
The Sun Java Certified Programmer exam consists of a written test that is administered on a computer. Answers are a combination of multiple choice and short answer. The testing software included on the CD-ROM with this book mimics the testing environment and will help you practice and feel confident for your exam. You will have your test results within minutes of completing the exam.
After you pass the Programmer exam, you can try to take the Developer exam. The Developer exam consists of two parts. The first part is a programming exercise that you download from the Web, complete at your own speed, and then upload again for grading. It will take approximately 4 weeks to get your results. The second part of the exam is a series of multiple choice and short answer questions administered in the same way as the Programmer exam.
Each written exam costs $150.00. The programming exercise for the Developer Certification costs $250.00. That is, assuming you pass each exam the first time, completing the Certified Java Programmer certification costs $150.00 and the Certified Java Developer certification costs $400.00 ($150.00 + $250.00).
It is the goal of this book to provide the tools you need to pass the entire suite of certification tests.
|