Gedistribueerd Programmeren Voorjaar 2011

Nieuws

Einde aan Gedistribueerd Programmeren (14/09/2011)
Het was erg leuk om dit vak twaalfmaal te geven; reacties van studenten waren ook doorgaans positief. Door de invoering van een vernieuwd bachelor-curriculum in 2010/11, voor de hogere jaren in 2011/12, is het vak niet meer nodig, en vervangen door Concurrency.

Einduitslag (8/9/2011)
Ook het verlengde praktikum is nagekeken; zie de Resultaten. Uiteindelijk hebben 60 studenten het vak gehaald. Een flink aantal kandidaten heeft ook zijn eindcijfer flink opgewerkt door ProgrammeerOpgave 1 verbeterd in te leveren.
In de Resultatenlijst staat een kolom Deed her waar staat of je bv t1 of p2 hebt (over)gedaan. Een c daar betekent dat er na vorige publicatie een correctie op je cijfer is doorgevoerd.
Goed, dat was het dus wat Gedistribueerd Programmeren betreft... op naar Concurrency wat morgen begint!

Deeltoets 24 aug (24/08/2011)
Ik heb de deeltoets meteen maar even nagekeken; zie de resultaten. Als je cijfer nog hetzelfde is als gisteren, betekent dat, dat je lager scoorde dan op de oorspronkelijke toets. Als de resultaten van het praktikum ook bekend zijn, stuur ik de gegevens naar de administratie.

Nieuw vak: Concurrency (26/07/2011)
Het vak Gedistribueerd Programmeren verdwijnt en wordt vervangen door Concurrency. De vakpagina van Concurrency staat hier. Je mag Gedistribueerd programmeren en Concurrency niet allebei opvoeren op je vakkenlijst, omdat de vakken veel overlap hebben.

Uitslag update (18/07/2011)
Na enkele cijfer- en berekenings-correcties is het aantal geslaagden opgelopen tot 51. Heb je het vak nog niet afgemaakt of nog niet gehaald, overweeg dan serieus het in de verlenging te halen, want voor 15 a 20 personen is dit best kansrijk.

Reactie op verloop praktikum (18/07/2011)
Er is in de enquete (en daarbuiten ook!) stevige kritiek te horen geweest op het verloop van het praktikum, en die deel ik. De opgaven waren denk ik wel interessant, de begeleiding door de assistenten adequaat. Het probleem zat in het rigide nakijken: er was voorgeschreven dat er bij het falen van een eerste compilatie- of stresstest (die niet bij de studenten bekend was) een 0, 1 of 2 gegeven zou worden. (De nakijkende assistenten waren hierbij alleen uitvoerders van dit beleid, hen treft dus volstrekt geen blaam.) Hierdoor kregen een flink aantal studenten een erg laag cijfer, wat geen goede afspiegeling was van hun inzet, de kwaliteit van het programma, en hun leeropbrengst.

Wat ik dan lastig vind is, hoe je hiermee tijdens het vak omgaat. Het merendeel van de studenten had, soms na hard werken, wel programma's ingeleverd die direct door de tests kwamen. Zonder meer de regels versoepelen en hogere cijfers uitdelen is niet fair ten opzichte van andere studenten. Tijdens en na het vak hebben we tot de volgende aanpassingen besloten:

Door deze aanpassingen, en omdat de opgaven op zich helemaal niet gek waren, denk ik dat de problematiek rond het praktikum beperkt is gebleven. Men geeft over het algemeen aan, voldoende van het praktikum geleerd te hebben, en het lijkt er ook niet op, dat veel mensen door praktikumproblematiek gezakt zijn voor het vak.

Uitslag van Gedistribueerd Programmeren (13/07/2011)
Alle onderdelen van het vak zijn nu nagekeken, met als resultaat dat 48 personen zijn geslaagd; 8 studenten hebben een onvoldoende gekregen en 9 studenten hebben maar 3 van de 4 dingen ingeleverd.
Voor het deelnemen aan de verlenging maak ik even een onderscheid tussen studenten die (1) het vak niet voltooid hebben, (2) een onvoldoende hebben, of (3) een voldoende hebben. Zoals je weet geldt het uitgangspunt dat je (A) voor elk van de vier onderdelen tenminste een 4 moet hebben en (B) slechts 1 deeltoets en 1 praktikumopgave mag verlengen. Als je er niet helemaal uitkomt: overleg svp voor 27 juli met mij over wat je in de verlenging moet doen.
Geval 1: je hebt niet alles ingeleverd. In deze categorie zijn 13 personen (ook 5 die maar twee dingen ingeleverd hebben), die wel de 4-drempel hebben gehaald voor tenminste 1 toets en 1 praktikum. Zij kunnen, door de ontbrekende en/of te lage (<4) deelresultaten in de verlenging over te doen, alsnog het vak afmaken en een voldoende halen.
Geval 2: je hebt een onvoldoende (een 4 of een 5). In de verlenging kun je een of twee onderdelen inhalen en hiermee een hoger cijfer halen. Voor de mensen met een 4 staat het er niet best voor, maar voor alle kandidaten met een 5 is een voldoende goed haalbaar.
Geval 3: je wilt een voldoende verbeteren. Je mag deeltoets 1 of 2 in de verlenging doen, waarbij het hoogste cijfer blijft staan; je kunt er dus niets mee verliezen. Je mag ook je oplossing van praktikum 1 of 2 perfectioneren en opnieuw inleveren. Deze optie is met name interessant voor degenen die bij praktikum 1 een onvoldoende scoorden vanwege de acceptatietest. Overleg svp met Wishnu wat de gewenste verbetering aan je inzending is; dit voorkomt mogelijk teleurstellingen.

Toets van 4 juli is nagekeken (6/7/2011)
Je kunt hier de Toets en uitwerkingen bekijken. Je uitslag vind je onder Resultaten. Inmiddels hebben nu 57 personen meegedaan aan beide deeltoetsen en praktikum 1, waarvan er 45 voldoende staan.

Uitslag PO1 (17/06/2011)
De becijfering van de eerste praktikumopdracht is te vinden onder Resultaten. Voor een flink aantal inzendingen is het resultaat erg laag omdat de inzending niet door de acceptatietest kwam. Waarover men ontevreden was, wanneer dit het gevolg was van een redelijk kleine programmeerfout.
Voor wie echt maar een kleine fout heeft gemaakt, en daardoor niet door de acceptatietest kwam, is de submissie van PO1 nog open tot 24 juni (onder een nieuwe entry in submit). Je kunt je kleine (of grote) bug fixen, voor 24 juni inleveren (hierover heb je mail ontvangen), en daarmee je cijfer voor de eerste inlevering opschroeven tot 5 hoogstens. We moeten namelijk ook nog fair blijven tegenover degenen die wel op tijd een werkende versie hebben ingeleverd. Let op: dit is een uitgestelde oorspronkelijke inzending, die dus nog niets te maken heeft met deelname aan de verlenging. De officiële verlenging is pas na het vak, en daarin kun je een van de opgaven overdoen (ongeacht of je aan de uitgestelde inlevering meedoet).
Wat voor bug je moet fixen kun je met de assistenten overleggen; je hebt wellicht ook de testset al gekregen. Maak gebruik van de praktikumsessies om vragen te stellen en je oplossingen te bespreken met de assistenten. Ze zijn ervoor! Het is rijkelijk laat om nu nog op zoek te zijn naar een partner voor PO2, maar ook die kun je vinden op de praktikumbijeenkomsten.

Zoek je een praktikumpartner? (08/06/2011)
Sommige deelnemers zijn teleurgesteld in hun partner bij opgave 1, of hebben hun parther verloren (aan het stoppen van het vak). Als je partner gestopt is, kun je de tweede opgave alleen maken, maar samen is gezelliger en nuttiger! Probeer liefst nog een partner te vinden. Hulp nodig bij het zoeken van een partner? Mail Gerard.

Gebruik van C# voor P2 (07/06/2011)
Bij het eerste praktikum is gebleken dat enkele eerstejaars deelnemers grote moeite hadden met Java. Er zijn daarom enkele permissies verleend om de tweede opgave in C# te mogen doen. Als je denkt dat dit voor jou ook een redelijke optie is, neem dan contact op met praktikumleider Wishnu Prasetya.

Extra praktikumbegeleiding, maandag in 106 (25/05/2011)
Omdat we hebben gemerkt dat er behoefte aan is, is er een extra praktikumbegeleidingsbijeenkomst; deze is op maandag 30 mei van 11 tot 13 uur. De zaal is BBL106.
En nog even dit: Lever alleen compilerende code in!!! Sommige teams maken eerst de basic werkend, en gaan dan aan een optional verder. Maar als die optional dan niet af komt, leveren ze in wat ze dan hebben en dat compileert dan bijvoorbeeld niet. Tip: als je de basic afhebt, submit hem dan alvast! Je kunt het altijd met een latere submit overschrijven. Of bewaar in ieder geval je werkende basic zodat je die kunt submitten als je de optional niet af krijgt.

Tweede Praktikumopgave UPDATE (25/05/2011)
Voor wie al klaar is met de eerste programmeeropdracht, en graag verder wil gaan met Gedistribueerd Programmeren, is hier vast de tweede opdracht, Distributed Storage, beschikbaar als download.
Fix 25 mei: definitie van storage fairness metric is aangepast.
(Je hoeft pas op 1 juni, opdracht 1 in te leveren, en dan heb je nog vier weken voor opdracht 2.)

Uitslag Deeltoets 1 (24/05/2011)
De eerste deeltoets is nagekeken. Je kunt steeds de actuele tussenstand van zaken bekijken door te klikken op de tekst Resultaten in het menuutje links (of hier). Je cijfer van de eerste deeltoets staat onder DT1; de andere kolommen hebben op 't moment nog vrij weinig betekenis.
Hier is de toets en een voorbeeld-uitwerking. Je kunt je werk inzien op kamer BBL-504, maar het is verplicht, eerst kennis te nemen van de voorbeeld-uitwerking.

Opgaven over Parallellisering (10/05/2011)
Bij de twee colleges over parallellisering kun je deze opgaven (proberen te) maken. Succes!

Slides over Programmeeropdracht (4/5/2011)
Van de uitleg van Wishnu over de programmeeropdracht staan hier de slides; voor de opensourcers hier de PDF versie.

Weer een roosterwijziging (4/5/2011)
Vanwege het afzeggen van het bezoek van een Slowaakse delegatie wordt de voordracht over het gebruik van GPUs helaas niet gegeven. Het ontstane gat op 11 mei wordt gevuld door de twee latere colleges naar voren te schuiven. Volgende week handelen we dus het onderwerp Parallelle algoritmen helemaal af.
Als voorbereiding op het college van 9 mei kun je vast nadenken over deze vraag: hoe kun je parallel (dus met gebruikmaking van meerdere rekeneenheden) zo snel mogelijk de som van n getallen uitrekenen?

Roosterwijzigingen (27/4/2011)
Op 4 mei zal Wishnu toelichting geven bij het praktikum (op de werkcollegesessie). Om redenen van nakijklogistiek, studeerbaarheid en samenwerking heb ik tot de volgende roosterwijzigingen besloten:

  1. Op maandag 2 mei is er ook al werkcollege.
  2. De inlever-tijd van programmeeropgaven wordt 23.59.
  3. De inlever datum van PO2 is gezet op 29 juni.
  4. Ik behandel volgende week eerst dictaathoofdstukken 2 en 3, de parallelle algoritmiek uit Cormen komt dan wat later.

Programmeeropgave 1 beschikbaar (26/04/2011)
De eerste programmeeropgave, Riders, is hier beschikbaar voor download.

Afwezigheid van Docent (18/03/2011)
De docent (dr Gerard Tel) is van 1 tot 25 april afwezig voor het geven van gastcolleges in Banska Bystrica (Slowakije). Emails over Gedistribueerd programmeren zullen daarom slechts bij zeer hoge uitzondering worden beantwoord. Tijdens mijn afwezigheid wordt deze pagina niet bijgehouden; kijk daarom op 26 april nog even op deze pagina voor mogelijke last-minute wijzigingen. Let op de Frequently Asked Question hieronder.

Ik kan me niet inschrijven in Osiris... (18/03/2011)
... kan ik toch nog meedoen met Gedistribueerd Programmeren?
Helaas zijn inschrijfblokkades bij Osiris een steeds terugkomend probleem. Trek je er niet teveel van aan; probeer je eventueel in te schrijven zonder werkcollege of zonder praktikum. Als het niet lukt, kom dan gewoon zonder inschrijving naar de colleges. Iedereen mag meedoen aan Gedistribueerd Programmeren.

Diktaat op eReader (11/03/2011)
Het is helaas niet zo gemakkelijk om van LaTeX-bestanden een mooie ePub te maken. (Je kunt natuurlijk het diktaat als PDF bestand downloaden en het op je computer lezen of op je eReader zetten. Het zal ook vanaf eind maart te koop zijn bij de diktaatverkoop.)
Om de eReaders tegemoet te komen, heb ik een alternatieve PDF gedraaid met wat andere LaTeX-parameters. Dat resulteert in deze EREADER PDF en ik ben erg benieuwd of jullie deze bruikbaar vinden. Graag hoor ik ook jullie andere tips om diktaten voor ereaders toegankelijk te maken.

Symposium Security and Privacy, 7 juni (25/2/2011)
Misschien wil je je gedistribueerde applicaties ook veilig en prive houden. Op 7 juni kun je een CTIT Symposium hierover bijwonen.

Gedistribueerd Programmeren moeilijk te halen? (18/02/2011)
De vorige keer dat Gedistribueerd Programmeren is gegeven, was in het voorjaar 2009. Toen hebben 81 studenten zich ingeschreven, waarvan 22 voortijdig zijn gestopt, en 6 een onvoldoende hebben gekregen; 53 hebben Gedistribueerd Programmeren gehaald. Je ziet hieraan, dat "voortijdig stoppen" een groter risiko is dan "niet halen". Voorkom uitval door trouw de hoorcolleges te bezoeken en de gepresenteerde stof ook te verwerken door de opgaven te maken op het werkcollege. Begin tijdig met de programmeeropgaven!

Oud nieuws? (18/02/2011)
De nieuwsitems van twee jaar geleden bekijk je hier.

Lof der Lezing (21/04/2009)
Hoe haal ik het meest uit een hoorcollege? Kan de docent beter wel of niet een beamer gebruiken? Als ik een vraag stel, is die dan van type (a), (b), of (c)? Wat kan een docent met stemkastjes? Antwoorden op deze en andere vragen vind je in dit korte artikel: In praise of Lectures of het Nederlandse equivalent Lof der Lezing.

gerard@cs.uu.nl.