Onderwijstaal : Nederlands |
Examencontract: niet mogelijk |
Volgtijdelijkheid
|
|
Verplichte volgtijdelijkheid op niveau van de opleidingsonderdelen
|
|
|
|
Volgende opleidingsonderdelen dient u ook opgenomen te hebben in uw studieprogramma in een voorgaande onderwijsperiode.
|
|
|
Algoritmen en Datastructuren (4988)
|
6.0 stptn |
|
|
Geavanceerd Objectgeoriënteerd Programmeren (4985)
|
6.0 stptn |
|
|
Imperatief Programmeren (4860)
|
10.0 stptn |
|
|
| Studierichting | | Studiebelastingsuren | Studiepunten | P2 SBU | P2 SP | 2de Examenkans1 | Tolerantie2 | Eindcijfer3 | |
| 2de bachelorjaar in de informatica | Verplicht | 162 | 6,0 | 162 | 6,0 | Ja | Ja | Numeriek | |
|
| Eindcompetenties |
- EC
| De afgestudeerde bachelor informatica kan een probleem uit de praktijk als informaticaprobleem modelleren en analyseren, de eigen creativiteit aanwenden om deelproblemen op te lossen en de gevonden oplossingen te combineren tot een oplossing voor het oorspronkelijke probleem. | | - DC
| De student kan een probleem uit de praktijk als informaticaprobleem modelleren. | | - DC
| De student kan een informaticaprobleem analyseren door het op te splitsen in meer beheersbare deelproblemen. | | - DC
| De student kan de eigen creativiteit aanwenden om een matig complex informaticaprobleem op te lossen en deze oplossing te beschrijven. | - EC
| De afgestudeerde bachelor informatica is zich bewust van informatica als wetenschappelijke discipline, toont een kritische ingesteldheid en kan een standpunt innemen en verdedigen op basis van verworven kennis en inzicht. | | - DC
| De student kan informatica als wetenschappelijke discipline situeren. | | - DC
| De student kan problemen van matige tot redelijke complexiteit op een wetenschappelijke manier onderzoeken en systematisch aanpakken. | - EC
| De afgestudeerde bachelor informatica kan het oplossen van problemen algoritmisch benaderen en is vertrouwd met diverse programmeerparadigma's, -technieken en -methoden. | | - DC
| De student kan algoritmen implementeren in een programma. | | - DC
| De student begrijpt de principes van computationeel denken en kan deze toepassen bij het programmeren. | | - DC
| De student begrijpt het belang van precieze syntaxis en semantiek van programmeertalen en kent het onderscheid tussen beide. | | - DC
| De student kent de principes van diverse programmeerparadigma''s (zoals imperatief, object-georiënteerd en functioneel programmeren) en kan deze toepassen. | | - DC
| De student begrijpt het belang van documentatie en kan code documenteren. | - EC
| De afgestudeerde bachelor informatica kan gefundeerd redeneren, abstraheren en formaliseren, gebruik makend van kennis van en inzicht in de wiskundige basis van de informatica. | | - DC
| De student kan basisbegrippen en -eigenschappen uit de wiskunde toepassen bij het construeren van informatica-oplossingen. | - EC
| De afgestudeerde bachelor beschikt over een breed referentiekader waardoor hij/zij de eigen kennis en vaardigheden van het vakgebied voortdurend kan actualiseren. | | - DC
| De student heeft grondige kennis over belangrijke deelgebieden van de informatica: programmeertalen en -paradigma''s, computerarchitectuur, human computer interaction, data management, algoritmen en datastructuren, software engineering, computernetwerken, logica, theoretische informatica, besturingssystemen en computer graphics. | | - DC
| De student begrijpt de samenhang tussen belangrijke deelgebieden van de informatica en kan de kennis daaruit combineren. | | - DC
| De student kan kennis over de architectuur van software en hardware gebruiken om concrete problemen op te lossen. | - EC
| De afgestudeerde bachelor informatica kan mogelijkheden om een informaticaprobleem op te lossen en de tools die hiervoor beschikbaar zijn, vergelijken en afwegen op hun bruikbaarheid, correctheid en efficiëntie. | | - DC
| De student kan oplossingsmogelijkheden voor een probleem vergelijken op voor- en nadelen, en een geschikte oplossingsmethode selecteren op basis van relevante criteria, zoals bruikbaarheid, correctheid en efficiëntie. | | - DC
| De student kan geschikte technologie voor de implementatie van een oplossing selecteren en gebruiken. |
|
| EC = eindcompetenties DC = deelcompetenties BC = beoordelingscriteria |
|
De student kan imperatief programmeren in zowel python als C/C++, en kan zelfstandig problemen met beperkte complexiteit oplossen in deze talen uitdrukken.
De student is bekend met het concept van multi-threading.
De student is vertrouwd met veel voorkomende algoritms zoals sorteren en datastructuren zoals zoekbomen en met grafen.
|
|
|
Dit opleidingsonderdeel leert drie nieuwe programmeerparadigma's begrijpen en toepassen: - functional programming (functioneel programmeren) - safe systems programming (veilig systeemprogrammeren) - meta-programming (programmeren op meta-niveau). In het eerste deel maken we kennis met functioneel programmeren aan de hand van Haskell. We behandelen hier onder andere: - Basisconcepten: immutability, functie, reductiestrategieën, call-by-need, lui/strikt - Geavanceerde concepten: algebraische datatypes, hogere-ordefuncties en closures, mono- en polymorfe types, type classes, currying, type inferentie - Programmeertechnieken: structurele recursie, list comprehension, pure functies en (monadische) input/output. In het tweede deel van het vak maken we kennis met veilig systeemprogrammeren aan de hand van Rust. We behandelen hier onder andere: - Positionering: Wat is systeemprogrammeren? Wat zijn systeemprogrammeertalen? Wat zijn veel gemaakte fouten in systeemprogrammeren ? Wat is memory-safety? Waarom is dit een probleem in C/C++ ? Wat zijn veelgemaakte multi-threading pitfalls ? - Rust memory model: ownership, lifetimes, references - Datastructuren in Rust; overeenkomsten en verschillen met zowel Haskell als object-georienteerd programmeren. - Error handling in Rust. - Rust's concurrency model en multi-threading safety In het laatste vakonderdeel introduceren we kort het begrip meta-programming aan de hand van verschillende programmeertalen.
|
|
|
|
|
|
|
Hoorcollege ✔
|
|
|
Responsiecollege ✔
|
|
|
Taken ✔
|
|
|
|
Periode 2 Studiepunten 6,00
Evaluatievorm | |
|
Andere evaluatievorm tijdens onderwijsperiode | 60 % |
|
Andere: | Programmeertaken rond Haskell en Rust. |
|
|
|
Behoud van deelcijfer in academiejaar | ✔ |
|
Voorwaarde behoud van deelcijfer in academiejaar | De student dient minimaal 50% gescoord te hebben. |
|
|
|
|
|
|
|
Schriftelijk examen | 40 % |
|
Behoud van deelcijfer in academiejaar | ✔ |
|
Voorwaarde behoud van deelcijfer in academiejaar | De student dient minimaal 50% gescoord te hebben. |
|
|
|
|
|
|
|
|
Tweede examenkans
Evaluatievorm tweede examenkans verschillend van eerste examenkans | |
|
|
 
|
Verplicht studiemateriaal |
|
Het studiemateriaal wordt ter beschikking gesteld via blackboard en/of wordt tijdens de les verspreid. |
|
|
|
|
|
1 Onderwijs-, examen- en rechtspositieregeling art. 12.2, lid 2. |
2 Onderwijs-, examen- en rechtspositieregeling art. 16.9, lid 2. |
3 Onderwijs-, examen- en rechtspositieregeling art. 15.1, lid 3.
|
Legende |
SBU : studiebelastingsuren | SP : studiepunten | N : Nederlands | E : Engels |
|