Concurrency
Praktikum 2016/17
Voor Concurrency moet je drie programmeeropgaven maken in C# en inleveren met Submit. De eerste opdracht is individueel dus die moet je alleen maken. Opdrachten 2 en 3 zijn duo-opdrachten dus daarbij ga je werken in een tweetal: je leert er dan namelijk veel meer van (en, als je het al heel goed kunt, kan een andere student veel van jou leren!). De omvang van opdrachten 2 en 3 is ook te groot om die alleen te doen, je komt dan vast in tijdnood.
Je moet de opdracht wel echt samen maken: samen inleveren van werk dat door èèn gemaakt is, is fraude en is verboden!

Opgaven voor 2016/17

Opg Download Deadline Materiaal
1 IBAN Calculator
TomJudge1
Zaterdag 3/12/2016 SHA code
2 NetChange
TomJudge2
Zaterdag 24/12/2016 Client/Server
Voorbeeldnetwerk
3 Ice Cube Caveman
TomJudge3
Zaterdag 04/02/2017 Template
R Reparatie
P1, P2 OF P3
Zaterdag 22/04/2017
De eerste opgave helpt je op weg met het programmeren van threads en eenvoudige synchronisatie-hulpmiddelen (o.a. uit de Interlocked klasse).
De tweede opdracht vereist wat ingewikkelder synchronisatie en bouwt een applicatie waarin via sockets wordt gecommuniceerd. Als voorbeeld van hoe je sockets gebruikt, en hoe je die in aparte threads kunt aanmaken, krijg je een MultiClientServer.zip met wat code (NB: dit niet als framework bedoeld; je kan het wel als zodanig gebruiken, maar het misschien is handiger om je programma "from scratch" te schrijven.).
De derde opgave draait erom een zoekprogramma sneller te maken met parallellisme.
Let op: lever het liefst je hele solution in (en niet alleen maar de *.cs-bestanden) zodat we je code direct kunnen draaien.

Over het praktikum

De inleverdeadlines zijn op zaterdag, maar dan is er geen assistentie! Het is ook niet leuk om op Kerstavond nog aan je programma te zitten stressen, dus probeer dat te vermijden. Begin op tijd aan de opdrachten, zodat je op de werkcolleges om assistentie kunt vragen. Stel het inleveren niet uit tot de laatste minuut! Submit sluit namelijk 1 minuut voor middernacht. Hoogstens kun je dus het werken aan je opdracht uitstellen tot de een na laatste minuut van de deadlinedag.

Fraude en samenwerking: Je mag opdrachten 2 en 3 met een partner maken en daarmee werk je uiteraard samen. Het delen of uitwisselen van code met andere teams is verboden! Dit staat gelijk aan spieken bij een tentamen en geldt als fraude. En let op: niet alleen het overnemen is fraude, maar ook meewerken aan het overnemen. Geef je code dus nooit aan anderen! Plaats je code niet op openbare platforms zoals github!

Reparatie: Als je het vak niet hebt gehaald (maar wel twee opdrachten en een toets hebt gedaan) kun je een van de opdrachten repareren. De opdracht is dan hetzelfde als eerst. Let er in Submit op dat je de goede opdracht aanklikt.
Alleen repareren? Misschien heb je een opdracht (P2 of P3) met iemand gemaakt die deze opdracht niet kan, mag of wil repareren. In dat geval werk je alleen aan het repareren van de opdracht, en lever je het programma onder alleen je eigen studentnummer in.