SluitenHelpPrint
Switch to English
Cursus: INFOB3CC
INFOB3CC
Concurrency
Cursus informatieRooster
CursuscodeINFOB3CC
Studiepunten (ECTS)7,5
Categorie / Niveau3 (Bachelor Gevorderd)
CursustypeCursorisch onderwijs
VoertaalNederlands
Aangeboden doorFaculteit Betawetenschappen; Undergraduate School Bètawetenschappen;
Contactpersoondr. G. Tel
Telefoon+31 30 2531935
E-mailG.Tel@uu.nl
Docenten
Docent
dr. J. Bikker
Overige cursussen docent
Docent
dr. G. Tel
Overige cursussen docent
Blok
2  (09-11-2015 t/m 05-02-2016)
Aanvangsblok
2
TimeslotC: MA-middag/namiddag,DI-middag, DO-ochtend
Onderwijsvorm
Voltijd
Opmerking http://www.cs.uu.nl/education/vak.php?style=2&vak=INFOB3CC
Cursusinschrijving geopendvanaf 31-08-2015 t/m 27-09-2015
AanmeldingsprocedureOsiris
Inschrijven via OSIRISJa
Inschrijven voor bijvakkersJa
VoorinschrijvingNee
Na-inschrijvingJa
Na-inschrijving geopendvanaf 26-10-2015 t/m 27-10-2015
WachtlijstJa
Plaatsingsprocedureadministratie onderwijsinstituut
Cursusdoelen
Na afloop van het vak kan de student een multithreaded applicatie ontwerpen en implementeren in C#, gebruik makend van moderne synchronisatiehulpmiddelen en met oog voor de snelheid van de applicatie.
De student kan ook theoretische concepten rond Cuncurrency toepassen in concrete situaties:
  • Threads beheren met start en join.
  • Synchroniseren met locks, wait/signal, semaforen.
  • Een beredeneerde keuze maken uit oplossingen.
  • Een algoritme uit de literatuur (bijv.\ pseudocode) implementeren.
  • Een applicatie met sockets programmeren.
  • Een thread pool gebruiken.
  • Rekenregels van binomiaalcoefficienten toepassen  (Driehoek van Pascal, C(n,k) = n! / k! (n-k)!, Absorptie, Binomium, Sommatie van Binomiaalcoefficient maal factor).
  • Kansen en verwachtingen van een experiment uitdrukken en berekenen.
  • Theorie van Coupon Collector, Bernoulli en Verjaardagsprobleem toepassen op problemen rond Concurrency.
  • Eigenschappen (terminatie, correctheid, atomiciteit, etc) van methoden benoemen.
  • Eigenschappen en complexiteit van randomiserende algoritmen benoemen.
  • De complexiteit (span en work) van parallelle algoritmen berekenen met de Master Theorem.
  • Van een object aangeven op welk niveau het in de consensus-hierarchie zit.
  • Op een beslisprobleem de stelling van Fischer, Lynch en Paterson toepassen om de berekenbaarheid te bepalen.
Inhoud
Multicore machines zijn tegenwoordig overal te vinden. Maar hoe kun je de rekenkracht van meerdere cores gebruiken om jouw rekenklus snel te klaren?
In dit vak wordt bekeken, welke ondersteuning computers en programmeertalen bieden voor multithreaded rekenen, er worden algoritmen voor thread-synchronisatie behandeld (zowel de klassieke locking mechanismen als de moderne wachtvrije methoden), en er wordt gekeken naar parallelle algoritmiek. Doel is, dat je uiteindelijk in staat zult zijn om multithreaded applicaties te ontwikkelen.
Gedistribueerde programmas zijn bij uitstek een deelgebied waarin randomisering wordt toegepast. Daarom is in dit vak ook een stuk kansberekening ondergebracht; deze theorie is natuurlijk ook in andere gebieden van de informatica toepasbaar. Het kunnen berekenen en beredeneren van de gevolgen van random gebeurtenissen is een tweede leerdoel van het vak.
Ingangseisen
Verplicht materiaal
Software
UA10302 Visual Studio 2013
Werkvormen (aanwezigheidsplicht)
Hoorcollege (Verplicht)

Werkcollege (Verplicht)

Toetsen
Eindresultaat
Weging100
Minimum cijfer6

SluitenHelpPrint
Switch to English