Inhoud
Er wordt bij dit vak geprogrammeerd in de programmeertaal C++. Tijdens het college Programmeermethoden wordt deze programmeertaal uitgebreid —maar niet geheel— behandeld. Naast het leren programmeren in een concrete programmeertaal staat de studie van algoritmen centraal; zo wordt er onder meer aandacht besteed aan sorteeralgoritmen. Principes uit de software engineering komen aan bod.
Het vak heeft voor ogen elke student de basisbeginselen en concepten van programmeren mee te geven, waaronder een "working knowledge" van C++. Een student die dit vak behaalt heeft zal dan in zijn/haar verdere studieloopbaan eigen ontwikkelde computerprogramma's in C++ of een andere taal kunnen aanwenden tijdens onderwijs of onderzoek.
De volgende onderdelen komen bij dit vak aan bod, onder voorbehoud:
|
Hoorcollege |
Boek |
Handouts |
Werkcollege |
Week 1 |
Introductie |
1 |
1,2: dictaat OS |
Hello world |
Week 2 |
Types |
— |
3.1/3.3,3.9: college-aantekeningen opgaven 1/5: opgavenbundel |
Eerste opgave I |
Week 3 |
Controle-structuren |
2 |
3.4/3.5; opgaven 6/10 |
Eerste opgave II |
Week 4 |
Functies & files |
3, 4, 12.1,2 |
3.6/3.7; opgaven 11/17 |
Functies en Tweede opgave I |
Week 5 |
geen college |
|
|
Op papier I en Tweede opgave II |
Week 6 |
Functies & Life |
— |
4.1; opgaven 18/25 |
Tweede opgave III |
Week 7 |
OOP & arrays |
6, 7.1 |
3.11; opgaven 26/30 |
Derde opgave I |
|
|
|
|
|
Week 8 |
Arrays — vervolg: zoeken, sorteren, 2D |
5 |
3.8, 4.2; opgaven 31/36 |
Op papier II en Derde opgave II |
Week 9 |
Arrays — vervolg 2 |
— |
opgaven 37/43 |
Derde opgave III |
Week 10 |
Pointers |
10 |
3.12; opgaven 44/46, 52/56 |
Pointerpracticum |
Week 11 |
Recursie |
13 |
3.10; opgaven 57/61 |
Vierde opgave I |
Week 12 |
Datastructuren: stapels, rijen, bomen |
17 |
5; opgaven 47/51 |
Vierde opgave II |
Week 13 |
Algoritmen en talen |
|
|
Vierde opgave III |
Week 14 |
Oude tentamens (*) |
|
Oude tentamens |
Oude tentamens |
Voor de video's: zie
hier.
Voor de (werk)collegetijden, zie hier.
Daar zijn ook de vragenuren vermeld.
Het vervolgcollege heet Algoritmiek; de twee vakken vormen de software- of programmeerlijn van de propedeuse Informatica. Deze lijn wordt in de bachelor van de studie Informatica voortgezet bij het college Datastructuren.
Een student wordt bij het vak Programmeermethoden op drie vlakken beoordeeld:
- Kennis van de stof, beoordeeld via een schriftelijk tentamen.
- Deelname aan het programmeerpracticum.
- Aanwezigheid bij de verschillende werkcolleges.
De tentamenstof bestaat uit:
-
W. Savitch, Absolute C++, Addison-Wesley, 2016: Hoofdstukken 1, 2, 3, 4, 5, 6, (7.1), (9), 10, (12.1), (13), (17.1).
-
Handouts. Niet: UNIX, Operating Systemen.
-
Alle opgaven, zie handouts,
met uitwerkingen.
-
Collegestof (zie ook handouts), onder andere sorteermethoden en pointerlijsten.
Kijk ook naar de
oude tentamens. Er wordt altijd wel wat gevraagd over: sorteren en zoeken, call by value/reference, (2-dimensionale) arrays, pointers.
Voor het tentamen moet minimaal een 5.5 behaald worden!
Voor het practicum moeten vier
opgaven in C++ gemaakt en ingeleverd worden; de resultaten tellen mee voor het eindcijfer.
De opdrachten worden het liefst gemaakt in twee-tallen. Een opdracht alleen maken is ook toegestaan, maar het werken in drie-tallen of grotere groepen is niet toegestaan. Kopiëren (plagiaat) is ten strengste verboden. Studenten die hierop betrapt worden krijgen een 1 voor hun opdracht. Eveneens wordt in principe melding van dit feit gedaan bij de betreffende studieadviseur en examencommissie.
De opdrachten dienen uiterlijk ingeleverd te worden op de dag van de deadline en wel voor 18:00 uur. Elke week te laat, betekent een punt aftrek van het cijfer voor die opdracht.
Een afgeronde opdracht dient
digitaal
ingeleverd te worden: C++-code via Brightspace,
en geprint verslag.
Elke opdracht wordt becijferd en meegenomen in het eindcijfer. Ze worden beoordeeld op de gevraagde werking en op de aansluiting op de programmeerrichtlijnen (zie de
handouts). Werk wordt binnen één tot twee weken nagekeken en bij de (werk)colleges teruggegeven. Cijfers zijn ook online beschikbaar, via Brightspace. Voor alle vier opdrachten moet minimaal een voldoende gehaald worden; voor maximaal één opdracht is een 5 toegestaan.
Als een opdracht moet worden aangevuld, krijgt deze nog geen cijfer;
probeer de aanvulling zo snel mogelijk te realiseren.
Houd je te allen tijde aan de
huisregels!
De werkcolleges gaan veelal over de programmeeropgaven.
Cijfers van vorige jaren voor zowel het tentamen als het programmeerwerk blijven gewoon meetellen voor dit jaar.
Het eindcijfer wordt als volgt berekend, mits het tentamen gehaald is (minstens een 5.5)
en het programmeerwerk af is (vier opgaven beoordeeld met minstens een 6 per opgave,
er mag maximaal één 5 bij zitten):
P = (
O1 +
O2 +
O3 +
O4) / 4.0
Eindcijfer = (
P + 2
T) / 3.0,
afgerond naar het dichtstbijzijnde getal uit {1,2,3,4,5, 6,6.5,7,7.5,8,8.5,9,9.5,10}
Hierbij:
Ox: Opdracht
x,
x = 1,2,3,4;
P: Programmeercijfer;
T: Tentamencijfer
Let op: als het cijfer van het schriftelijk tentamen onvoldoende is,
is dit meteen het eindcijfer! En als dit wel voldoende is, maar het programmeerwerk is niet af,
wordt er nog geen eindcijfer opgemaakt!