Programmeren met Java

advertisement
Modulehandleiding voor
Programmeren met Java
PRO1
Progress code
:
PRO1
Schooljaar
:
2012 – 2013
Docenten
:
R.van den Ham / U. Van Heesch
Module omvang
:
6 credits, 168 studiebelastingsuren
Doel
•
•
•
Inleiding in objectgeoriënteerd programmeren
Kennismaken met de programmeertaal Java
Kennismaken met de Java-ontwikkelomgeving BlueJ
Motivatie en Inhoud
Deze module is een inleiding tot objectgeoriënteerd programmeren voor beginners. De module richt
zich op algemene objectgeoriënteerde- en programmeerconcepten, gezien vanuit het gezichtspunt
van de programmeur.
Een belangrijk aspect van deze module is de oriëntatie op fundamentele opgaven van softwareontwikkeling en niet noodzakelijkerwijze op de specifieke details van de taal Java.
De module volgt een iteratieve lijn. Alle belangrijke onderwerpen komen verschillende keren terug.
Concepten worden meestal geïntroduceerd met juist voldoende detaillering om het besproken
probleem op te lossen. Later komen ze in een andere context opnieuw naar voren, waardoor het
begrip ervan steeds meer toeneemt.
We gebruiken twee gereedschappen om de besproken concepten in de praktijk te brengen: de
programmeertaal Java en de Java-ontwikkelomgeving BlueJ.
De taal Java is een overzichtelijke implementatie van de belangrijkste objectgeoriënteerde concepten
en is als zodanig erg geschikt als onderwijstaal.
BlueJ is een Java-ontwikkelomgeving, die expliciet ontworpen is om te dienen als ontwikkelomgeving
bij een inleidende cursus objectgeoriënteerd programmeren ("Objects First").
De onderwerpen in deze module worden aan de hand van projecten geïntroduceerd. De module
bevat talloze programmeerprojecten en veel oefeningen.
Leerdoelen
De student
•
•
•
•
Kent de algemene concepten van objectgeoriënteerde software-ontwikkeling.
Kent de basisprincipes van Java-programmering.
Kan de kwaliteit van een klein softwaresysteem beoordelen.
Kan een klein softwaresysteem in de ontwikkelomgeving BlueJ implementeren.
Competenties
Deze module leidt op voor de competentie Realiseren.
Voorafgaande modulen
Er zijn geen voorafgaande modulen.
Gelijktijdige modulen
Deze module is onafhankelijk van de andere theoriemodulen in het eerste semester.
Vervolgmodulen
Directe vervolgmodule: PRO2.
Steeds opnieuw worden in andere theoriemodulen en projecten objectoriëntatie en Javaprogrammering toegepast.
Leermaterialen
Bij deze module wordt het volgende boek gebruikt:
de
Barnes , Kölling: programmeren in Java met BlueJ , 5 editie, ISBN 978-90-430-2389-4,
www.pearsoneducation.nl/barnes
e
De 4 editie van het bovengenoemde BlueJ-boek kan ook gebruikt worden. Het boek is nodig bij de
colleges en bij de opgaven in het practicum. Online (zie module website) zijn er ook nog
studiematerialen zoals oa deze modulehandleiding en powerpoint diaseries.
Website van de engelstalige editie (hier kan ook BlueJ gedownload worden) :
http://www.bluej.org/objects-first .
Werkwijze
Elke week zijn er 2 theorielessen. De docent legt tijdens de lessen de stof uit en geeft
praktijkvoorbeelden. Daarnaast is er wekelijks een practicum van 3 lesuren waarvan het eerste deel
onder begeleiding van de docent. Daarnaast bestudeer je gedurende 4-5 uur zelf de hoofdstukken uit
het boek, leer je de concepten en begrippen, en maak je de opgaven. De tentamenvoorbereiding
vergt ook nog eens 20 uur.
Elke week is er ook een aantal opgaven (theorie en practicum) te maken. Deze opgaven zullen deels
tijdens de zelfstudie afgemaakt moeten worden.
Weekindeling
De volgende tabel geeft aan welke onderwerpen in welke weken aan de orde komen (voorlopige
planning), alsmede de te maken opdrachten:
Week
1.1
Thema
Inleiding - Objecten en klassen
overzicht van de module; inleiding in OO, Java en
BlueJ
Boek
1
Opgaven: 1.15, 1.16, Calculator
1.2
Klassedefinities (1)
broncode lezen; constructors; methodes;
velden;statements
2
Opgaven: 2.55, 2.57
Klassedefinities (2)
1.3
2
Opgaven: 2.75, 2.77, 2.78, 2.82
1.4
Interactie van objecten (1)
modularisatie; klassendiagrammen;
objectdiagrammen; this
3.1 - 3.12, 3.15
Opgaven: 3.31, 3.32, 3.45 + Breuken
Interactie van objecten (2)
debugger (studenten zelfstandig)
3.13 - 3.14
1.5
Objecten groeperen (1)
collecties, herhaallussen
4.1 - 4.8
Opgaven: 4.1, 4.12, 4.13
1.6
Objecten groeperen (2)
herhaallussen; iteratoren
4.8 - 4.11
Opgaven: 4.22, 4.28, Word list
1.7
Objecten groeperen (3)
arrays
4.11 - 4.12
Opgaven: 4.54, 4.56, 4.58 + Car park
Tentamen 1
2.1
Geavanceerde werking (1)
bibliotheekklassen gebruiken; klassedocumentatie
lezen; random getallen
Opgaven: 5.2 t/m 5.5, 5.14, 5.16, 5.18 +
Intrestberekening
5.1 - 5.5
Geavanceerde werking (2)
2.2
Hashmaps; klassedocumentatie schrijven; interfaces;
public vs private; klassevariabelen
5.6 ,
5.10 - 5.14
Opgaven: 5.25 t/m 5.30 + practicumopgave tree
Applets en GUIs (1)
applets met BlueJ; inleiding in graphics; Graphical
2.3
User Interfaces; GUI-Komponenten; events
Slides
Opgaven: zie slides
Applets en GUIs (2)
2.4
Dictaat
Opgaven: zie dictaat, DigitalClock
Testen
Unit testing
2.5
Regression testing
6.1 – 6.4
Opgaven: 6.5 6.6 6.10 6.11 6.18 - 6.20,
TestingAssignment
2.6
De structuur verbeteren met overerving (1)
overerving; superklassen; subklassen; polymorfe
variabelen
8
Opgaven: 8.8, 8.14
2.6
De structuur verbeteren met overerving (2) Meer
over overerving (1)
polymorfisme
8
9.1 – 9.3
Opgaven: 8.16, 9.2
Tentamen 2
Toetsing en beoordeling
De module PRO1 wordt getoetst door middel van een zogenaamd performance assessment. Het
betreft een toets die plaatsvindt in een van onze practicumlokalen aan de eigen laptop of aan een van
onze PC’s. Een aantal programmeeropgaven wordt individueel uitgewerkt in een omgeving waarmee
in het practicum ervaring is opgedaan. Dit betekent dat je beschikt over alle
programmeerhulpmiddelen die je normaliter in de praktijk ook tot je beschikking hebt (met
uitzondering van internet), zoals een IDE (BlueJ) en de java api documentatie. De performance
assessments bepalen het basis eindcijfer. Van dit ciifer kan aftrek plaatsvinden, wanneer reguliere
practicumopdrachten niet tijdig ingeleverd worden, of wanneer geen serieuze poging onderniomen
wordt. Er zullen 3 reguliere performance assessments en één inhaal assessment plaatsvinden.
Toetsen worden beoordeeld door middel van een cijfer tussen 1 en 10, met één cijfer achter de
komma.
Onderstaande items zijn in de beoordeling van deze module van belang:
A. Proeftentamen Performance assessment na drie lesweken. Dit assessment dient
hoofdzakelijk ter kennismaking met het toetssysteem. Wanneer het resultaat van deze
toets als ‘zeer goed’ wordt beoordeeld, kan daarmee toelating tot een minder frequente
les voor gevorderden (master lecture) worden verkregen.
B. Tentamen Performance assessment kwartester 1. Dit assessment zal plaatsvinden
tijdens de eerste reguliere tentamenperiode (rond herfstvakantie).
C. Tentamen Performance assessment kwartester 2. Dit assessment zal plaatsvinden
tijdens de tweede reguliere tentamenperiode (rond kerstvakantie).
D. Hertentamen Performance assessment. Dit assessment vindt plaats tijdens de reguliere
hertentamenweek in januari.
E. Uitwerking van practicumopdrachten. Voor het practicum worden opdrachten
beschikbaar gesteld, die door studenten vóór de op de modulepagina vermelde deadline
dienen te worden ingeleverd in de persoonlijke PRO1 SVN-repository. Voor iedere niet
tijdig ingeleverde uitwerking, kan (controle vindt steekproefsgewijs plaats) 0.5 punt van
het eindcijfer worden afgetrokken. Dit geldt overigens ook wanneer de ingeleverde
uitwerking niet als een serieuze poging mag worden beschouwd. Wanneer niet voor alle
practicumopdrachten een uitwerking wordt ingeleverd, dan wordt geen eindcijfer voor
de module verkregen. Een deel van deze opgaven wordt mogelijk één-op-één in het
performance assessment opgenomen.
Wekelijks worden aselect enkele studenten gekozen waarmee een mondeling (mini)
assessment wordt gehouden over de opdracht die in de week daaraan voorafgaand is
ingeleverd. Indien alles in orde is, heeft dit geen invloed op het practicumcijfer; indien
het resultaat daarentegen onvoldoende is en / of niet als een serieuze poging mag
worden beschouwd, dan leidt dit tot een aftrek van één punt (per keer) van het
eindcijfer. Een student kan door toeval voor 0 of juist voor meerdere mondelinge
assessments worden uitgenodigd. Is een geselecteerde student zonder afmelding niet
aanwezig, dan wordt ook één punt afgetrokken.
F.
Uitwerking van de in de modulehandleiding genoemde opgaven uit het theorieboek.
Deze opgaven hoeven niet ingeleverd te worden en zullen ook niet worden beoordeeld.
Een deel van deze opgaven wordt mogelijk één-op-één in het performance assessment
opgenomen.
Ieder performance assessment heeft een maximale duur van drie klokuren. Bij iedere toets zal de stof
bestaan uit de onderwerpen die voorafgaand aan de toets binnen de module zijn behandeld.
Het eindcijfer voor de module komt als volgt tot stand:
Eindcijfer PRO1 = MAX( (0.4 * B + 0.6 * C) / 2 ; D) - E
Waarbij de onderdelen B, C en D (laatstgenoemde alleen bij deelname aan het hertentamen) ieder
afzonderlijk minimaal met een 4 afgerond dienen te worden. Zoals uit de formule blijkt, kan aan een
hertentamen worden deelgenomen ter verbetering van het eindcijfer; het beste resultaat telt.
Practicumopdrachten worden individueel gemaakt en ingeleverd. Natuurlijk is het toegestaan om
opdrachten en oplossingen met medestudenten te bespreken. Dit kan namelijk zeer leerzaam zijn.
Zorg er echter voor dat ingeleverd werk te allen tijde eigen werk blijft. Vermeld altijd met wie je hebt
samengewerkt. Wanneer oplossingen, of delen daarvan, zonder bronvermelding gekopieerd worden,
dan wordt dit als plagiaat beschouwd. In dit geval zullen maatregelen genomen worden (zie
onderwijs- en examenreglement (OER)).
Evaluatie
De docent stelt het zeer op prijs terugkoppeling te krijgen over de sterke en zwakke punten van deze
module. Als je opmerkingen hebt m.b.t. de boeken, de lessen, het materiaal enz., hou die niet voor je
maar bespreek ze met de docent. Opbouwende kritiek is in je eigen belang en in belang van je
medestudenten. Aan het einde van het semester is er ook een zogenaamd "klankbordgesprek" met
docenten (die niet bij de module betrokken waren) en studenten, waarin alle aspecten van het eerste
semester besproken worden.
Download