INFOAL7.5 ECTSQ3DutchBachelor
Algorithms
FaculteitFaculty of Science
NiveauBachelor
Studiejaar2026-2027
Beschrijving
Course goals
1. Het ontwerpen van efficiënte algoritmen voor computationele problemen middels fundamentele ontwerptechnieken.
2. Het analyseren van de looptijd en correctheid van algoritmes en datastructuren middels geavanceerde bewijs- en analysemethoden.
3. Het implementeren van bestaande en nieuw-ontworpen algoritmes op efficiente wijze.
4. Het toepassen van algoritmische ontwerp- en analysetechnieken op nieuwe problemen en contexten.
5. Het begrijpen en toepassen van concepten uit computationele complexiteitstheorie en graaftheorie.
Toetsing
- twee tentamens
- vier practica
- meerdere mini-toetsen
Ieder van de twee tentamens telt voor 40 procent van je eindcijfer. Voor ieder correct practicum (zoals beoordeeld door PrairieLearn), verdien je 0.25 punten voor je eindcijfer, dus in totaal 10 procent. De mini-toetsen tellen voor totaal 10 procent van je eindcijfer. Om voor het vak een eindcijfer te krijgen, moet je wel tenminste twee correcte practica hebben en een cijfer voor beide tentamens.
Je kunt meedoen aan de aanvullende toetsing als: (1) je voldoet aan de vereisten om een cijfer te krijgen en je onafgeronde eindcijfer is tenminste een 4 en minder dan 5.50; of (2) je niet voldoet aan de vereisten om een cijfer te krijgen, maar (2a) je voor beide tentamens een cijfer hebt, met gemiddeld tenminste een 4, en tenminste een correct practicum, of (2b) je een cijfer hebt voor precies een van beide tentamens, dat tenminste een 4 is, en je hebt tenminste twee correcte practica.
De aanvullende toets bestaat uit een van vier opties, die je zelf mag kiezen: een extra practicum doen; twee extra practica doen; het hertentamen doen; het hertentamen en een extra practicum doen.
Het hertentamen gaat over de inhoud van de hele cursus. Het cijfer voor het hertentamen vervangt het laagste of missende cijfer van de deeltentamens.
Content
De cursus omvat zowel meer theoretische aspecten van het vak (analyse van looptijd en correctheid) als meer praktische aspecten (implementatie). De hoorcolleges geven je hiervoor een stevige basis. Je bestudeert en gebruikt de geleerde technieken voor bewijzen en analyse in de werkcolleges en werkt aan hun implementatie tijdens de practica.
De onderwerpen van deze cursus zijn:
- technieken om algoritmen te ontwerpen: divide-and-conquer, dynamisch programmeren (en het optimaliteitsprincipe), en greedy algoritmen (en de greedy choice property)
- analyse van verschillende soorten algoritmen: recursieve en gerandomiseerde algoritmen
- verschillende soorten van looptijdanalyse van algoritmen: worst-case, geamortizeerde en gemiddelde looptijd
- algoritmen voor problemen op netwerken en grafen: kortste paden, opspannende bomen, koppelingen, stromingen, snedes
- de representatie in een computer van netwerken en grafen
- algoritmen voor zoeken in teksten
- dynamische zoekbomen
- computationele complexiteit en NP-volledigheid
Additional information
Reviews0 reviews
Nog geen reviews voor dit vak. Wees de eerste!
Heb jij dit vak gevolgd?
Deel je ervaring met toekomstige studenten. Inloggen met je Universiteit Utrecht mailadres duurt één minuut.
Schrijf een review