Modulewijzer Tirdat01 W. Oele 25 augustus 2008 1
Inhoudsopgave 1 Inleiding en leerdoelen 3 2 Voorkennis 3 2.1 tirprg01 en tirprg02........................ 3 2.2 tirprg03.............................. 4 3 Toetsing 5 4 Formaliteiten 6 5 Leermiddelen 6 6 Werkvorm 7 2
1 Inleiding en leerdoelen Deze module is erop gericht studenten te trainen in het werken met een aantal veelvoorkomende datastructuren. De theorievorming omtrend datastructurenleren in niet voorbehouden aan de programmeertaal Java. Daarom is ervoor gekozen in de hoorcolleges deze datastructuren vooral onafhankelijk van de taal uit te leggen. Een en ander geldt ook voor het voorgeschreven boek. De volgende datastructuren worden behandeld: arrays linked list double linked list queue stack binary tree hash table Het aantal bestaande datastructuren is overigens nog veel groter dan het bovenstaande rijtje, maar bovenstaande rijtje vormt een aardige inleiding in het vakgebied. 2 Voorkennis Alle kennis opgedaan in de modules tirprg01 t/m tirprg03: 2.1 tirprg01 en tirprg02 verschil tussen imperatief, functioneel en objectgeoriënteerd paradigma werking van een compiler en verschil met een interpreter verschil tussen broncode, bytecode en binaries werking van editors De virtuele machine elementaire taalconstructies: 3
statements werken met en eigenschappen van variabelen: int float double char bekend zijn met de scope van variabelen werken met strings werken met arrays if-else constructies en switch statements while en for loops nesting 2.2 tirprg03 werken met methodes: verschil tussen body en signatuur return waarden parameters en argumenten classes en objecten de constructor modifiers: public, private, protected, het pointer principe class deriving method overriding overloading abstract classes polymorphisme interfaces arrays (van pointers naar objecten) 4
werken met de Java API documenteren middels Javadoc UML keywords: static super this exceptions Daar het ingangsniveau van diverse studenten nogal sterk uiteen kan lopen, kunnen, na overleg met de klas, diverse onderwerpen uit de bovenstaande lijsten worden herhaald. 3 Toetsing Tijdens de colleges werkt u aan programmeeropdrachten die via internet in pdf worden verspreid. In ieder van deze opdrachten programmeert u een datastructuur. Iedere opdracht wordt door u persoonlijk gemaakt en in de les ingeleverd, d.w.z. werkend getoond en mondeling toegelicht, waarna beoordeling en aftekening door de docent plaatvindt. Voor deze module wordt geen schriftelijk tentamen afgenomen. Het gemiddelde cijfer van alle ingeleverde opdrachten levert het eindcijfer van deze module. Verdere bepalingen: Gemaakte opdrachten kunnen worden verdedigd zolang ik op de hogeschool werk. Het is dus toegestaan opdrachten veel later of eerder in te leveren. Teneinde u te stimuleren opdrachten op tijd(d.w.z. voor het einde van de module) in te leveren, kost het later inleveren van de opdrachten u 2 punten: het maximaal haalbare cijfer is dan dus een 8. Een eindcijfer voor deze module wordt alleen aan de administratie doorgegeven indien alle opdrachten zijn ingeleverd. Verdediging van de opdrachten is mondeling en persoonlijk. Hieruit volgt dat het per email inleveren van de opdrachten niet is toegestaan. Het stellen van vragen staat per email uiteraard vrij. Opdrachten worden uitsluitend ingeleverd tijdens die uren, waarin ik op de hogeschool aanwezig ben. 5
4 Formaliteiten Modulecode: Tirdat01 Aantal studiepunten: 2 Vereiste voorkennis: tirprg01,tirprg02 en tirprg03. Looptijd: 7 a 8 weken Werkvorm: per week twee uur gecombineerd theorie en practicum Toetsing: Programmeeropdrachten Modulebeheerder: Wessel Oele: W.Oele@hro.nlhttp://med.hro.nl/oelew 5 Leermiddelen Boek: Schaum s outlines Programming with Java second edition, auteur: John R. Hubbard, uitgever: McGraw Hill, ISBN: 0-07-142040-1 Dit boek zal als leidraad worden gebruikt voor de colleges. Boek: Schaum s outlines Datastructures with Java second edition, auteur: John R. Hubbard, uitgever: McGraw Hill, ISBN: 0-07-147698-9 Ook dit boek zal als leidraad worden gebruikt voor de colleges. 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, VI, Netbeans of Jedit Eventueel: Dictaat programmeren in Java door Jeroen Fokker (Nederlandstalig, zie mijn site) hersenen en de wil deze te gebruiken discipline tijd vasthoudendheid interesse 6
6 Werkvorm Tijdens de colleges wordt afwisselend gewerkt aan de programmeeropdracht en geeft de docent centrale colleges. Aanwezigheid is tijdens deze uren niet verplicht. Ik ga ervan uit dat u volwassen genoeg bent om met het relatieve karakter van tijd om te gaan. Het centraal behandelen van leerstof vindt plaats in overleg met de aanwezige studenten. Op basis van de vraag van de meerderheid pas ik de inhoud van de colleges aan. 7