Functioneel programmeren

Website:website met extra informatie
Vakcode:INFOFP
Studiepunten:7.5 ECTS (=5.25 oude studiepunten)
Periode:periode 3 (week 6 t/m 16, dwz 7-2-2005 t/m 22-4-2005; herkansing week 20)
Timeslot:C1+C3
Deelnemers:tot nu toe 127 inschrijvingen
Rooster:Dit is een oud rooster!
vormgroeptijdweekzaaldocent
college   ma 13-1506,7,9,10,11,15 WENT-blauw Doaitse Swierstra
Martijn Schrage
   
08 WENT-groen
14 Rup-blauw
do 09-116,9,13,14 WENT-blauw
7,11 Rup-blauw
do 11-1310 Rup-blauw
practicum groep 1 do 11-136-9,11,13-16 BBL-408 Jeroen De Knijf
 
groep 2 do 11-136-9,11,13-16 BBL-412 Rijk-Jan van Haaften
 
groep 3 do 11-136-9,11,13-16 BBL-458 Arie Middelkoop
 
groep 4 di 09-116-9,11-12,14-16 BBL-412 Rinke Colen
 
groep 5 vr 09-116-9,11,13-16 BBL-412 Thomas van Noort
 
groep 6 vr 09-116-9,11,13-16 BBL-458 Roel Wijgers
 
groep 7 ma 15-176-7,9-10 BBL-408 Gert-Jan Schouten
 
groep 8 ma 15-176-7,9-10 BBL-412 Jesper Nederlof
 
groep 9 ma 15-176-7,9-10 BBL-458 Peter Vos
 
werkcollege groep 1 ma 15-176-11,14-15 BBL-416
groep 2 ma 15-176-11,14-15 BBL-426
groep 3 ma 15-176-11,14-15 BBL-430
groep 7 ma 15-178,11 BBL-471
do 09-1110 BBL-426
do 11-136,7,9 BBL-426
groep 8 ma 15-178,11 BBL-471
do 09-1110 BBL-430
do 11-136,7,9 BBL-430
groep 9 ma 15-178,11 BBL-471
do 09-1110 BBL-426
BBL-430
do 11-136,7,9 BBL-426
BBL-430
Inhoud:In het vak imperatief programmeren hebben jullie kennis gemaakt met de taal Java. In die taal bestaat een programma uit opdrachten: doe dit, doe dat. In een functionele taal bestaat een programma uit functies zoals je die kent uit de wiskunde. Programma's schrijven in zo'n taal vergt een andere manier van denken en dat is precies waar we het in dit vak over gaan hebben. In concreto gaan we problemen oplossen met behulp van de functionele taal Haskell. Deze taal kent uitgebreide abstractiemogelijkheden waardoor programma's vaak bijzonder compact zijn. Over veel details, zoals berekeningsvolgorde en geheugenallocatie, hoef je je geen zorgen te maken. De nadruk ligt op wat en niet op hoe.

Recursie in functionele talen is de evenknie van lusconstructies (for, while) in Java. Het is de manier om programma's te schrijven die over een datastructuur wandelen of herhaalde berekeningen doen. Eigenschappen bewijzen van programma's speelt een grote rol binnen dit vak. Die eigenschappen kunnen we gebruiken om uitspraken te doen over de correctheid of om programma's te herschrijven. Als het programma recursieve functies bevat dan is tijdens bewijzen het begrip inductie nodig en ook dit komt aan bod.
Literatuur:Dictaat: Jeroen Fokker & Arjan van IJzendoorn, Functioneel programmeren
Kosten: ongeveer 10 euro.
Werkvorm:per week 2 keer 2 uur hoorcollege 1* per week werkcollege, 1 maal per week begeleid practicum
Toetsvorm:Het vak wordt beoordeeld aan de hand van drie toetsen (T1,T2,T3) en drie practica (P1,P2,P3). Het totaalcijfer voor de toetsen (T) is (max (T1, T2) + 2*T2 + 2*T3)/5 en het cijfer voor de practica (P) is (P1 + 2*P2 + 2*P3)/5. Het eindcijfer voor het vak is dan (T+P)/2 onder de voorwaarde dat P>=5 en T>=5.

Afronding gebeurt op halven boven de zes en op helen onder de zes, dus 5.5 wordt 6 en 5.4 wordt 5. Als een van de zes cijfers ontbreekt, blijft het vak 'onvoltooid'. Er kan een aanvullende practicumopdracht worden gemaakt, die je kunt inzetten voor een van P1, P2 en P3 (om een onvoldoende of een ontbrekend cijfer te vervangen). Hetzelfde geldt voor de toetsen. Aanvullend practicum en toets gaan over de hele stof, ongeacht voor welk van de drie hij als vervanging geldt.

De aanvullende toets en het aanvullend practicum vinden plaats in periode 4.

Voor CKI studenten zijn er twee toetsen (T1,T2) en 1 practicumopdracht (P1). Het eindcijfer voor de toetsen (T) is (max (T1, T2) + 2*T2)/3 en het eindcijfer voor het practicum is gelijk aan P1. Zie verder http://www.destombe.nl/prolog/toets.shtml. Practicum 2 kan gelden als herkansing voor prakticum opdracht 1.

De aanvullende toets voor CKI vindt plaats in periode 4, maar het aanvullend CKI practicum vindt al plaats in periode 3 (deadline 22 april).
Inspanningsverplichting voor aanvullende toets:Om aan de aanvullende toets te mogen meedoen is ontbreken van ten hoogte 1 toetsactiviteit toegestaan.
wijzigen?