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 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:
UNIX, C++, machines
1 1,2: computers, UNIX UNIX
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 Functies — vervolg 4.1; opgaven 18/25 Op papier I
en Tweede opgave II
Week 6 OOP & Arrays & Life 6, 7.1 3.11; opgaven 26/30 Tweede opgave III
Week 7 Arrays 5 3.8; opgaven 31/36 Derde opgave I
         
Week 8 Arrays — vervolg:
zoeken, sorteren, 2D
4.2; opgaven 37/43 Op papier II
en Derde opgave II
Week 9 Arrays — vervolg 2 opgaven 44/46, 52/55 Derde opgave II
Week 10 Pointers 10 3.12; opgaven 57/61 Pointerpracticum
Week 11 Recursie 13 3.10; opgaven 47/51 Vierde opgave I
Week 12 Datastructuren:
stapels, rijen, bomen
17 5 Vierde opgave II
Week 13 Algoritmen   7,8 Vierde opgave III
Week 14 Talen: Python, ...   Oude tentamens Oude tentamens



Voor de video's: zie hier.

De werkcolleges vinden plaats in computerzalen 302/304, 306/308, 303, 307 en 309 van het Snellius.
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:

Tentamen

De tentamenstof bestaat uit: 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!

Practicum

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.

De opdrachten dienen ingeleverd te worden op de dag van de deadline en wel voor 17:00 uur. Elke week te laat, betekent een punt aftrek van het cijfer voor die opdracht.

Een afgeronde opdracht dient zowel digitaal (alleen de C++-code) ingeleverd te worden als op papier in de daarvoor bestemde doos.

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 Blackboard. Voor alle vier opdrachten moet minimaal een voldoende gehaald worden; voor maximaal één opdracht is een 5 toegestaan.

Houd je te allen tijde aan de huisregels!

De werkcolleges gaan veelal over de programmeeropgaven.

Eindcijfer

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 + 2T) / 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!