3 ECTS credits
75 u studietijd
Aanbieding 1 met studiegidsnummer 1021129BNR voor alle studenten in het 1e semester met een verdiepend bachelor niveau.
Dit opleidingsonderdeel introduceert de concepten van objectgericht programmeren en de basisprincipes achter de manier waarop objectgerichte talen uitgevoerd worden. De programmeertaal Scala (en Scheme) wordt gebruikt om deze concepten te concretiseren. De volgende onderwerpen komen aan bod:
- Objectgerichte talen: definitie, late binding, geschiedenis, taxonomie, types.
- Basiswaarden in Scala, controlestructuren, de type hiërarchie, hogere-orde programmeren in Scala, partiële applicaties, scoping regels en staartrecursie.
- Objecten, berichten, klassen, overerving, overloading, companion objecten, universeel polymorfisme, gebonden polymorfisme, functies als objecten
- Eenvoudige klassehiërarchieën: Liskov substitutie, abstracte klassen, semantiek van this en super, inheritance vs. overloading.
- Complexe klassehiërarchieën: multiple inheritance, traits, het mixin-linearisatie-algoritme
- Geavanceerd multi-paradigmatisch programmeren: pattern matching, het expression problem, case classes
- Types en type systemen: variantie, covariantie, contravariatie, variantie bij hogere orde methods.
- Contextuele Abstracties: exceptions, givens, extension methods
- Basisprincipes achter OOP: Method-selectie, v-tables en garbage collection.
Het materiaal dat tijdens de hoorcolleges gebruikt wordt is beschikbaar via het leerplatform.
Kennis en het inzicht:
- De student kent de belangrijkste OO programmeerconcepten en kan deze uitleggen en illustreren
- De student kan de realisatie van de belangrijkste OO programmeerconcepten in de programmeertaal Scala uitleggen en illustreren
- De student begrijpt hoe deze concepten uitgevoerd worden door een digitale computer.
Toepassing van de kennis en het inzicht:
- De student kan met de hierboven vermelde technieken en principes in de praktijk goede programma’s schrijven.
Oordeelvorming:
- De student kan de meest geschikte implementatie voor een welbepaalde toepassing kiezen.
- De student kan de gebruikte keuzes verantwoorden en kritisch beoordelen.
Communicatie:
- De student kan zich duidelijk schriftelijk uitdrukken over de hierboven opgesomde onderwerpen en zelf ontwikkelde programma’s.
Leervaardigheden:
- De student kan vertrekkend van de opgedane basiskennis, andere object georiënteerde programmeertalen zelfstandig leren, begrijpen en toepassen.
De beoordeling bestaat uit volgende opdrachtcategorieën:
Examen Schriftelijk bepaalt 60% van het eindcijfer
ZELF Praktijkopdracht bepaalt 40% van het eindcijfer
Binnen de categorie Examen Schriftelijk dient men volgende opdrachten af te werken:
Binnen de categorie ZELF Praktijkopdracht dient men volgende opdrachten af te werken:
Het eindcijfer wordt bepaald door volgende onderdelen:
(1) Een programmeeropdracht, inclusief verslag, dient opgeleverd te worden tijdens het semester. Deze opdracht is verplicht en telt voor 40% van het eindcijfer.
(2) Een schriftelijk examen telt voor 60% van het eindcijfer. Dit examen omvat zowel oefeningen als theoretische vragen.
Er is een examen en een project. De student moet beide onderdelen van het examen afleggen en op elk onderdeel minstens 7/20 halen alvorens als eindcijfer het gewogen gemiddelde wordt toegekend. Indien beide onderdelen worden afgelegd maar op minstens één onderdeel wordt minder dan 7/20 gehaald is het eindcijfer het minimum van beide onderdelen. Er worden geen partiële vrijstellingen gegeven.
Deze aanbieding maakt deel uit van de volgende studieplannen:
Bachelor in de computerwetenschappen: Standaard traject
Bachelor in de wiskunde en Data Science: Standaard traject
Bachelor in de artificiële intelligentie: Standaard traject
Educatieve master in de wetenschappen en technologie: biologie (120 ECTS, Etterbeek)
Educatieve master in de wetenschappen en technologie: geografie (120 ECTS, Etterbeek)
Educatieve master in de wetenschappen en technologie: fysica (120 ECTS, Etterbeek)
Educatieve master in de wetenschappen en technologie: wiskunde (120 ECTS, Etterbeek)
Educatieve master in de wetenschappen en technologie: ingenieurswetenschappen (120 ECTS, Etterbeek)
Educatieve master in de economie: standaard traject (90 ECTS, Etterbeek)
Voorbereidingsprogramma Master of Science in de ingenieurswetenschappen: computerwetenschappen: Traject C (Ind Ing, 61 ECTS)
Voorbereidingsprogramma Master of Science in de ingenieurswetenschappen: computerwetenschappen: Traject A (76 ECTS)
Voorbereidingsprogramma Master of Science in de ingenieurswetenschappen: computerwetenschappen: Traject B (65 ECTS)
Voorbereidingsprogramma Master of Science in de toegepaste informatica: Traject C (Ind Ing, 58 ECTS)
Voorbereidingsprogramma Master of Science in de toegepaste informatica: Traject A (58 ECTS)
Voorbereidingsprogramma Master of Science in de toegepaste informatica: Traject B (52 ECTS)