Inhoud introductie. Introductie tot de cursus



Vergelijkbare documenten
Introductie tot de cursus

Inhoud introductie. Introductie tot de cursus

Inhoud. Introductie tot de cursus

Inhoud. Introductie tot de cursus

Inhoud. Introductie tot de cursus

Inhoud introductie. Introductie tot de cursus

Inhoud introductie. Introductie tot de cursus

Inhoud introductie. Introductie tot de cursus

Inhoud. Introductie tot de cursus

Inhoud. Introductie tot de cursus

Introductie tot de cursus. 1 Plaats en functie van de cursus 7 2 Inhoud van de cursus 8

Introductie tot de cursus

Practicumhandleiding. (versie 2010)

Inhoud. Introductie tot de cursus. Continue wiskunde

Studiewijzer. Bachelor Informatica. Inleiding Programmeren Studiejaar en semester: jaar 1, semester 1 (blok 1)

Introductie. Inhoud introductie

Inhoud. Introductie tot de cursus

Inhoud. Introductie tot de cursus. 1 De cursus 7 2 Inhoud 7 3 Het cursusmateriaal 9 4 Het bestuderen van de cursus 10 5 Tentaminering 11

Inhoud introductie. Introductie tot de cursus

recursie Hoofdstuk 5 Studeeraanwijzingen De studielast van deze leereenheid bedraagt circa 6 uur. Terminologie

Modulewijzer tirprog02/infprg01, programmeren in Java 2

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

Introductie tot de cursus

Stacks and queues. Hoofdstuk 6

Studiewijzer BACHELOR KUNSTMATIGE INTELLIGENTIE EXTRA KEUZENVAK VAK: C++ PROGRAMMEERMETHODEN

Modulewijzer Tirdat01

Inhoud introductie. Introductie tot de cursus

HBO5 Informatica Netwerkbeheer (90 studiepunten) In deze module leer je projecten op te stellen en te programmeren in de VB.NET-omgeving.

Ontwikkelingen in de bacheloropleidingen Informatica en Informatiekunde. TouW-symposium 12 november 2011 Frank Wester

Inhoud. Introductie tot de cursus

Modulewijzer tirprog03, programmeren in Java 3

Inhoud introductie. Introductie tot de cursus

Introductie tot de cursus

Academische competenties Informatica

Uitvoeringsregeling bij de Onderwijs- en examenregeling wo bacheloropleiding Informatiekunde

BSc Kunstmatige Intelligentie. : Bachelor Kunstmatige Intelligentie Studiejaar, Semester, Periode : semester 1, periode 2

BBL-4, topklinisch traject RdGG Pagina 1 van 7 Persoonlijke ontwikkeling Studievaardigheden

Masters Software Engineering en Computer Science Programma, toelating en wijze van studeren

Fundamentele. Informatica 1. Eerste college: -introductie -verzamelingen I

Schrijven van studiemateriaal

Voorbereidingscursussen

Uitvoeringsregeling bij de Onderwijs- en examenregeling wo bacheloropleiding Informatica

Schakelzoneprogramma Universiteit Utrecht Tentaminering Inhoudsopgave

Aanpak van een cursus

Schrijven van studiemateriaal

Fundamentele. Informatica 1. Eerste college: introductie

Schakelzoneprogramma Universiteit van Amsterdam Tentaminering Inhoudsopgave

Keuzes in de propedeuse De propedeuse kent geen gebonden keuzeruimte en geen vrije ruimte

Recursion. Introductie 37. Leerkern 37. Terugkoppeling 40. Uitwerking van de opgaven 40

- Academische competenties in de bachelor - Academische competenties in de bachelor

Inhoud introductie. Introductie tot de cursus

Opleidingsplan. Studenten. MDL- referentie. Clermond de Hullu Wiebren Wolthuis Simon Wels Maik Gosenshuis D04

Studiehandleiding. Calculus 2 voor Wiskunde en Natuurkunde november en december 2007

Vernieuwing Bacheloropleidingen Informatica en Informatiekunde

Modulewijzer InfPbs00DT

Modulehandleiding. voorjaar 2017

Keuzes in de propedeuse De propedeuse kent geen gebonden keuzeruimte en geen vrije ruimte.

HOGESCHOOL ROTTERDAM

Programmeren in Access met VBA

Programmeren in Access 2016 met VBA

Programmeren in Java 2

Cursusontwikkeling / Centrale ELO

Inhoud eindtoets. Eindtoets. Introductie 2. Opgaven 3. Terugkoppeling 6

Vorig jaar in 5v cluster, tot en met OO hoofdstukken, geen problemen. Nu in mengcluster, tot OO hoofdstukken, wel problemen bij 4h leerlingen

HBO5 Informatica Netwerkbeheer (90 studiepunten)

De leukste opleidingen

PROGRAMMA VAN TOETSING EN AFSLUITING Vak : Natuur- en scheikunde 1 (NASK-1)

Schakelzoneprogramma Universiteit Utrecht Tentaminering

Evaluatie weblectures bij FLOT. aanleiding

Toelating en vrijstelling Toelating tot een van de masteropleidingen

Hoorcollege 1 datavisualisatie

Ontwikkelingen in de bacheloropleidingen Informatica en Informatiekunde

Studieschema bachelor Informatica

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

Programmeren met Java

de vereiste integriteit in acht nemen.

Programmeren in Java 3

Producten en prijzen 2012

Lineaire algebra en vectorcalculus

Transcriptie:

Inhoud introductie Introductie tot de cursus 1 Plaats en functie van de cursus 7 2 Inhoud van de cursus 8 2.1 Voorkennis 8 2.2 Leerdoelen 8 2.3 Opbouw van de cursus 9 2.4 Leermiddelen 9 3 Tentaminering 11 3.1 Schriftelijk tentamen 11 3.2 Huiswerkopgaven 12 6

Introductie tot de cursus Om u wegwijs te maken in de cursus Datastructuren en algoritmen, informeren wij u eerst over de bedoeling van de cursus, de opzet van het cursusmateriaal en de manier waarop u de cursus kunt bestuderen en afronden. U vindt in deze introductie praktische en studietechnische informatie die u inzicht geeft in de aard en opzet van de cursus en die u helpt bij het bestuderen. 1 Plaats en functie van de cursus De cursus Datastructuren en algoritmen is een cursus van het tweede niveau met een studielast van 4,3 studiepunten. Dit aantal komt overeen met een netto- of effectieve studielast van ongeveer 100 à 120 uur. Op de cursussite staat een tabel met de opbouw van de studielast. De cursus is een verplicht onderdeel van de bacheloropleiding Informatica. Het is na Objectgeoriënteerd programmeren in Java 1 en Objectgeoriënteerd programmeren in Java 2 de derde cursus in de informaticaopleidingen van de Open Universiteit Nederland die aan programmeren is gewijd. Het karakter van deze derde cursus is echter duidelijk anders dan dat van de eerste twee. De andere twee cursussen richten zich vooral op het leren programmeren, gebruikmakend van de taal Java, waarbij in het bijzonder aandacht is besteed aan objectoriëntatie en aan het werken met een visuele programmeeromgeving. Veel minder aandacht is in die cursussen besteed aan algoritmiek en al helemaal niet aan het gebruik van de standaarddatastructuren uit de informatica en aan de algoritmen die op deze datastructuren werken. Precies dat is het onderwerp van deze cursus. De manier waarop we in de cursus deze datastructuren en algoritmen benaderen, is echter wat losser van de taal Java dan u gewend bent en wellicht ook zou verwachten. Dit is echter bewust gedaan: het gebruik van datastructuren of algoritmen is in de ene programmeertaal niet wezenlijk anders dan in de andere. Het is daarom goed om te kunnen scheiden wat bij het algoritme hoort en wat specifiek is aan de toevallige implementatie in een specifieke programmeertaal. Vaak worden algoritmen en datastructuren in deze cursus dan ook beschreven aan de hand van een zogeheten pseudo-code, waarmee de essentie beter wordt weergegeven. Daarnaast zullen regelmatig ook stukken Java-code worden getoond ter illustratie. 7

Open Universiteit Datastructuren en algoritmen Programmeren in Java zult u in deze cursus niet of nauwelijks doen. In plaats daarvan wordt van u verwacht dat u de behandelde datastructuren en algoritmen grondig bestudeert en dat u met pen en papier (of een elektronische variant daarvan) opgaven maakt waarmee u uw vaardigheid in het omgaan met algoritmen oefent. We gaan er daarbij van uit dat u over voldoende Java-kennis en -vaardigheid beschikt om u een concrete voorstelling te maken van de wijze waarop het betreffende algoritme in Java geïmplementeerd zou kunnen worden. 2 Inhoud van de cursus 2.1 VOORKENNIS Wilt u een goede kans maken om de inhoud van deze cursus zonder problemen te bestuderen en de cursus met succes af te ronden, dan zult u over de nodige voorkennis moeten beschikken. Naast een algemene informaticavoorkennis, is voorkennis nodig van Java en van wiskunde. Java Wiskunde Wat betreft Java lijkt ons een niveau behaald via Objectgeoriënteerd programmeren in 1 Java voldoende, aangevuld met enkele essentiële onderwerpen uit Objectgeoriënteerd programmeren in Java 2, zoals overerving, interfaces en exception handling. De andere onderwerpen uit deze cursus zijn niet echt noodzakelijk, maar kunnen wel helpen om de meer objectgeoriënteerde (OO-) onderdelen van de cursus te begrijpen. Hoofdstuk 1 van het tekstboek: Java programming basics kunt u als een herhaling of als een naslagwerk beschouwen. Ook van hoofdstuk 2: Object-oriented design zal veel u al bekend zijn. Wat betreft continue wiskunde is elementaire voorkennis nodig wat betreft exponentiële en logaritmische functies en een wat meer abstracte benadering van continue functies, zoals bijvoorbeeld gebruikt wordt in paragraaf 4.2 van het tekstboek: Common mathematical functions. Voorkennis op het niveau van Continue wiskunde is ruim voldoende, voor de meesten zal de kennis van de middelbare school kunnen volstaan. Discrete Wiskunde A als voorkennis is wenselijk. Hierin komen onderwerpen aan de orde die ook in deze cursus terugkomen, zoals verzamelingen, bomen, grafen en inductief geïndiceerde rijen. Verder bevat het tekstboek een (heel summiere) appendix over wiskunde: useful mathematical facts. 2.2 LEERDOELEN Na het bestuderen van deze cursus wordt verwacht dat u een overzicht heeft van en inzicht heeft in de standaarddatastructuren en -algoritmen uit de informatica. U bent vertrouwd geraakt met recursieve algoritmen, met de verschillende fundamentele technieken waarop veel niet-triviale algoritmen zijn gebaseerd en u hebt een duidelijk inzicht gekregen in wat de essentie is van de bestudeerde algoritmen en waarom deze algoritmen doen wat ze moeten doen. U heeft ook de vaardigheid verworven om algoritmen met een vergelijkbare complexiteit als die uit de cursus te kunnen begrijpen. De benadering daarbij moet er één zijn die losstaat van de toevallige taal waarin de algoritmen zijn geïmplementeerd. 8

Introductie tot de cursus Ten slotte heeft u een goed inzicht verworven in de analyse van algoritmen wat betreft tijdscomplexiteit. Hiervoor is een enigszins wiskundige benadering van de werking van algoritmen noodzakelijk. 2.3 OPBOUW VAN DE CURSUS De opbouw van de cursus wordt geheel bepaald door de opbouw van het tekstboek, waarvan vrijwel alles tot de cursus behoort, met uitzondering van hoofdstukken 1 en 15. Voor de opbouw verwijzen we daarom in eerste instantie naar het tekstboek, in het bijzonder naar de Preface en de daarin opgenomen tabel. Hoofdstuk 1 is een herhaling van begrippen uit de cursus Objectgeoriënteerd programmeren in Java 1 en behoort daarom niet tot de leerstof van deze cursus. U kunt dit hoofdstuk zonodig doornemen om uw Java-kennis weer op te frissen. Of u kunt het gebruiken als naslagwerk. Het laatste hoofdstuk, hoofdstuk 15, behoort niet tot de leerstof. Uit andere hoofdstukken hebben we wat onderdelen geschrapt. De reden van het schrappen is meer gelegen in het feit dat we de beschikbare studielast niet willen overschrijden dan dat we de onderwerpen niet van belang achten. Wat van de verschillende hoofdstukken precies wel en niet tot de cursus behoort, staat bij elk hoofdstuk van dit werkboek steeds nauwkeurig beschreven in het begin van elke introductie. 2.4 LEERMIDDELEN Het cursusmateriaal dat aan studenten wordt toegestuurd, bestaat uit een tekstboek en een werkboek. Verder zal ook intensief gebruik worden gemaakt van de cursussite op Studienet. Tekstboek Het tekstboek bevat de kern van de leerstof van deze cursus. Er is gekozen voor het boek van Michael T. Goodrich, Roberto Tamassia en Michael H. Goldwasser, Data structures and algorithms in Java. New York, Wiley, 2015, 6th edition. De auteurs zijn er naar onze mening goed in geslaagd de onderwerpen uit het vakgebied grondig en duidelijk te behandelen. Daarbij is een goed evenwicht gerealiseerd tussen enerzijds het uitleggen van de essentie van de behandelde datastructuren en algoritmen door gebruik te maken van respectievelijk abstracte datatypen en pseudo-code en anderzijds de implementatie in Java. Ook de manier waarop de analyse van algoritmen wordt benaderd, is naar onze mening evenwichtig: als een wiskundige benadering tot duidelijke inzichten leidt, wordt dit niet geschuwd, maar dit wordt evenmin overdreven. De benadering is verder duidelijk objectgeoriënteerd en sluit in die zin goed aan bij de voorgaande programmeercursussen. Ook worden enkele eenvoudige ontwerppatronen (design patterns) in het boek besproken. Eén en ander betekent wel dat OO-onderwerpen als overerving en het gebruik van interfaces goed begrepen moeten zijn. 9

Open Universiteit Datastructuren en algoritmen Website tekstboek Er is ook een uitgebreide website behorend bij het tekstboek, waar tal van interessante zaken te vinden zijn: links naar applets, software, presentaties die u kunt gebruiken als samenvatting van de behandelde stof, artikelen van de auteurs over didactische zaken, enzovoort. Deze website bereikt u via het adres: www.wiley.com/college/goodrich U kunt deze website zien als aanvullend maar niet noodzakelijk: alle ondersteuning die wij noodzakelijk achten, wordt gegeven middels het werkboek en de cursussite. Werkboek Bijlagen over gebruikte Javainterfaces en -klassen Werkboek heeft geen register Presentaties als samenvatting Cursussite op studienet In het werkboek worden aanvullingen gegeven die nodig kunnen zijn bij het bestuderen van het tekstboek. Wij gaan er daarbij van uit dat u dit werkboek gebruikt en bestudeert naast en gelijk opgaand met de vastgelegde onderdelen van het tekstboek. In het werkboek treft u verschillende vormen van ondersteuning aan. U kunt daarbij denken aan het vastleggen van de te bestuderen leerstof, extra uitleg, aanvullende leerstof, opgaven en bijbehorende uitwerkingen, formuleringen van leerdoelen, een schatting van de studielast per hoofdstuk, verwijzingen naar illustratieve applets op studienet, toelichting op de in het tekstboek gebruikte Java-klassen en interfaces, enzovoort. Van de applets kunnen we helaas de werking niet garanderen met nieuwere versies van Java. In het tekstboek worden regelmatig Java-klassen en -interfaces gebruikt. Hoe deze klassen en interfaces met elkaar samenhangen, is niet altijd even duidelijk. Deze samenhang wordt in het werkboek gegeven door middel van diagrammen, gebaseerd op unified modeling language (UML); u vindt deze diagrammen in de bijlagen van de betreffende hoofdstukken (vanaf hoofdstuk 3). We hopen dat u op deze wijze beter het overzicht kunt houden over de relaties tussen de in dat hoofdstuk gebruikte Java-klassen en -interfaces. Het werkboek heeft, anders dan andere cursussen, geen register. Indien u zoekt naar een specifiek onderwerp, kunt u gebruikmaken van de uitgebreide index van het tekstboek. Het werkboek bevat ook geen samenvattingen. Van veel van de behandelde hoofdstukken of paragrafen zijn op de website van het tekstboek presentaties te vinden die u kunt bekijken en afdrukken. Deze zijn desgewenst te gebruiken als samenvatting van de betreffende leerstof. Op de cursussite vindt u de meest actuele informatie over de cursus en alle informatie die niet of moeilijk statisch is vast te leggen in het werkboek. U vindt de cursussite via http://studienet.ou.nl. Als dit de eerste OUNL-cursus is die u bestudeert, moet u zich op de genoemde pagina vooraf registreren Nadat u zich geregistreerd hebt en bent ingelogd, komt u op uw werkplek. Als u voor deze cursus bent ingeschreven, bevat uw werkplek een link naar de bijbehorende cursussite. 10

Introductie tot de cursus In het bijzonder bevat de cursussite de volgende zaken: een nieuwsgroep waarin u vragen kunt stellen aan de studiebegeleider(s) of aan andere studenten lijsten met errata in het tekstboek en het werkboek informatie over de verschillende manieren waarop u met de studiebegeleider en examinator in contact kunt komen planning en uiterste datum voor het inleveren van de huiswerkopgaven verwijzingen naar applets die de werking van algoritmen visualiseren software om te downloaden, bijvoorbeeld Java-applets. Geen software meegeleverd Gebruik nieuwsgroep In het cursuspakket wordt geen software meegeleverd zoals bij de andere programmeercursussen; er wordt in deze cursus immers niet verwacht dat u programmeeropdrachten uitvoert. Wel wordt zo nu en dan software, bijvoorbeeld Java-applets, beschikbaar gesteld via de cursussite, zodat u die ook lokaal in uw programmeeromgeving kunt uitproberen. Wij beschouwen de nieuwsgroep van de cursussite als een belangrijk communicatiemedium, niet alleen voor de communicatie tussen studenten en studiebegeleider(s), maar ook voor de communicatie tussen studenten onderling. Daarom wordt u verzocht uw vragen of opmerkingen over de cursus zoveel mogelijk te plaatsen in de nieuwsgroep en alleen e-mail te gebruiken indien u er zeker van bent dat uw vraag of het antwoord daarop niet van belang is voor uw medestudenten. Schroom niet om ook eenvoudige vragen te stellen, de praktijk leert dat u ook andere studenten daarmee een dienst bewijst. 3 Tentaminering De cursus wordt afgesloten met een schriftelijk tentamen en een serie huiswerkopgaven. Het tentamen is een open-boektentamen dat u driemaal per jaar kunt afleggen.de serie huiswerkopgaven wordt twee keer per jaar aangeboden. U bent geslaagd voor de cursus als beide onderdelen voldoende zijn. Het eindcijfer is het gewogen gemiddelde van de twee behaalde deelcijfers: het huiswerk heeft een wegingsfactor 2, het tentamen heeft een wegingsfactor 1. Zowel de huiswerkserie als het tentamen gaat over de gehele stof. Op het tentamen worden voornamelijk toepassingsgerichte vragen gesteld. In de huiswerkopgaven komen de meer creatieve onderdelen aan bod: opgaven waar u wellicht een nachtje over wilt slapen om tot een efficiënte oplossing te komen. Wij adviseren u om eerst de serie huiswerkopgaven te maken en daarna het tentamen, maar noodzakelijk is dit niet. 3.1 SCHRIFTELIJK TENTAMEN Het schriftelijk tentamen is een open-boektentamen van drie uur en bestaat geheel uit open vragen. Het is toegestaan om tijdens het tentamen gebruik te maken van zowel het tekstboek als het werkboek (schoon). De tentamendata vindt u op de cursussite. Algemene informatie over de gang van zaken bij het tentamen kunt u vinden via de website van de Open Universiteit Nederland: www.ou.nl. 11

Open Universiteit Datastructuren en algoritmen Eindtoets Bij de cursus hoort een eindtoets die representatief is voor het tentamen. Wij adviseren u nadrukkelijk deze pas te maken als u klaar bent met de tentamenvoorbereiding. U vindt de eindtoets op de cursussite. 3.2 HUISWERKOPGAVEN Tweemaal per jaar! Studieplanning Studieadvies De huiswerkopgaven worden tweemaal per jaar aangeboden. Alle informatie over de huiswerkopgaven vindt u op de cursussite. U vindt hier ook een serie vragen die representatief is voor de huiswerkopgaven. Omdat de huiswerkopgaven slechts tweemaal per jaar worden aangeboden, is het van groot belang dat u de activiteiten van deze cursus goed inpast in uw studieplanning: als u door een slechte planning onvoldoende tijd blijkt te hebben voor deze cursus in de betreffende periode, kunt u gemakkelijk achteropraken en de gestelde inleverdatum niet halen. Een advies van onze kant is om in de weken van het studiejaar waarin de cursusbegeleiding is gepland, ten minste tien uur per week te reserveren voor deze cursus om te garanderen dat u alles op tijd af krijgt. Indien u tijdens deze periode onvoldoende tijd beschikbaar hebt, is het aan te raden om al ruim van tevoren te beginnen met het bestuderen van deze cursus. 12