The Death of the Multiple Choice Certification Question?
As spotted by Jeanne Boyarsky on Down Home Country Coding, it looks like there is a new shift of perspective for becoming Java certified. In the new Java Programmer Plus Certification, developers will be required to show off their programming prowess.
Normally when taking the SCJP exam a developer is faced with a barrage of multiple choice and drag and drop questions. Rather than being a test of programming ability the focus tends to be about how much you can remember. The new certification will require a developer to write code to solve particular problems. The code is evaluated through the use of a Code Challenge engine that compares the results to those produced by a test harness. Specific syntax, comments and style are not taken into account, all that matters is the code compiles and meets the requirements of the question.
Currently the exam is at the beta stage and Sun are looking for developers interested in trying out the new format. The beta exams will be sat between July 22nd and July 31st 2009 in certain cities around the world. If you're interested, sign up using the Beta Request Form.
If all goes well, the new version will replace the old SCJP format in the near future.
Java Term of the Week: Expression Statement
Some expressions can be used as statements by simply adding a semicolon. They are known as expression statements. When these statements are executed the value of the expression is evaluated.
The expressions that can be made into statements:
- use the increment (++) and decrement (--) unary operators.
- assign values to variables.
- call object methods.
- create objects.
For example, the following are expression statements:
//assigning a value
number = 42;
//using the increment operator
number++;
//using the decrement operator
--number;
//calling a method
System.out.println("Is " + number + " the answer to the Ultimate Question of Life, the Universe and Everything?");
//creating an object
Universe realityOne = new Universe(42);
Robocode Update
For you robot battlers out there, Robocode v1.7.1.3 has been released and can be downloaded at the usual spot. As well as several bug fixes there is now a new kind of Robot (in a beta form) – the RateControlRobot.
The RateControlRobot tries to simulate a more realistic robot. It can be controlled by setting a rate for its movements (e.g., to move forward 10 pixels per turn). The robot will continue to move at the specified rate until it's changed or it's been blown up..
Related Articles:
Robocode: Learn Java by Building Robots
Build a Simple Robocode Robot
Java Term of the Week: Implicit Parameter
When calling a method of an object it's common to pass a value to the method. For example, if the object Employee has a method called setJobTitle:
Employee dave = new Employee();
dave.setJobTitle("Candlestick Maker");
the String "Candlestick Maker" is an explicit parameter being passed to the setJobTitle method. However, there is another parameter in the method call that is known as the implicit parameter. The implicit parameter is the object the method belongs to. In the above example it's dave, the object of type employee.
The Latest JavaFX Samples
I was just reading a post on The Planetarium about the latest JavaFX samples. I realized that when JavaFX v1.2 was released last month, I never did go and have a look at new ones.
There's now sixty or so applets posted in the JavaFX sample gallery. The latest ones to catch my eye are:
- Project Management System – Highlights the new UI Controls.
- Shopping Mashup – Using web services to show products from Yahoo Shopping based on delicious tags.
- Reversi Game – The classic counter game.
- Sudoko - A slick Sudoku puzzler.
- Twitter Client – Using the twitter API to keep track of the endless tweets.
A note for Mac users, with the latest version of Java Mac for OS X there is a new security warning popping up when running JavaFX applets. Full details can be found on this post on the JavaFX blog. Read the comments if you want to know a little bit more about the what happens to produce the warning.
Netbeans v6.7 Released
Hot on the heels of the latest Eclipse release comes version 6.7 of Netbeans. The main enhancement focuses on the increased support for developer collaboration. Netbeans now works hand in hand with Project Kenai, Sun's open source project hosting site. Developers can create and manage these projects directly from within the IDE.
There's also improvements for development with Java, C/C++, PHP, Groovy, and Ruby. The full list of new features can be found on the release information page and the new version can be downloaded at the normal Netbeans download page.
Java Term of the Week: Declaration Statement
A declaration statement is used to declare a variable by specifying its data type and name. For example, the following three declaration statements declare int, boolean and String variables:
int number;
boolean isFinished;
String welcomeMessage;
In addition to the data type and name, a declaration statement can initialize the variable with a value Read more...
Eclipse Galileo Released
As it's the end of June, it should come as no surprise to see the next version of Eclipse appearing on the horizon. Galileo (or if you prefer Eclipse v3.5) is a collaboration of epic proportions - 33 projects and 44 different organizations come together to make the IDE into a truly extensible development platform.
If you want to find out more about what Galileo has to offer there is a virtual conference on June 26th, 10.00am to 3.00pm EST. Otherwise, if you just want to go ahead and try it for yourself, the various bundles are available at the normal Eclipse download page.
Java Term of the Week: Statement
If expressions are akin to clauses in the English language, then statements are like sentences. A sentence forms a complete idea which can include one or more clauses. Likewise, a statement in Java forms a complete command to be executed and can include one or more expressions.
There are three main groups that encompass the different kinds of statements in Java:
- Expression statements: these change values of variables, call methods and create objects.
- Declaration statements: these declare variables.
- Control flow statements: these determine the order that statements are executed.
A Better Way to Search the Java API?
I came across an interesting article today from ScienceBlog on a couple of new research tools aimed at helping developers find what they're looking for in APIs. The tools have been constructed as part of the Natural Programming Project at Carnegie Mellon University.
Apatite (which stands for Associative Perusal of APIs That Identifies Targets Easily) is a way of exploring the Java API through association. The idea is to be able to browse the Java API on the strength of classes that commonly go together in programs.
Jadeite (which stands for Java Documentation with Extra Information Tacked-on for Emphasis) works on the Read more...

