Modulewijzer tirprog02/infprg01, programmeren in Java 2 W. Oele 17 november 2009 1
Inhoudsopgave 1 Inleiding 3 2 Studiehouding 3 3 Voorkennis 4 4 Inhoud van deze module 5 5 Leermiddelen 5 6 Theorie en practicum 6 7 Toetsing 6 8 Planning 6 2
1 Inleiding In eerdere modules werd een begin gemaakt met het leren programmeren in Java. De nadruk lag bij deze module op het wennen aan de taal en het aanleren van een aantal elementaire taalconstructies zoals het werken met variabelen, if-else constructies, loops en het werken met methodes. Verder heeft de voorgaande module vooral tot doel gehad het stelselmatig en gestructureerd denken, alsmede het bedenken van algoritmen te ontwikkelen. In deze module wordt de nadruk niet gelegd op het bedenken van algoritmen, maar op de structuur van Java programma s. Zo zul je leren dat een Java programma is opgebouwd uit een aantal losse legostenen die objecten worden genoemd. Het zelf maken van één legosteen is in de voorgaande module op enig niveau aangeleerd. In deze module ga je leren hoe je kunt werken met grote aantallen legostenen en zul je zien hoe je een verzameling verschillende stenen in elkaar kunt klikken. Net als met echt lego kun je niet zomaar iedere steen op iedere andere steen klikken. Er zijn regels, waarin is vastgelegd wat kan en wat niet kan. Deze module laat zien hoe die regels in elkaar zitten en waar je rekening mee moet houden bij het ontwerpen van een programma. Ook zul je in deze module op basaal niveau leren hoe je gebruik kunt maken van een grote verzameling kant en klare legostenen waar de hele wereld mee werkt: de Java API... 2 Studiehouding De stof in deze module is aanzienlijk abstracter dan de leerstof in de vorige module. Het belangrijkste aspect om in de gaten te houden vormt het verkrijgen en behouden van overzicht. Hiermee wordt bedoeld dat er in deze module een groot aantal begrippen wordt behandeld, waarvan jij precies zult moeten weten wat ze betekenen en hoe en wanneer je ze gebruikt. Wanneer je het overzicht kwijtraakt, ontstaat al snel een situatie, waarin je tegen ondoorgrondelijk taalgebruik en al even ondoorgrondelijke programmeercode aanloopt. De enige manier om dit te voorkomen is door zeer veel te oefenen en te experimenteren met kleine programma s, opdat je begrijpt hoe specifieke concepten in elkaar zitten. Oefening baart kunst 3
3 Voorkennis Alle leerstof uit de module tirprog01/infprg00, tirlin01 en eventueel de deficiëntiemodule wiskunde wordt bekend geacht. Loop daarom de ondertaande opsomming van onderwerpen uit tirprog01 nog eens na en bestudeer de onderwerpen die je nog niet voldoende beheerst of (gedeeltelijk) bent vergeten. Wat is programmeren? Kort geschiedkundig overzicht van programmeertalen imperatief, functioneel en objectgeoriënteerd paradigma werking van een compiler en verschil met een interpreter verschil tussen broncode, bytecode en binaries enkele editors De virtuele machine elementaire taalconstructies: statements werken met en eigenschappen van variabelen int float double char werken met strings werken met arrays if-else constructies en switch statements while en for loops nesting werken met methodes 4
4 Inhoud van deze module In deze module worden de volgende onderwerpen behandeld: Het verschil tussen classes en objecten De structuur van grotere Java programma s Variabelen en referenties naar objecten (pointers) Modifiers: public, private en protected Data hiding Overloading De constructor Overerving en generalisatie/specialisatie Het keyword super Het keyword static Abstracte classes Interfaces Uit het boek van Schaum zal in deze module alle stof worden behandeld uit de hoofdstukken zes tot en met negen. 5 Leermiddelen Voor deze module heb je het volgende nodig: Boek: Schaum s outlines Programming with Java second edition, auteur: John R. Hubbard, uitgever: McGraw hill, ISBN: 0-07-142040-1 Boek: Introduction to Java programming, auteur: Y. Daniel Liang, uitgever: Prentice Hall, ISBN:0132221586 Software: Java Development Kit (JDK) versie 6, te downloaden van http://www.javasoft.com Eventueel: text editors zoals Emacs of Jedit 5
hersenen en de wil deze te gebruiken discipline tijd vasthoudendheid interesse 6 Theorie en practicum Per week krijg je twee uur theorie en drie uur practicum. Tijdens de theorie legt de docent te leren stof uit, waarbij grofweg de onderwerpen in het boek behandeld zullen worden. In het practicum werk je aan opdrachten uit het boek of aan opdrachten die de docent voorschrijft. Tijdens het practicum loopt er ook een studentassistent door de zaal. Ook aan deze ouderejaars student kun je vragen stellen als je ergens niet uit komt. 7 Toetsing Deze module wordt getoetst middels een schriftelijk tentamen (gesloten boek, zonder verdere hulpmiddelen) dat aan het einde van deze module wordt gegeven. Alvorens je aan het tentamen mag deelnemen zul je wel eerst in het practicum de uitwerkingen van een aantal opdrachten bij de docent of assistent moeten laten aftekenen. Deze opdrachten zijn te vinden op de website van de docent (http://med.hro.nl/oelew) 8 Planning Daar er voor deze module in de verschillende opleidingen variërende hoeveelheden tijd ter beschikking staan en dit bovendien ook nog per jaar verandert, is het niet mogelijk een volledige planning van week tot week te geven voor deze module. De docent zal daarom, in overleg met de leiding een planning overeenkomen en deze doorgeven aan de student aan het begin van de module. 6