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 Video
Week 1 Introductie:
UNIX, C++, machines
1 1,2: computers, UNIX UNIX video
Week 2 Types 3.1/3.3,3.9: college-aantekeningen
opgaven 1/5: opgavenbundel
Eerste opgave I video
Week 3 Controlestructuren 2 3.4/3.5; opgaven 6/10 Eerste opgave II video
Week 4 Functies & files 3, 4, 12.1,2 3.6/3.7; opgaven 11/17 Functies
en Tweede opgave I
video
Week 5 Functies — vervolg 4.1; opgaven 18/25 Op papier I
en Tweede opgave II
video
Week 6 OOP & Arrays & Life 6, 7.1 3.11; opgaven 26/30 Tweede opgave III video
Week 7 Arrays 5 3.8; opgaven 31/36 Derde opgave I video
           
Week 8 Arrays — vervolg:
zoeken, sorteren, 2D
4.2; opgaven 37/43 Op papier II
en Derde opgave II
video
Week 9 Arrays — vervolg 2 opgaven 44/46, 52/55 Derde opgave II video
Week 10 Pointers 10 3.12; opgaven 57/61 Pointerpracticum video
Week 11 Recursie 13 3.10; opgaven 47/51 Vierde opgave I video
Week 12 Datastructuren:
stapels, rijen, bomen
17 5 Vierde opgave II video
Week 13 Algoritmen   7,8 Vierde opgave III video
Week 14 Java, Python, Qt, ...   Oude tentamens Oude tentamens video



De werkcolleges vinden plaats in computerzalen 302/304, 306/308, 303, 305, 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. (In verband met het eestejaars weekeinde van De Leidsche Flesch is dat voor de eerste opgave iets anders.) 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 ongeveer binnen 1 week nagekeken en bij de colleges teruggegeven. Cijfers zijn ook online beschikbaar. Voor alle 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:
   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!