Concurrency

De cursus werd voor het laatst in 2008 gegeven. Deze pagina is dus inmiddels ernstig verouderd.
Last modified: Mon Dec 26 12:08:17 CET 2012

Docent voor hoorcollege en werkcollege: W.H. Hesselink
Studentassistent: Roland Veen.
Rooster van dit vak.

Het hoorcollege gaat grotendeels aan de hand van het dictaat Concurrent Programming dat indertijd verkrijgbaar was bij de repro Nijenborgh. Het werkcollege gebruikt dit ook. Het practicum sloot nauw aan bij het werkcollege.

Beoordeling

Het eindcijfer (E) wordt bepaald door het tentamencijfer (T) in combinatie met het practicumcijfer (P), volgens de formule E = afronding van min((2*T+P)/3, T+1). Het practicum moet beslist voor 20 januari voltooid zijn. Het cijfer voor het practicum telt op dezelfde wijze mee bij de eventuele herhalingstentamens (en vervalt na het tweede herhalingstentamen). Practicumresultaten van vorige jaren zijn inmiddels vervallen.

Beschikbaar is het tentamen van 20 januari 2009 en een uitwerking daarvan.
Oude tentamens zijn niet geheel representatief, omdat concurrency in Java toen niet tot de stof behoorde. Beschikbaar is het tentamen van 7 februari 2007 en een uitwerking daarvan. Tevens beschikbaar zijn het uitgewerkte tentamen van 9 februari 2006, het uitgewerkte tentamen van 11 februari 2005, een oud proeftentamen en een uitwerking daarvan.

Stof Tentamen: Diktaat hoofdstukken 1, 2, 3, 4 (zonder de PSP rule in 4.9), 5, 6 (zonder 6.7), 7.1, 8 (zonder 8.8). Verder alle opgegeven opgaven, en de drie practicumopgaven.

Practicum

De practicumopgaven staan in het diktaat. Zij worden uitgevoerd in Java.

Om te bevorderen dat threads elkaar zullen interrumperen, moet je op kritieke plaatsen in de code het commando "yield()" tussenvoegen.

Het practicum wordt uitgevoerd in koppels van twee personen, of bij uitzondering een persoon. Assistentie en correctie door Roland Veen. Verslagen in te leveren via de Digital Drop Box op Nestor. Het verslag is in pdf-formaat en bevat het programma. Het dient de ontwerpkeuzes en het algoritme toe te lichten, en de correctheid aannemelijk te maken. Geef enige testresultaten. Een evaluatie mag niet ontbreken.
Er zijn drie opgaven:

1. Wederzijdse uitsluiting per tournooi: Exercise H3: 1 (p.17) van het diktaat. Deze opgave vermeldt een test version van Peterson's algoritme in Java.
 
Deadline: maandag 24 november.
2. Het kruispunt: Exercise H7: 1 a,b (p. 49). Overgestoken auto's kiezen een willekeurige nieuwe richting en sluiten daarbij aan om het kruispunt opnieuw te passeren. Doe onderdeel (a) op papier, niet in Java. Zie diktaat sectie 4.5 voor de compound await statement. Onderdeel (b) uiteraard wel in Java. Het verslag dient je uitwerking van de onderdelen (a) en (b) in samenhang te behandelen. Deadline: maandag 15 december.
3. Het schuivend venster: Exercise H8: 7 (p. 64). Je kunt gebruik maken van de drie UDP programma's uit sectie 8.1 van het dictaat. Deadline: maandag 19 januari 2008.

Van week tot week

Week 1 (46). Bestudeer zelf hoofdstuk 1 en 2.1 en 2.2.
11 november, hoorcollege. Diktaat Hoofdstuk 1 en Hoofdstuk 2 [1, 2]. Peterson's algoritme en formele definities.
12 november, werkcollege: Diktaat H 1: ex. 1, H 2: ex. 1, 2, 3, 4.

Week 2 (47). Bestudeer zelf hoofdstukken 2 en 3.
18 november, hoorcollege: behandeling hoofdstuk 2 [3..5] en delen van hoofdstuk 3.
19 november, werkcollege: H2: ex. 5, 6, (7), 8; H3: ex. 2.

Week 3 (48). Bestudeer zelf H4 [1..7] en H5 [1..3].
25 november, hoorcollege: H4 [1..7] en H5 [1..3].
26 november, werkcollege: H4: ex. 1, 2; H5: ex. 1, 2, 3, 4.

Week 4 (49). Bestudeer zelf H4 [8, 9] en H5 [4..8].
2 december, hoorcollege: H4 [8, 9] en H5 [4..8].
3 december, H4: ex. 3, 5, 6; H5: ex. 5, 6, 10.

Week 5 (50)
9 december, hoorcollege: Behandeling van hoofdstuk 6 "Pthreads".
10 december, werkcollege: H6: ex. 1, 2, 3, 4, 5, 8.

Week 6 (51)
16 december, hoorcollege: H 6.7, H 8 [1..6].
17 december, werkcollege: H6: ex. 9, 10, 11 en H8: ex. 1, 2.

Week 7 (2)
6 januari, hoorcollege: hoofdstuk 8: [7, 8].
7 januari, werkcollege: H8: ex. 3 en H7: ex. 2, 5, 10.

Week 8 (3). Uitloop.

Tentamen: dinsdag 20 januari 2009, 9:00-12:00 uur, Zaal 116, Nijenborgh 16.

Terug naar mijn onderwijspagina of mijn hoofdpagina.
Graag bericht als er hier fouten staan.
Wim H. Hesselink