![Page 1: The Sun’s Java Certification and its Possible Role in the Joint Teaching Material](https://reader034.vdocuments.us/reader034/viewer/2022052510/568146ff550346895db43c3b/html5/thumbnails/1.jpg)
1
The Sun’s Java Certification and its
Possible Role in the Joint Teaching Material
Nataša IbrajterFaculty of Science
Department of Mathematics and InformaticsNovi Sad
![Page 2: The Sun’s Java Certification and its Possible Role in the Joint Teaching Material](https://reader034.vdocuments.us/reader034/viewer/2022052510/568146ff550346895db43c3b/html5/thumbnails/2.jpg)
2
Contents Kinds of Sun Certified Exams Why Become Java 2 Certified? Developer's Certification Exam (SCJD) The Programmer’s Exam (SCJP)
Some Characteristic Questions A Proposal for the Joint Java Course The NS Experience Impact on the Joint Material
![Page 3: The Sun’s Java Certification and its Possible Role in the Joint Teaching Material](https://reader034.vdocuments.us/reader034/viewer/2022052510/568146ff550346895db43c3b/html5/thumbnails/3.jpg)
3
Kinds of Sun Certified Exams
![Page 4: The Sun’s Java Certification and its Possible Role in the Joint Teaching Material](https://reader034.vdocuments.us/reader034/viewer/2022052510/568146ff550346895db43c3b/html5/thumbnails/4.jpg)
4
Kinds of Sun Certified Exams
Sun Certified Programmer (SCJP) CX-310-035 Programmer’s Exam
Sun Certified Developer (SCJD) CX-310-252A Developer’s
Programming Assignment CX-310-027 Developer’s Essay Exam
![Page 5: The Sun’s Java Certification and its Possible Role in the Joint Teaching Material](https://reader034.vdocuments.us/reader034/viewer/2022052510/568146ff550346895db43c3b/html5/thumbnails/5.jpg)
5
Why Become Java 2 Certified? It provides proof of professional
achievement. It increases one’s marketability. It provides greater opportunity for
advancement in one’s field. It is increasingly found as a requirement
for some types of advanced training. It raises customer confidence in you and
your company’s services.
![Page 6: The Sun’s Java Certification and its Possible Role in the Joint Teaching Material](https://reader034.vdocuments.us/reader034/viewer/2022052510/568146ff550346895db43c3b/html5/thumbnails/6.jpg)
6
Developer's Certification Exam (SCJD) It consists of two parts:
a project assignment and a follow-up exam
The assignment describes a task that starts with some code supplied with a project description. Person who takes the exam is supposed to finish the project.
![Page 7: The Sun’s Java Certification and its Possible Role in the Joint Teaching Material](https://reader034.vdocuments.us/reader034/viewer/2022052510/568146ff550346895db43c3b/html5/thumbnails/7.jpg)
7
Developer's Certification Exam (SCJD)
The follow-up exam has at least three aspects: Java's features and libraries, knowledge and understanding of
one's own classes, defending the choices one made
writing code.
![Page 8: The Sun’s Java Certification and its Possible Role in the Joint Teaching Material](https://reader034.vdocuments.us/reader034/viewer/2022052510/568146ff550346895db43c3b/html5/thumbnails/8.jpg)
8
Developer's Certification Exam (SCJD)
I/O streams Swing The AWT event
model Object serialization
RMI javadoc Packages Threads Interfaces
![Page 9: The Sun’s Java Certification and its Possible Role in the Joint Teaching Material](https://reader034.vdocuments.us/reader034/viewer/2022052510/568146ff550346895db43c3b/html5/thumbnails/9.jpg)
9
The Programmer’s Exam (SCJP)
Language fundamentals Source files Keywords and identifiers Primitive data types Literals
boolean literals char literals
![Page 10: The Sun’s Java Certification and its Possible Role in the Joint Teaching Material](https://reader034.vdocuments.us/reader034/viewer/2022052510/568146ff550346895db43c3b/html5/thumbnails/10.jpg)
10
The Programmer’s Exam (SCJP)
integral literals floating-point literals string literals
Arrays Class fundamentals
the main() method variables and initialization
Argument passing: by reference or by value
Garbage collection
![Page 11: The Sun’s Java Certification and its Possible Role in the Joint Teaching Material](https://reader034.vdocuments.us/reader034/viewer/2022052510/568146ff550346895db43c3b/html5/thumbnails/11.jpg)
11
The Programmer’s Exam (SCJP)
Operators and assignments Evaluation order The unary operators
++ and -- + and - ~ ! cast operator
![Page 12: The Sun’s Java Certification and its Possible Role in the Joint Teaching Material](https://reader034.vdocuments.us/reader034/viewer/2022052510/568146ff550346895db43c3b/html5/thumbnails/12.jpg)
12
The Programmer’s Exam (SCJP)
The arithmetic operators * and / % + and - arithmetic error conditions
The shift operators: >>, << and >>> fundamentals of shifting shifting negative numbers arithmetic promotion of operands reduction of the right operand
![Page 13: The Sun’s Java Certification and its Possible Role in the Joint Teaching Material](https://reader034.vdocuments.us/reader034/viewer/2022052510/568146ff550346895db43c3b/html5/thumbnails/13.jpg)
13
The Programmer’s Exam (SCJP)
The comparison operators <, <=, > and >= the instanceof operator the equality comparison operators: == and
!= Logical operators: &&, || and ! Short-circuiting Bitwise operators: &, |, ^ and ~ The conditional operator: ? : The assignment operator
![Page 14: The Sun’s Java Certification and its Possible Role in the Joint Teaching Material](https://reader034.vdocuments.us/reader034/viewer/2022052510/568146ff550346895db43c3b/html5/thumbnails/14.jpg)
14
The Programmer’s Exam (SCJP)
Modifiers Modifier overview The access modifiers
public private default protected subclasses and method privacy
![Page 15: The Sun’s Java Certification and its Possible Role in the Joint Teaching Material](https://reader034.vdocuments.us/reader034/viewer/2022052510/568146ff550346895db43c3b/html5/thumbnails/15.jpg)
15
The Programmer’s Exam (SCJP)
Other modifiers final abstract static static initilalizers native transient synchronized volatile
Modifiers and features
![Page 16: The Sun’s Java Certification and its Possible Role in the Joint Teaching Material](https://reader034.vdocuments.us/reader034/viewer/2022052510/568146ff550346895db43c3b/html5/thumbnails/16.jpg)
16
The Programmer’s Exam (SCJP) Converting and casting
Explicit and implicit type changes Primitives and conversion
primitive conversion: assignment assignment conversion, narrower
primitives and literal values primitive conversion: method call primitive conversion: arithmetic
promotion Primitives and casting
![Page 17: The Sun’s Java Certification and its Possible Role in the Joint Teaching Material](https://reader034.vdocuments.us/reader034/viewer/2022052510/568146ff550346895db43c3b/html5/thumbnails/17.jpg)
17
The Programmer’s Exam (SCJP)
Object reference conversion object reference assignment conversion object method-call conversion
Object reference casting Flow control, assertions and exception
handling The loop constructs
while do for break and continue statements in loops
![Page 18: The Sun’s Java Certification and its Possible Role in the Joint Teaching Material](https://reader034.vdocuments.us/reader034/viewer/2022052510/568146ff550346895db43c3b/html5/thumbnails/18.jpg)
18
The Programmer’s Exam (SCJP)
Selection statements if-else construct switch construct
Exceptions flow of control in exception conditions throwing exceptions
Assertions assertions and compilation runtime enabling of assertions using assertions
![Page 19: The Sun’s Java Certification and its Possible Role in the Joint Teaching Material](https://reader034.vdocuments.us/reader034/viewer/2022052510/568146ff550346895db43c3b/html5/thumbnails/19.jpg)
19
The Programmer’s Exam (SCJP) Objects and classes
Benefits of object-oriented implementation
encapsulation re-use
Implementing OO relationships Overloading and overriding
overloading method names method overriding
Constructors and subclassing overloading constructors
![Page 20: The Sun’s Java Certification and its Possible Role in the Joint Teaching Material](https://reader034.vdocuments.us/reader034/viewer/2022052510/568146ff550346895db43c3b/html5/thumbnails/20.jpg)
20
The Programmer’s Exam (SCJP)
Inner classes the enclosing this reference and construction of
inner classes member classes classes defined inside methods
Threads Thread fundamentals
what a thread executes when execution ends thread states thread priorities
![Page 21: The Sun’s Java Certification and its Possible Role in the Joint Teaching Material](https://reader034.vdocuments.us/reader034/viewer/2022052510/568146ff550346895db43c3b/html5/thumbnails/21.jpg)
21
The Programmer’s Exam (SCJP)
Controlling threads yielding suspending sleeping blocking monitor states scheluduling implementation
Monitors, wait and notify the object lock and synchronization
![Page 22: The Sun’s Java Certification and its Possible Role in the Joint Teaching Material](https://reader034.vdocuments.us/reader034/viewer/2022052510/568146ff550346895db43c3b/html5/thumbnails/22.jpg)
22
The Programmer’s Exam (SCJP)
wait and notify the class lock beyond the pure model deadlock another way to synchronize
java.lang and java.util packages The Object class The Math class The wrapper classes
![Page 23: The Sun’s Java Certification and its Possible Role in the Joint Teaching Material](https://reader034.vdocuments.us/reader034/viewer/2022052510/568146ff550346895db43c3b/html5/thumbnails/23.jpg)
23
The Programmer’s Exam (SCJP)
Strings the String class the StringBuffer class string concatenation easy way
The collections API collection types collections, equality and sorting the hashCode method collection implementations in the API collections and code maintenance
![Page 24: The Sun’s Java Certification and its Possible Role in the Joint Teaching Material](https://reader034.vdocuments.us/reader034/viewer/2022052510/568146ff550346895db43c3b/html5/thumbnails/24.jpg)
24
Some Characteristic Questions Language fundamentals
Consider the following line of code:int[] x = new int[25];
After execution, which statements are true? Choose all that apply.
1. x[24] is 0.2. x[24] is undefined.3. x[25] is 0.4. x[0] is null.5. x.length is 25.
![Page 25: The Sun’s Java Certification and its Possible Role in the Joint Teaching Material](https://reader034.vdocuments.us/reader034/viewer/2022052510/568146ff550346895db43c3b/html5/thumbnails/25.jpg)
25
Some Characteristic Questions Operators and assignments
What results from the following fragment of code?1. int x = 1;2. String [] names = {“Fred”, “Jim”,
“Sheila”};3. names[--x] += “.”;4. for(int i =0; i<names.length; i++){5. System.out.println(names[i]);6. }
![Page 26: The Sun’s Java Certification and its Possible Role in the Joint Teaching Material](https://reader034.vdocuments.us/reader034/viewer/2022052510/568146ff550346895db43c3b/html5/thumbnails/26.jpg)
26
Some Characteristic Questions
1. The output includes Fred. with a trailing period.
2. The output includes Jim. with a trailing period.
3. The output includes Sheila. with a trailing period.
4. None of the outputs show a trailing period.5. An ArrayIndexOutOfBoundsException is
thrown.
![Page 27: The Sun’s Java Certification and its Possible Role in the Joint Teaching Material](https://reader034.vdocuments.us/reader034/viewer/2022052510/568146ff550346895db43c3b/html5/thumbnails/27.jpg)
27
Some Characteristic Questions Modifiers
Given the following code and making no other changes, which combination of access modifiers (public, protected or private) can legally be placed before aMethod() on line 2 and be placed before aMethod() on line 6?
1. class SuperDuper{2. void aMethod(){}3. }4.5. class Sub extends SuperDuper{6. void aMethod(){}7. }
![Page 28: The Sun’s Java Certification and its Possible Role in the Joint Teaching Material](https://reader034.vdocuments.us/reader034/viewer/2022052510/568146ff550346895db43c3b/html5/thumbnails/28.jpg)
28
Some Characteristic Questions
1. line 2: public; line 6: private2. line 2: protected; line 6: private3. line 2: default; line 6: private4. line 2: private; line 6: protected5. line 2: public; line 6: protected
![Page 29: The Sun’s Java Certification and its Possible Role in the Joint Teaching Material](https://reader034.vdocuments.us/reader034/viewer/2022052510/568146ff550346895db43c3b/html5/thumbnails/29.jpg)
29
Some Characteristic Questions Converting and casting
Will the following code compile?1. byte b = 2;2. byte b1 = 3;3. b = b * b1;1. Yes2. No
![Page 30: The Sun’s Java Certification and its Possible Role in the Joint Teaching Material](https://reader034.vdocuments.us/reader034/viewer/2022052510/568146ff550346895db43c3b/html5/thumbnails/30.jpg)
30
Some Characteristic Questions
class hierarchy for next question
Animal
Mammal
Dog
Catimplements
Washer
Raccoonimplements
WasherSwampThing
![Page 31: The Sun’s Java Certification and its Possible Role in the Joint Teaching Material](https://reader034.vdocuments.us/reader034/viewer/2022052510/568146ff550346895db43c3b/html5/thumbnails/31.jpg)
31
Consider the following code:1. Dog rover, fido;2. Animal anim;3. 4. rover = new Dog();5. anim = rover;6. fido = (Dog)anim;
Which of the following statements are true? Choose one.
Some Characteristic Questions
![Page 32: The Sun’s Java Certification and its Possible Role in the Joint Teaching Material](https://reader034.vdocuments.us/reader034/viewer/2022052510/568146ff550346895db43c3b/html5/thumbnails/32.jpg)
32
Some Characteristic Questions
1. Line 5. will not compile.2. Line 6. will not compile.3. The code will compile but will throw an
exception at line 6.4. The code will compile and run.5. The code will compile and run, but the
cast in line 6 is not required and can be eliminated
![Page 33: The Sun’s Java Certification and its Possible Role in the Joint Teaching Material](https://reader034.vdocuments.us/reader034/viewer/2022052510/568146ff550346895db43c3b/html5/thumbnails/33.jpg)
33
Some Characteristic Questions Flow control, assertions and
exception handlingConsider the following code:
1. for(int i=0; i<2; i++){2. for(int j=0; j<3; j++){3. if(i == j){4. continue;5. }6. System.out.println(“i = ”+i+” j = ”+j);7. }8. }
![Page 34: The Sun’s Java Certification and its Possible Role in the Joint Teaching Material](https://reader034.vdocuments.us/reader034/viewer/2022052510/568146ff550346895db43c3b/html5/thumbnails/34.jpg)
34
Some Characteristic Questions
Which lines would be part of the output? Choose all that apply.
1. i =0 j = 02. i =0 j = 13. i =0 j = 24. i =1 j = 05. i =1 j = 16. i =1 j = 2
![Page 35: The Sun’s Java Certification and its Possible Role in the Joint Teaching Material](https://reader034.vdocuments.us/reader034/viewer/2022052510/568146ff550346895db43c3b/html5/thumbnails/35.jpg)
35
Some Characteristic Questions Objects and classes
Considering this class:1. public class Test1{2. public float aMethod(float a, float b){}3. 4. }
Which of the following methods would be legal if added (individually) at line 3? Choose all that apply.
![Page 36: The Sun’s Java Certification and its Possible Role in the Joint Teaching Material](https://reader034.vdocuments.us/reader034/viewer/2022052510/568146ff550346895db43c3b/html5/thumbnails/36.jpg)
36
Some Characteristic Questions
1. public int aMethod(int a, int b){}2. public float aMethod(float a, float b){}3. public float aMethod(float a, float b, int c)
throws Exception{}4. public float aMethod(float c, float d){}5. private float aMethod(int a, int b, int c){}
![Page 37: The Sun’s Java Certification and its Possible Role in the Joint Teaching Material](https://reader034.vdocuments.us/reader034/viewer/2022052510/568146ff550346895db43c3b/html5/thumbnails/37.jpg)
37
Some Characteristic Questions Threads
A Java monitor must either extend Thread or implement Runnable.
1. True2. False
The java.lang and java.util packages
In the following code fragment, line 4 is executed.
![Page 38: The Sun’s Java Certification and its Possible Role in the Joint Teaching Material](https://reader034.vdocuments.us/reader034/viewer/2022052510/568146ff550346895db43c3b/html5/thumbnails/38.jpg)
38
Some Characteristic Questions1. String s1 = “xyz”;2. String s2 = “xyz”;3. if (s1 == s2) 4.
System.out.println(“4”);1. True2. False
1. String s1 = “xyz”;2. String s2 = new
String(s1);3. if (s1 == s2) 4.
System.out.println(“4”);1. True2. False
![Page 39: The Sun’s Java Certification and its Possible Role in the Joint Teaching Material](https://reader034.vdocuments.us/reader034/viewer/2022052510/568146ff550346895db43c3b/html5/thumbnails/39.jpg)
39
A Proposal for the Joint Java Course Part I - Imperative Java programming
Introduction (in case that Java is the first programming language)
The language overview (elements of Java) Simple data types Expressions and control structures Structured data types: arrays Methods Recursion Complex examples with arrays (searching
and sorting)
![Page 40: The Sun’s Java Certification and its Possible Role in the Joint Teaching Material](https://reader034.vdocuments.us/reader034/viewer/2022052510/568146ff550346895db43c3b/html5/thumbnails/40.jpg)
40
A Proposal for the Joint Java Course Part II - OOP in Java and advanced topics
Introduction to OOP (OOP in general, place of Java, its development...)
Basic notations of OOP Classes and objects. Class methods and
variables. Object creation Inheritance and polymorphism Concatenated list structures Trees Packages Interfaces
![Page 41: The Sun’s Java Certification and its Possible Role in the Joint Teaching Material](https://reader034.vdocuments.us/reader034/viewer/2022052510/568146ff550346895db43c3b/html5/thumbnails/41.jpg)
41
A Proposal for the Joint Java Course
Abstract classes Introduction to UML Exceptions GUI development Class libraries, Java Collection Framework Reflection in Java Threads Basic notions of WWW Applets Remote Method Invocation
![Page 42: The Sun’s Java Certification and its Possible Role in the Joint Teaching Material](https://reader034.vdocuments.us/reader034/viewer/2022052510/568146ff550346895db43c3b/html5/thumbnails/42.jpg)
42
A Proposal for the Joint Java Course
Part III - Environments for Java programming Usage of J2SE JDK 1.xx
Part IV - Java programming at large Introducing SE principles in Java
programming
![Page 43: The Sun’s Java Certification and its Possible Role in the Joint Teaching Material](https://reader034.vdocuments.us/reader034/viewer/2022052510/568146ff550346895db43c3b/html5/thumbnails/43.jpg)
43
The NS Experience Our students are obliged to take part in
not less than 70% of practical exercises, not less than 50% of exercises and not less than 30% of lectures.
The exam consists of the practical part (which is taken during the practical exercises) and of the test.
The Java certification is used as a template for the test.
![Page 44: The Sun’s Java Certification and its Possible Role in the Joint Teaching Material](https://reader034.vdocuments.us/reader034/viewer/2022052510/568146ff550346895db43c3b/html5/thumbnails/44.jpg)
44
The NS Experience Students mostly show weakness in
understanding how Java solves OOP issues like overriding, overloading, program flow etc, not in understanding theoretical basics of OOP.
The test tests practical knowledge in Java, not the theoretical knowledge in OOP.
If the students missed to study some aspect of a problem taking practical part of the exam, the test forces them to restudy the problem.
![Page 45: The Sun’s Java Certification and its Possible Role in the Joint Teaching Material](https://reader034.vdocuments.us/reader034/viewer/2022052510/568146ff550346895db43c3b/html5/thumbnails/45.jpg)
45
The NS Experience 70% of Programmer’s Exam questions
covered by our course More than 90% excluding major
sections like threads and assertions Therefore, we cannot ‘blindly’ use any
of the questions Should we change our course to cover
more questions? Suggestion: No However, some compatibility useful
![Page 46: The Sun’s Java Certification and its Possible Role in the Joint Teaching Material](https://reader034.vdocuments.us/reader034/viewer/2022052510/568146ff550346895db43c3b/html5/thumbnails/46.jpg)
46
Impact on the Joint Material From our experience: without
references to the Java Certification we cover about 70%/90% of the questions
For the creation of the Joint Material, occasional references to Java Certification exam questions are useful to see what the industry thinks is important check for omissions