HOGESCHOOL ROTTERDAM

advertisement
OPLEIDING TECHNISCHE INFORMATICA
HOGESCHOOL ROTTERDAM /RIVIO
HOGESCHOOL ROTTERDAM/RIVIO
MODULEWIJZER TIRPRO02
Programmeren 2
(Classes en Objects)
Aantal studiepunten 2 cp
Module-eigenaar TI
Modulebeheer B. Eleveld
Versie 1.0
21-12-2005
MODULEWIJZER TIRPRO021
23-7-2017
1
OPLEIDING TECHNISCHE INFORMATICA
HOGESCHOOL ROTTERDAM /RIVIO
A4 modulebeschrijving
modulecode
modulenaam
aantal creditpoints
relatie met andere
modulen
vereiste voorkennis
programmasoort
werkvormen
tijdvak
toetsing
vrijstelling
leermiddelen
te verwerven
competenties en
leerdoelen
opmerkingen
doel van deze module
auteur modulewijzer
versiedatum
modulewijzer
beheerder module
MODULEWIJZER TIRPRO021
TIRPRO02
Programmeren 2 (classes en objects)
2
TIRPRO01
Kennisgestuurd
theorie en practicum begeleid, zelfwerkzaamheid thuis
jaar 1, semester 1, blok 2, week 1 - 7
praktijktoets achter pc of terminal
mogelijk, afhankelijk van vooropleiding
Y. Daniel Liang, Introduction to JAVA PROGRAMMING 5th edition
ISBN: 0131857215
Java SDK vanaf versie 1.4
editor naar keuze
analyse, ontwerpen, realiseren,
Doel van deze module is het ontwikkelen van kennis over, begrip van en
vaardigheid in het gebruiken van classes en objecten zoals dat binnen de
programmeertaal java is geïmplementeerd.
Na met succes voltooien van deze module is de student in staat tot:
 het ontwerpen van specifieke javaclasses waarin gedrag (methods) en
eigenschappen (variabelen) worden vastgelegd.
 het instantiëren van een object behorende bij het hierboven bedoelde
classe-concept.
 deze instantiëring te realiseren in een uitvoerbaar javaprogramma.
Bob Eleveld
21 december 2005
Bob Eleveld
23-7-2017
2
OPLEIDING TECHNISCHE INFORMATICA
HOGESCHOOL ROTTERDAM /RIVIO
Inhoudsopgave
1.
ALGEMENE OMSCHRIJVING .................................................................................................................... 4
1.1
1.2
1.3
1.4
1.5
1.6
1.7
INLEIDING .............................................................................................................................................. 4
INHOUD ................................................................................................................................................. 4
RELATIE MET ANDERE ONDERWIJSEENHEDEN .......................................................................................... 4
LEERDOELEN EN COMPETENTIES ............................................................................................................ 5
W ERKVORM(EN) .................................................................................................................................... 5
TOETSING ............................................................................................................................................. 5
LITERATUUR EN ICT-BRONNEN ............................................................................................................... 5
2. PROGRAMMA ................................................................................................................................................. 6
2.1
KWARTAALSCHEMA ................................................................................................................................ 6
WEEK 1: ............................................................................................................................................................. 6
H 5 Arrays .................................................................................................................................................... 6
H 5.1 Arrays: Introduction ............................................................................................................................ 6
H 5.2 Arrays: Basics .................................................................................................................................... 6
WEEK 2: ............................................................................................................................................................. 6
H 5.3 Arrays: Copy ....................................................................................................................................... 6
H 5.4 Arrays: Passing to methods ............................................................................................................... 6
H 5.5 Arrays: Returning from methods ........................................................................................................ 6
H 5.7 Arrays: Search .................................................................................................................................... 6
WEEK 3: ............................................................................................................................................................. 6
H 5.8 Arrays: Multidimensional .................................................................................................................... 6
WEEK 3: ............................................................................................................................................................. 7
H 6 Objects and Classes ............................................................................................................................. 7
H 6.1 Objects and Classes: Introduction ..................................................................................................... 7
H 6.2 Objects and Classes: Defining ........................................................................................................... 7
H 6.3 Objects and Classes: Constructors .................................................................................................... 7
WEEK 4: ............................................................................................................................................................. 7
H 6.4 Objects and Classes: Accessing ........................................................................................................ 7
H 6.5 Objects and Classes: Java Library ..................................................................................................... 7
H 6.6 Objects and Classes: Modifiers .......................................................................................................... 7
WEEK 5: ............................................................................................................................................................. 7
H 6.7 Objects and Classes: Encapsulation .................................................................................................. 7
H 6.10 Objects and Classes: Static ............................................................................................................. 7
H 6.14 Objects and Classes: Abstraction and Encapsulation ..................................................................... 7
WEEK 6: ............................................................................................................................................................. 7
H 8 Inheritance ............................................................................................................................................. 7
H 8.1 Inheritance: Introduction ..................................................................................................................... 8
H 8.2 Inheritance: Superclass and Subclass ............................................................................................... 8
H 8.3 Inheritance: Keyword Super ............................................................................................................... 8
H 8.4 Inheritance: Overriding ....................................................................................................................... 8
H 8.5 Inheritance: Object Class ................................................................................................................... 8
WEEK 7: ............................................................................................................................................................. 8
H 9 Abstract Classes and Interfaces ........................................................................................................... 8
H 9.1 Abstract Classes: Introduction............................................................................................................ 8
H 9.2 Abstract Classes ................................................................................................................................ 8
WEEK 8: ............................................................................................................................................................. 8
3 TOETSING EN BEOORDELING ...................................................................................................................... 8
3.1 PROCEDURE ................................................................................................................................................. 8
3.2 PROEFTENTAMEN ......................................................................................................................................... 8
MODULEWIJZER TIRPRO021
23-7-2017
3
OPLEIDING TECHNISCHE INFORMATICA
1.
Algemene omschrijving
1.1
Inleiding
HOGESCHOOL ROTTERDAM /RIVIO
Het RIVIO heeft als uitgangspunt dat ten behoeve van het programmeeronderwijs gebruik wordt
gemaakt van slechts één programmeertaal. Gekozen is voor het platformonafhankelijke Java.
Verder leent Java zich ook uitstekend voor het ontwikkelen van webapplicaties.
Op www.javasoft.com vind je een gangbare versie van deze taal. Vanaf versie 1.4.
Versie 1.5 kent t.o.v. de vorige versie een aantal nieuwe features. Zorg wel dat je een
ontwikkelomgeving download (SDK = System Developing Kit) en niet alleen de uitvoeromgeving
(JRE = Java Runtime Environment).
Voor beginners is de ontwikkeltool EditPlus een aanrader. (www.editplus.com), maar je bent vrij in
je keuze. Netbeans en Eclips zijn geavanceerder, maar je zult dan enige tijd moeten investeren om
deze tools te leren kennen en gebruiken. Van genoemde editors zijn gratis - (freeware en
shareware) of evaluatieversies te donloaden.
Algemeen:
De structuur van het boek is als volgt opgebouwd:
 theorie met voorbeelden van analyse van een nieuw probleem en implementatie van het
oplossend programma.
 soms optionele paragrafen
 key terms (sleutelbegrippen)
 samenvatting hoofdstuk
 oefenopgave waarvan de oplossing op het web te vinden is. (review questions)
 programmeeropdrachten ter oefening. (programming exercises)
Tips:



1.2
Als Java of programmeren nieuw voor je is, tik dan een voorbeeldprogramma uit het boek
eens geheel over.
Nog meer effect sorteer je, wanneer je de (engelse) namen van variabelen e.d. vervangt
door zelfgekozen nederlandse namen.
Maak per hoofdstuk ter afronding minstens één of twee opdrachten uit de programming
exercises.
Inhoud
Na afloop van de module moet een programma gemaakt kunnen worden, waarin alleen statements
en methodes worden gebruikt. Aan de hand van een opdrachtsomschrijving wordt een analyse van
het probleem gemaakt in eigen bewoordingen (of pseusocode) en vervolgens wordt deze code in
java omgezet. Het java programma moet worden gecompileerd en moet daarna goed kunnen
worden uitgevoerd (gerund).
1.3
Relatie met andere onderwijseenheden
De module is benodigd voor tirprj03 en 4
MODULEWIJZER TIRPRO021
23-7-2017
4
OPLEIDING TECHNISCHE INFORMATICA
1.4
HOGESCHOOL ROTTERDAM /RIVIO
Leerdoelen en competenties
Doel van deze module is kennis en ervaring op te doen in het programmeren met een
programmeer-taal. Als programmeertaal wordt gebruik gemaakt van JAVA.
Na afloop van de module moet een programma gemaakt kunnen worden, waarin alleen statements
en methodes worden gebruikt. Aan de hand van een opdrachtsomschrijving wordt een analyse van
het probleem gemaakt in eigen bewoordingen (of pseusocode) en vervolgens wordt deze code in
java omgezet. Het java programma moet worden gecompileerd en moet daarna goed kunnen
worden uitgevoerd (gerund).
1.5
Werkvorm(en)
7 weken 1uur hoorcollege en 3 uur practicum.
1.6
Toetsing
Zie hoofdstuk 3.
1.7
Literatuur en ICT-bronnen
Introduction to Java programming
Comprehensive version
Y. Daniel Liang
Pearson Prentice Hall
ISBN: 0-13-185721-5
Java collection tutorial: http://java.sun.com/docs/books/tutorial/collections/index.html
MODULEWIJZER TIRPRO021
23-7-2017
5
OPLEIDING TECHNISCHE INFORMATICA
HOGESCHOOL ROTTERDAM /RIVIO
2. Programma
2.1
Kwartaalschema
week 1:
H 5 Arrays
H 5.1 Arrays: Introduction
Lees dit korte hoofdstukje, waardoor u vooraf een idee krijgt over het nut van arrays.
H 5.2 Arrays: Basics
- Een array declareren.
- Een array creëren.
- Een array initialiseren.
U dient de verschillende manieren om een array te initialiseren te kunnen herkennen en toepassen.
doen: Example 5.1 overnemen waarbij u zoveel mogelijk de engelse namen vervangt door
nederlandse.
week 2:
H 5.3 Arrays: Copy
leren: Twee manieren om arrays te kopieren.
H 5.4 Arrays: Passing to methods
doen: Programming Exercises 5.1 – 5.2
H 5.5 Arrays: Returning from methods
doen: Example 5.4 (pagina 188) overnemen, waarbij u variabelen en methodes voorziet van
nederlandse namen.
doen: voor de liefhebber (die u vanzelfsprekend allemaal bent) : Programming Exercises 5.6
H 5.7 Arrays: Search
lezen: doorgrond de afgedrukte listings van linear search (5.7.1) en binary search (5.7.2).
doen: Programming Exercises 5.9 – 5.10
week 3:
H 5.8 Arrays: Multidimensional
doen: Example 5.5 overnemen
doen: Programming Exercises 5.18
MODULEWIJZER TIRPRO021
23-7-2017
6
OPLEIDING TECHNISCHE INFORMATICA
HOGESCHOOL ROTTERDAM /RIVIO
week 3:
H 6 Objects and Classes
Tijdens de colleges wordt de leerstof van dit hoofdstuk door de docent aangevuld met een geheel
uitgewerkt voorbeeld.
H 6.1 Objects and Classes: Introduction
lezen
H 6.2 Objects and Classes: Defining
doen: neem de listing van figuur 6.2 over en compileer. (gebruik nederlandse namen !)
H 6.3 Objects and Classes: Constructors
leren: het begrip constructor.
doen: werpt u een blik in appendix E. (UML)
doen: Programming Exercises 6-1
week 4:
H 6.4 Objects and Classes: Accessing
doen: Example 6.1, neem listing over.
leren: 6.4.3 en 6.4.4 het verschil tussen primitieve typen en referentiële typen.
H 6.5 Objects and Classes: Java Library
doen: neem listing 6.2 (pagina 222) over, compileer, run en geniet !
H 6.6 Objects and Classes: Modifiers
lezen: (de modifier private dient u in het vervolg zoveel als mogelijk toe te passen in specifieke
classes.)
week 5:
H 6.7 Objects and Classes: Encapsulation
doen: neem listing 6.3 over
leren: de begrippen getters en setters.
doen: Programming Exercises 6-11
H 6.10 Objects and Classes: Static
doen: neem listing 6.5 (pagina 230) en listing 6.6 (pagina 232) over.
H 6.14 Objects and Classes: Abstraction and Encapsulation
lezen: het lezen van deze paragraaf biedt u enig inzicht over de mogelijkheden en voordelen
van de hier genoemde werkwijze.
week 6:
H 8 Inheritance
De leerstof in dit hoofdstuk zal eveneens aangevuld worden met voorbeelden en uitwerkingen die
MODULEWIJZER TIRPRO021
23-7-2017
7
OPLEIDING TECHNISCHE INFORMATICA
HOGESCHOOL ROTTERDAM /RIVIO
de docent gefaseerd beschikbaar stelt.
H 8.1 Inheritance: Introduction
lezen:
H 8.2 Inheritance: Superclass and Subclass
H 8.3 Inheritance: Keyword Super
H 8.4 Inheritance: Overriding
H 8.5 Inheritance: Object Class
week 7:
H 9 Abstract Classes and Interfaces
H 9.1 Abstract Classes: Introduction
Lezen:
H 9.2 Abstract Classes
doen: listings 9.1 t/m 9.4 overnemen
doen: Example 9.1 overnemen
week 8:
uitloop
proeftentamen
tentamen
3 Toetsing en beoordeling
3.1 Procedure
Aan het einde van de module wordt een praktijktoets gegeven.
Mogelijk worden tijdens de module reeds vrijstellende toetsen en praktijktesten gegeven. In dat
geval kunnen deze testen vrijstellend werken voor de praktijktoets.
Verdere aanwijzingen
Werk vanaf het begin regelmatig ook thuis. Zorg dat u zo snel mogelijk de software tot uw
beschikking krijgt. Deze is (gratis) te downloaden vanaf het internet.
3.2 Proeftentamen
Nog in te vullen
MODULEWIJZER TIRPRO021
23-7-2017
8
OPLEIDING TECHNISCHE INFORMATICA
HOGESCHOOL ROTTERDAM /RIVIO
Bijlage 1: Configureren EditPlus voor Java.
Om EditPlus te kunnen configureren, moet eerst Java zijn geinstalleerd !
Kies in het menu: Tools en dan Configure User Tools, waarna het volgende venster verschijnt.
1.
2.
3.
4.
U klikt op Group Name en vult in het dan volgende dialoogboxje JAVA in.
Daarna klikt u op Add Tool>> en kiest uit het verschijnende lijstje Program.
In het invulvak Menu text: tikt u in: compileren.
Klik op de button rechts naast het invulvak Command: en selecteer de bin-directory van Java,
kies daar het programma: javac.exe
5. Het invulvak Argument: vult u door op de button ernaast te kiezen voor $(FileName).
6. Het vak Initial directory: laat u oningevuld.
7. Als u Capture output aanvinkt, (doen!) verschijnen alle resultaten in het venster binnen de editor,
anders in een DOS-venster.
Herhaal bovengenummerde stappen 2 t/m 7 waarbij u bij:
stap 3: uitvoeren intikt.
stap 4: kiest voor het programma java.exe
stap 5: kiest voor $(FileNameNoExt)
De overige stappen blijven hetzelfde.
Klik op Apply en dan op OK en de instellingen zijn vastgelegd.
Om met slechts één muisklik uw programma’s te kunnen compileren en uitvoeren moet u de User
Toolbar in Toolbars/Views in het menu View even aanvinken.
MODULEWIJZER TIRPRO021
23-7-2017
9
Download