Technieken van object-georiënteerd programmeren worden aangeleerd en geïllustreerd met behulp van C++ als programmeertaal.
Dit omvat o.a. klassen en objecten en alles wat daar bij hoort zoals o.m. data-hiding, overerving en polymorfisme.
Daarnaast wordt uitgebreid aandacht besteed aan de Standard Template Library met topics zoals containerklassen (vector, list, stack, deque, queue, ...), templates, iteratoren, algoritmen en predicaten.
Ook streams, manipulatoren en exception-handling worden uitgebreid bekeken.
Voortgaande op de basiskennis van Javascript uit het 2de jaar worden ook hier gevorderde taalelementen behandeld (DOM, events, DHTML, data-binding).
A. Algemene competenties
- 01. Denk- en redeneervaardigheid
- 02. Informatie verwerven en verwerken
- 03. Projectmatig en methodisch handelen in functie van creatieve kennisontwikkeling
- 04. Vermogen tot kritische reflectie
- 09. Een ingesteldheid hebben tot levenslang leren
Toelichting:
Studenten moeten op basis van de behandelde syntaxelementen uit de taal C++, en op basis van diverse uitgewerkte analyses en voorbeeldprogramma's in staat zijn om zelfstandig complexe problemen te analyseren, en op te lossen met een C++programma.
Problemen hebben in principe niet slechts één mogelijke (correcte) oplossing. De student moet in staat zijn om voor- en nadelen van verschillende oplossingsmethoden tegen elkaar af te wegen en tekortkomingen in het bekomen resultaat kunnen achterhalen.
Een degelijke kennis van de syntax van een programmeertaal is een eerste vereiste, maar daarnaast is ook het vermogen om een probleem grondig te analyseren erg belangrijk. Studenten kunnen verschillende oplossingsmethoden vergelijken en voor- en nadelen van elk aanwijzen.
De snelle evolutie van de technologie verplicht de student om zijn kennis continu bij te schaven door regelmatig op zoek te gaan naar wijzigingen, aanvullingen en nieuwe ontwikkelingen. Het internet is hiervoor de belangrijkste bron.
B. Beroepsgerichte/ Algemeen wetenschappelijke competenties
- 01. Een onderzoekende houding hebben met inbegrip van een appreciatie van de onzekerheid, de ambiguïteit en de grenzen van de kennis
- 02. Kennis hebben van onderzoeksmethoden en -technieken en deze adequaat kunnen toepassen
Toelichting:
Studenten leren dat er verschillende manieren zijn om één bepaald probleem op te lossen. Daarbij wordt de nodige aandacht besteed aan veel voorkomende fouten en aan efficientie van de verschillende oplossingsmethoden.
Studenten moeten in staat zijn om alternatieve oplossingsmethoden te vergelijken en de beste oplossing te kiezen.
C. Beroepsspecifieke competenties
- C01 Systematische kennis hebben van de kernelementen van een discipline.
- C02 Gedetailleerde kennis hebben, geïnspireerd door de nieuwste ontwikkelingen van de discipline.
- C03 Begrip hebben van de structuur van het vakgebied en samenhang met andere vakgebieden.
- C04 Praktisch gericht kunnen denken en handelen vanuit wetenschappelijk inzicht.
Toelichting:
Studenten kunnen de oplossingsstrategie voor een bepaald probleem omzetten in C++-code. Bij het behandelen van de syntax-elementen wordt ook aandacht besteed aan de nieuwste taaluitbreidingen zoals gedefinieerd in de Standard Template Library.
Als ontwikkelingsomgeving wordt de meest recente versie van Microsoft Visual .NET gebruikt.
Studenten kunnen een systematische methode bedenken voor het oplossen van programmeerbare problemen en deze opsplitsen in kleinere entiteiten. Hierbij maken zij een verantwoorde keuze voor de meest geschikte gegevensstructuur.
In de voorbeelden en oefeningen komen toepassingen aan bod gerelateerd aan andere vakgebieden als wiskunde, mechanica, statistiek, fysica, ... Daarbij wordt duidelijk dat kennis van een programmeertaal alleen weinig zinvol is. Om die efficiënt te kunnen gebruiken om een probleem op te lossen is immers ook een grondige kennis van het vakgebied waar het probleem zich stelt onmisbaar.
A. Volgtijdelijkheid
B. Competenties
- Elementaire kennis van MS Windows en gebruik van web-browser
- Algemene kennis programmeertalen (C++)
- basiskennis Javascript
A. Type
- materiaal op leeromgeving
- materiaal op WWW
- handboek
- audiovisueel materiaal
B. Verplichte leermiddelen
handboek:
Laan Gertjan, 2002, Aan de slag met C++, Academic Service, Schoonhoven, [ISBN 90-395-1689-8]
beschikbaar op het computernetwerk van de campus:
- powerpointpresentaties
- voorbeeldprogramma's
- oefeningen
Geeraerts Guy, 2007
C. Aanbevolen leermiddelen
Deitel, Deitel & Goldberg, 2004, Internet & World Wide Web How to Program, Pearson Education, [ISBN 0-13-124682-8]
A. Types
- hoorcollege
- oefenpracticum
B. Omschrijving
Alle lessen worden gegeven in een computerlokaal, waar elke student individueel over een PC beschikt.
De powerpointpresentaties worden gebruikt als leidraad bij de theorie. Afwisselend met theorie worden voorbeelden uitgetest en besproken.
Bij de oefeningen gebeurt de analyse van het probleem deels individueel, deels klassikaal. Afsluitend worden mogelijke oplossingen besproken.
A. Types
- praktische proef
- open boek
B. Omschrijving
Het examen is een opdracht die aan de computer moet worden opgelost, waarbij enerzijds code dient te worden geschreven, en anderzijds vragen kunnen worden gesteld over bestaande code. Gebruik van het handboek is hierbij toegelaten.
Contact met de docent opnemen kan voor, tijdens en na de les, en buiten de lessen bij voorkeur via email.