Vergelijking Sun certificering voor Java en het KHO Gecertificeerd Javaprogrammeur van de Open Universiteit Nederland



Vergelijkbare documenten
Vergelijking Oracle certificering voor Java en het CPP Gecertificeerd Javaprogrammeur van de Open Universiteit

Vergelijking Sun certificering voor Java en het CPP Gecertificeerd Javaprogrammeur van de Open Universiteit Nederland

Programmeren. Cursus Python

Vergelijking Sun certificering voor Enterprise architect voor J2EE en het CPP Gecertificeerd softwarearchitect van de Open Universiteit Nederland

Java. Basissyllabus. Egon Pas

SYNTRA-WEST. Initiatiecursus JAVA. Deel

Kleine cursus PHP5. Auteur: Raymond Moesker

Objectgeoriënteerd programmeren in Java 1

Modulewijzer Tirdat01

Data Handling Ron van Lammeren - Wageningen UR

ECTS fiche. Module info. Evaluatie. Gespreide evaluatie. Eindevaluatie OPLEIDING. Handelswetenschappen en bedrijfskunde HBO Informatica

Hoofdstuk 1: Inleiding. Hoofdstuk 2: Klassen en objecten Datahiding: afschermen van implementatiedetails. Naar de buitenwereld toe enkel interfaces.

Tentamen Object Georiënteerd Programmeren TI oktober 2014, Afdeling SCT, Faculteit EWI, TU Delft

Stacks and queues. Introductie 45. Leerkern 45. Terugkoppeling 49. Uitwerking van de opgaven 49

General info on using shopping carts with Ingenico epayments

Tentamen Objectgeorienteerd Programmeren

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE. Toets Inleiding Kansrekening 1 8 februari 2010


Stacks and queues. Hoofdstuk 6

Software Processen. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1. Het software proces

Zelftest Programmeren in Java

Contents. Introduction Problem Definition The Application Co-operation operation and User friendliness Design Implementation

Modulebeschrijving voor MOD1

Programmeren met Grafische Objecten. Inleiding Programmeren II Hoorcollege 1 prof. dr. van Noord en dr. L.M. Bosveld-de Smet

Programmeren in Java 3

Programmeren in Java 3

Zelftest Inleiding Programmeren

1.7 Ontleding van het eerste programma... 14

Introductie in flowcharts

CBSOData Documentation

Agilent EEsof EDA. Waveform Bridge to FlexDCA and Infiniium. New Features for Solving HSD Challenges with ADS Heidi Barnes June 17/18/20, 2013

SAMPLE 11 = + 11 = + + Exploring Combinations of Ten + + = = + + = + = = + = = 11. Step Up. Step Ahead

! GeoNetwork INSPIRE Atom!

Datatypes Een datatype is de sort van van een waarde van een variabele, veel gebruikte datatypes zijn: String, int, Bool, char en double.

Modelleren en Programmeren

Modulewijzer tirprog02/infprg01, programmeren in Java 2

Programmeren in C++ (deel 1)

Programmeren in Java 3

Datamodelleren en databases 2011

Objectgeorïenteerd werken is gebaseerd op de objecten die door het systeem gemanipuleerd worden.

Inleiding programmeren

NSPYRE LEGO MINDSTORMS UITDAGING (JAVA) INLEIDING. DOEL: SIMULATOR:

Modeleren. Modelleren. Together UML. Waarvan maken we een model? overzicht les 14 t/m 18. ControlCenter 6.2

The genesis of the game is unclear. Possibly, dominoes originates from China and the stones were brought here by Marco Polo, but this is uncertain.

Opleiding PECB IT Governance.

Deployment met PowerShell DSC. 20 september 2017 EIC B.V.

MyDHL+ Van Non-Corporate naar Corporate

Vakgroep CW KAHO Sint-Lieven

Graphic Design. Keuzevak GD1. Raul Martinez-Orozco / raul@thecombine.nl)

IMP Uitwerking week 13

Universiteit van Amsterdam FNWI. Voorbeeld van tussentoets Inleiding programmeren

Informatica. Objectgeörienteerd leren programmeren. Van de theorie met BlueJ tot een spelletje met Greenfoot... Bert Van den Abbeele

Modelleren en Programmeren

Intermax backup exclusion files

Tentamen Objectgeorienteerd Programmeren IN1205 Voorbeeld

Tentamen Object Georiënteerd Programmeren TI januari 2013, Afdeling SCT, Faculteit EWI, TU Delft

ContentSearch. Deep dive

liniled Cast Joint liniled Gietmof liniled Castjoint

Modelleren en Programmeren

OBJECT SPAGHETTI : PATTERNS BIEDEN UITKOMST? Wat is het probleem nou eigenlijk? public class CoffeeDrinker { private CoffeeProducer mycoffeeproducer;

Datastructuren en algoritmen

Opleiding PECB ISO 9001 Quality Manager.

L.Net s88sd16-n aansluitingen en programmering.

Master Class Java Accelerated

Master Class Java Accelerated

Solar system. Assignment

Zelftest Java concepten

Tentamen Imperatief Programmeren

Ontwerp van Informatiesystemen

Het is geen open boek tentamen. Wel mag gebruik gemaakt worden van een A4- tje met eigen aantekeningen.

Een unit test is geen integratie test. Niet het hele systeem, maar onderdelen van een systeem worden getest.

The colour of a pixel in a bit map picture can be presented in different ways. For this assignment, we distinguish two categories:

CBSOData Documentation

FOD VOLKSGEZONDHEID, VEILIGHEID VAN DE VOEDSELKETEN EN LEEFMILIEU 25/2/2016. Biocide CLOSED CIRCUIT

Zelftest OOAD/UML. Document: N0767Test.fm 30/08/2010. ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium

Master Class Java Accelerated

Inhoud introductie. Introductie tot de cursus

L.Net s88sd16-n aansluitingen en programmering.

After that, the digits are written after each other: first the row numbers, followed by the column numbers.

Datastructuren en Algoritmen voor CKI

CTI SUITE TSP DETAILS

Classification of triangles

Activant Prophet 21. Prophet 21 Version 12.0 Upgrade Information

Handleiding Installatie ADS

Visual Basic.NET. Visual Basic.NET. M. den Besten 0.3 VB. NET

Uitwerking Aanvullend tentamen Imperatief programmeren Woensdag 24 december 2014, uur

Settings for the C100BRS4 MAC Address Spoofing with cable Internet.

Ruwe uitwerkingen proeftentamen Bioinformatica deel B(8C078), 12 januari 2007, u.

Y.S. Lubbers en W. Witvoet

Scala. Korte introductie. Sylvia Stuurman

RECEPTEERKUNDE: PRODUCTZORG EN BEREIDING VAN GENEESMIDDELEN (DUTCH EDITION) FROM BOHN STAFLEU VAN LOGHUM

SYNTRA-WEST. Cursus OOP. Deel

Daylight saving time. Assignment

Motivationele oriëntatie bij sociale vergelijking: Wanneer, waarom en met wie vergelijken?

INLEIDING... 1 AFSPRAKEN... 2 INHOUDSOPGAVE...

Enterprisearchitectuur

Inleiding Programmeren 2

Inhoud leereenheid 7c. JavaScript: Objecten en functies. Introductie 59. Leerkern 60. Samenvatting 82. Opdrachten 83. Zelftoets 89.

TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica. Examination 2DL04 Friday 16 november 2007, hours.

Transcriptie:

Vergelijking Sun certificering voor Java en het KHO Gecertificeerd Javaprogrammeur van de Open Universiteit Nederland Inleiding Het Kort Hoger Onderwijsprogramma (KHO) Gecertificeerd Javaprogrammeur is een opleiding van de Open Universiteit Nederland. Dit KHO wordt door ons getoetst en gecertificeerd en levert 12 studiepunten op binnen ons reguliere studieprogramma. De Java-certificeringen van Sun fungeren als de belangrijkste internationale standaard. Daarom heeft de OpenUniversiteit, op eigen gezag, deze vergelijking gemaakt met de certificering door Sun. Aan deze vergelijking kunnen geen formele rechten worden ontleend. Korte samenvatting van de vergelijking Uit de vergelijkingt blijkt enerzijds dat de exameneisen van het Sun Certified Programmer for Java 2 Platform (SCPJ) en van het Sun Certified Developer for Java 2 Platform (SCDJ) voor ongeveer 90-95% afgedekt worden door het KHO Gecertificeerd Javaprogrammeur. Bovendien bestaat er een zekere overlap met het examen Sun Certified Web Component Developer for Java 2 Platform, Enterprise Edition (J2EE[tm]). Anderzijds blijkt dat het KHO Gecertificeerd Javaprogrammeur een aantal zaken biedt, die uitstijgen boven de exameneisen van de Sun-certificering SCPJ en SCDJ, de eisen van het KHO Gecertificeerd Javaprogrammeur worden voor zo'n 75-85% afgedekt door SCPJ en SCDJ. Qua beroepskwalificaties zullen er geen grote verschillen zijn tussen een cursist die het KHO Gecertificeerd Javaprogrammeur met goed gevolg gedaan heeft of een cursist die beide Sun examens behaald heeft. Sun certificering Sun kent vier examens die met elkaar samenhangen: Sun Certified Programmer for Java 2 Platform Sun Certified Developer for Java 2 Platform Sun Certified Web Component Developer for Java 2 Platform, Enterprise Edition (J2EE[tm]) Sun Certified Enterprise Architect for J2EE Technology Figuur 1 toont de verschillende examens in hun onderlinge samenhang. 1 FIGUUR 1 De verschillende examens van SUN 1 Met ingang van oktober 2002 kan dit examen gedaan worden voor zowel Java 1.2 als Java 1.4. In deze vergelijking gebruiken we de beschrijving voor versie 1.2 1

Onderdelen van het KHO Gecertificeerd Javaprogrammeur De inhoud van het KHO Gecertificeerd Javaprogrammeur is gebaseerd op (delen van) de volgende cursussen van de Open Universiteit Nederland: T29121 Beginselen van modelleren (alleen de leereenheden over UML; dit komt neer op circa 25% van de cursus) T25131 Visueel programmeren met Java (VpmJ) T42221 Objectgeoriënteerd programmeren met Java (OpmJ) T21311 Gedistribueerd programmeren met Java (GpmJ) T26231 Datastructuren en algoritmen (D&A) (een aantal onderwerpen overeenkomend met 25% van de cursus) T50211 Programmeerpracticum De onderdelen van Java die in het KHO Gecertificeerd Javaprogrammeur behandeld en getoetst worden, komen grofweg overeen met de onderdelen van Java die in de eerste twee examens van Sun getoetst worden. Het onderdeel Gedistribueerd programmeren met Java heeft weliswaar een behoorlijke overeenkomst met de onderwerpen van het derde examen van Sun maar de eisen van dat examen zijn beduidend ruimer. Daarom beperken we ons in deze vergelijking tot de eerste twee examens van Sun: Sun Certified Programmer for Java 2 Platform Sun Certified Developer for Java 2 Platform Generieke verschillen in vorm en inhoud van de examinering Alvorens in te gaan op een vergelijking van Java-onderdelen die in beide te vergelijken examenprogramma's voorkomen, staan we eerst even stil bij de manier van toetsen. Sun Certified Programmer for Java 2 Platform wordt geëxamineerd in de vorm van een meerkeuzetoets van 59 vragen die in 120 minuten beantwoord moeten worden. De toets is een geslotenboek toets, dat wil zeggen dat de cursist tijdens de toets geen hulpbronnen mag raadplegen. De toetsing van de onderdelen van het KHO Gecertificeerd Javaprogrammeur geschiedt in de regel door middel van programmeeropdrachten en een schriftelijke toets van 60 minuten. Deze toets is een openboek toets. Sun Certified Developer for Java 2 Platform wordt geëxamineerd in twee delen. In deel 1 maakt de cursist een programmeeropdracht. In deel 2 schrijft de cursist in een zitting van 120 minuten een essay over de opdracht. Het onderdeel programmeerpr acticum van het KHO Gecertificeerd Javaprogrammeur komt hier voor een groot deel mee overeen. De grote verschillen betreffen dus het eerste Sun examen. Na het bestuderen van een aantal voorbeeldexamens van Sun kunnen de volgende generieke verschillen vastgesteld worden tussen het examen Sun Certified Programmer for Java 2 Platform (hier verder SCPJ te noemen) en de toetsing van het Java-KHO (hier verder OU te noemen): Bij SCPJ moet de cursist beschikken over parate kennis, bij de OU mag de cursist hulpbronnen raadplegen. SCPJ is theoretisch van aard, de OU is zowel praktisch als (voor de helft van de onderdelen) theoretisch. Het accent van SCPJ ligt voor een belangrijk deel op kennis van de syntaxis van Java met inbegrip van allerlei bijzondere gevallen. Bij de Ou ligt het accent op inzicht in concepten en het oplossen van programmeerproblemen. 2

Toetsing van SCPJ is in multiple choice vorm, bij de OU bestaat de toetsing uit open vragen en practicumopdrachten. Vergelijking van de eisen van Sun Certified Programmer for Java 2 Platform (SCPJ) en Sun Certified Developer for Java 2 Platform (SCDJ) en de eisen van het KHO Gecertificeerd Javaprogrammeur In bijlage 1 staat een gedetailleerde vergelijking van de exameneisen van SCPJ en die van het KHO Gecertificeerd Javaprogrammeur. Omdat Het KHO Gecertificeerd Javaprogrammeur uit diverse onderdelen (cursussen) bestaat, wordt binnen het KHO Gecertificeerd Javaprogrammeur ook gerefereerd aan de specifieke cursus waar een bepaald onderwerp aan de orde komt. In de gedetailleerde vergelijking zijn de exameneisen van Sun als uitgangspunt genomen. Er wordt bekeken of en zo ja waar die onderwerpen in het KHO Gecertificeerd Javaprogrammeur aan de orde komen. Onderwerpen van SCPJ die geen onderdeel zijn van het KHO Gecertifi ceerd Javaprogrammeur worden aangegeven. Op basis van deze gedetailleerde vergelijking is tabel 1 gemaakt met daarin de onderdelen van SCPJ die niet door het KHO Gecertificeerd Javaprogrammeur afgedekt worden. Daarnaast is een tabel 2 gemaakt van onderdelen van het KHO Gecertificeerd Javaprogrammeur die niet door SCPJ en SCDJ afgedekt worden. Probleem bij de vergelijking is wel dat er geen expliciete (Java-)eisen voor het SCDJ beschikbaar zijn. Onderdelen SCJP Delen die niet afgedekt worden en SCDJ die niet volledig afgedekt worden declarations and Native, transient en volatile worden niet behandeld access control flow control and Break en continue exception handling garbage collection Language Niet alle ranges van primitieve typen fundamentals Operators and Equals niet in combinatie met Boolean assignments & en niet overloading, Statische binnenklassen overriding, runtime type, and object orientation Threads Wait, notify en notifyall the java.awt package the java.lang Cos, tan en sqrt package the java.util package the java.io package randomaccesfiles TABEL 1 Onderdelen van SCPJ die niet afgedekt worden door het KHO Gecertificeerd Javaprogrammeur 3

Onderdeel Inleiding OO VpmJ OpmJ GpmJ Extra uit D&A Programmeerpracticum Opmerkingen Inleiding oo; UML-diagrammen: use case model met use case beschrijvingen, klassediagrammen sequencediagrammen en state diagrams komen aan de orde In de overige onderdelen worden meerdere malen gebruik gemaakt van klassediagrammen en sequencediagrammen Bouwen van een grafische user interface. Werken met applets. Toestandsdiagrammen waarmee het gedrag van objecten begrepen kan worden ook bij constructie en uitvoering van methoden. Algoritmiek in de vorm van zoekalgoritmes en combineeralgoritmes waarbij een reeks doorlopen moet worden.tweedimensionale array s. Gregorian Calendar. Vaardigheid om de API van een onbekende klasse te kunnen lezen en de klasse te kunnen gebruiken. In staat zijn zelf klassen te specificeren, te implementeren en te voorzien van Javadoc commentaar. Gebruik applets op Webpagina s Toepassing klassediagrammen en sequence diagrammen. Designpatterns: Composite pattern, MVC, Decorator. Dynamische binding met daarbij abstracte klassen en interfaces. Tekenen van componenten (paintcomponent). Voorbeeld van een wat groter ontwerp waarin allerlei concepten als dynamische binding, event handling, exceptions en MVC worden toegepast. Ongeveer de helft gaat over networking inclusief sockets, servlets, rmi etc. Deze stof vormt een deel van Sun Certified Web Component Developer for Java 2 Platform, Enterprise Edition (J2EE[tm] Een aantal datastructuren uit het Java Collection Framework. recursie, bomen, algoritmen. TABEL 2 Onderdelen van het KHO Gecertificeerd Javaprogrammeur die niet afgedekt worden door de eisen van SCJP en SCDJ 4

BIJLAGE 1 Eisen SUN Certifeid Programmer for Java 2 Platform in relatie tot de behandelde stof in het KHO Gecertificeerd Javaprogrammeur SUN eisen SECTION 1: DECLARATIONS AND ACCESS CONTROL KHO Gecertificeerd Javaprogrammeur onderdelen waarin de eisen afgedekt worden Opmerkingen Write code that declares, constructs, and initializes arrays of any base type using any of the permitted forms both for declaration and for initialization. Declare classes, inner classes, methods, instance variables, static variables, and automatic (method local) variables making appropriate use of all permitted modifiers (such as public, final, static, abstract, and so forth). State the significance of each of these modifiers both singly and in combination, and state the effect of package relationships on declared items qualified by these modifiers. For a given class, determine if a default constructor will be created, and if so, state the prototype of that constructor. State the legal return types for any method given the declarations of all related methods in this or parent classes. SECTION 2: FLOW CONTROL AND EXCEPTION HANDLING Vpmj: Le 11. Declaratie en initialisatie zowel d.m.v. een herhalingsstructuur en ook met een array initializer VpmJ: Le 6 Opmj: le 2, 3 en 8 VpmJ: Le 6 Write code using if and switch statements and VpmJ: le 9 identify legal argument types for these statements. Write code using all forms of loops including VpmJ: le 10 labeled and unlabeled use of break and continue, and state the values taken by loop control variables during and after loop execution. VpmJ: Le 6 OpmJ: Le 2 bij overerving VpmJ: Le 8 (casting) OpmJ: Le 2 (casting bij objecten) Het functionele gebruik komt aan de orde; niet alle mogelijkheden Native, transient en volatile worden niet behandeld Wordt uitgelegd aan de hand van het begrip control-flow. Break wordt in het kader van loops niet behandeld; evenzo continue Loops worden behandeld in het kader van algoritmiek: zoeken en combineren. Algoritmes voor zoeken met en zonder vindgarantie worden behandeld. 5

Write code that makes proper use of exceptions and exception handling clauses (try, catch, finally) and declares methods and overriding methods that throw exceptions. OpmJ: le 10 Wordt uitgebreid behandeld; ook hoe zelf Exception klassen te maken SECTION 3: GARBAGE COLLECTION State the behavior that is guaranteed by the garbage collection system, and write code that explicitly makes objects eligible for collection SECTION 4: LANGUAGE FUNDAMENTALS Identify correctly constructed source files, package declarations, import statements, class declarations (of all forms including inner classes), interface declarations and implementations (for java.lang.runnable or other interface described in the test), method declarations (including the main method that is used to start execution of a class), variable declarations and identifiers. State the correspondence between index values in the argument array passed to a main method and command line arguments. Identify all Java programming language keywords and correctly constructed identifiers. State the effect of using a variable or array element of any kind when no explicit assignment has been made to it. State the range of all primitive data types and declare literal values for String and all primitive types using all permitted formats, bases, and representations. VpmJ; Le 7 Komt in geheel VpmJ en OpmJ aan de orde OpmJ: le 9 VpmJ: le 6 en bijlage 1 VpmJ: le 7 en 11 VpmJ: le 6, 8 en 11 Het accent ligt op het maken van applets. Applicaties komen kort in OpmJ (le 9) aan de orde. Door het werken met JBuilder wordt een deel van de eisen automatisch gerealiseerd Wordt uitgebreid toegelicht aan de hand van zogenaamde object diagrammen. Hierin komt duidelijk aan de orde het gebruik van attributen, parameters en locale variabelen. Ranges komen niet expliciet aan de orde 6

SECTION 5: OPERATORS AND ASSIGNMENTS Determine the result of applying any operator, including assignment operators, instance of, and casts to operands of any type, class, scope, or accessibility, or any combination of these. Determine the result of applying the boolean equals (Object) method to objects of any combination of the classes java.lang.string, java.lang.boolean, and java.lang.object. In an expression involving the operators &,, &&,, and variables of known values, state which operands are evaluated and the value of the expression. VpmJ: le 8; OpmJ le 1,2 en 3 VpmJ: le 7 Alleen in combinatie met String VpmJ: le 8 Alleen && en Determine the effect upon objects and primitive values of passing variables into methods and performing assignments or other modifying operations in that method. SECTION 6: OVERLOADING, OVERRIDING, RUNTIME TYPE, AND OBJECT ORIENTATION State the benefits of encapsulation in object oriented design and write code that implements tightly encapsulated classes and the relationships "is a" and "has a". Write code to invoke overridden or overloaded methods and parental or overloaded constructors, and describe the effect of invoking these methods. Write code to construct instances of any concrete class including normal top level classes, inner classes, static inner classes, and anonymous inner classes. VpmJ: le 7 Opmj: le 1,2 en 3 Opmj: le 1,2 en 3 VpmJ en OpmJ Komt zeer uitgebreid aan de orde in de vorm van object diagrammen. Het begrip aliasing wordt uitgebreid behandeld Komt aan de orde in het kader van dynamische binding Statische binnenklassen komen niet expliciet aan de orde 7

SECTION 7: THREADS Write code to define, instantiate, and start new threads using both java.lang.thread and java.lang.runnable. Recognize conditions that might prevent a thread from executing. Write code using synchronized, wait, notify, or notifyall, to protect against concurrent access problems and to communicate between threads. Define the interaction between threads and between threads and object locks when executing synchronized, wait, notify, or notifyall. OpmJ: le 11 GpmJ: le 4 GpmJ: le 4 Komt uitgebreid aan de orde. Begrip control-flow wordt ter verduidelijking gebruikt. Wait, notify en notifyall worden niet behandeld Wait, notify en notifyall worden niet behandeld 8

SECTION 8: THE JAVA.AWT PACKAGE Write code using component, container, and LayoutManager classes of the java.awt package to present a Graphical User Interface with specified appearance and resize behavior, and distinguish the responsibilities of layout managers from those of containers. Write code to implement listener classes and methods, and in listener methods, extract information from the event to determine the affected component, mouse position, nature, and time of the event. State the event classname for any specified event listener interface in the java.awt.event package. SECTION 9: THE JAVA.LANG PACKAGE Write code using the following methods of the java.lang.math class: abs, ceil, floor, max, min, random, round, sin, cos, tan, and sqrt. Describe the significance of the immutability of string objects. SECTION 10: THE JAVA.UTIL PACKAGE Make appropriate selection of collection classes/interfaces to suit specified behavior requirements. Vpmj en OpmJ. OpmJ le 4 behandelt layoutmanagers OpmJ le 8 OpmJ le 8 VpmJ: le 3,6; VpmJ:Le 7, le10 Extra D&W: Collection framework. Dit borduurt verder op de bedoelde klassen uit java.util De cursist leert de gui-elementen te gebruiken vanuit JBuilder die de achterliggende code generereert. Sin, cos en tan worden niet expliciet behandeld SECTION 11: THE JAVA.IO PACKAGE Write code that uses objects of the file class to navigate a file system. Write code that uses objects of the classes InputStreamReader and outputstreamwriter to translate between Unicode and either platform default or ISO 8859-1 character encoding and Distinguish between conditions under which GpmJ: hfdst 6 GpmJ: hfdst 5 t/m 10 9

platform default encoding conversion should be used and conditions under which a specific conversion should be used. Select valid constructor arguments for FilterInputStream and FilterOutputStream subclasses from a list of classes in the java.io.package. Write appropriate code to read, write and update files using FileInputStream, FileOutputStream, and RandomAccessFile objects. Describe the permanent effects on the file system of constructing and using FileInputStream, FileOutputStream, and RandomAccessFile objects. OpmJ: 12; GpmJ 5 t/m 10 OpmJ: 12; GpmJ 5 t/m 10 OpmJ: 12; GpmJ 5 t/m 10 Randomaccessfiles worden niet behandeld 10

11 Vergelijking KHO Gecertificeerd Javaprogrammeur en Sun certificering, versie maart 2003