From Daan
Jump to: navigation, search
(Zalen, Vakken en Inschrijvingen)
(Zalen, Vakken en Inschrijvingen)
Line 107: Line 107:
 
| 0
 
| 0
 
| nvt
 
| nvt
| 53
+
| 60
 
|-
 
|-
 
| align="left" | Architectuur en computerorganisatie
 
| align="left" | Architectuur en computerorganisatie
Line 115: Line 115:
 
| 0
 
| 0
 
| nvt
 
| nvt
|19
+
| 19
 
|-
 
|-
 
| align="left" | Autonomous Agents 2
 
| align="left" | Autonomous Agents 2
Line 203: Line 203:
 
| 1
 
| 1
 
| 15
 
| 15
| 24
+
| 40
 
|-
 
|-
 
| align="left" | Interactie-ontwerp
 
| align="left" | Interactie-ontwerp
Line 226: Line 226:
 
| nvt
 
| nvt
 
| 0
 
| 0
| nvt
+
| nvt
 +
| 50
 
|-
 
|-
 
| align="left" | Machine Learning
 
| align="left" | Machine Learning
Line 234: Line 235:
 
| 0
 
| 0
 
| nvt
 
| nvt
 +
| 25
 
|-
 
|-
 
| align="left" | Moderne Databases
 
| align="left" | Moderne Databases
Line 241: Line 243:
 
| 1
 
| 1
 
| 20
 
| 20
 +
| 60
 
|-
 
|-
 
| align="left" | Netwerken en systeembeveiliging
 
| align="left" | Netwerken en systeembeveiliging
Line 248: Line 251:
 
| 1
 
| 1
 
| 20
 
| 20
 +
| 50
 
|-
 
|-
 
| align="left" | Programmeren in Java 2
 
| align="left" | Programmeren in Java 2
Line 255: Line 259:
 
| 1
 
| 1
 
| 20
 
| 20
 +
| 95
 
|-
 
|-
 
| align="left" | Project Genetic Algorithms
 
| align="left" | Project Genetic Algorithms
Line 262: Line 267:
 
| 1
 
| 1
 
| 15
 
| 15
 +
| 40
 
|-
 
|-
 
| align="left" | Project Numerical Recipes
 
| align="left" | Project Numerical Recipes
Line 269: Line 275:
 
| 1
 
| 1
 
| 15
 
| 15
 +
| 40
 
|-
 
|-
 
| align="left" | Reflectie op de digitale cultuur
 
| align="left" | Reflectie op de digitale cultuur
Line 275: Line 282:
 
| 20
 
| 20
 
| 0
 
| 0
| nvt
+
| nvt
 +
| 53
 
|-
 
|-
 
| align="left" | Software engineering
 
| align="left" | Software engineering
Line 283: Line 291:
 
| 1
 
| 1
 
| 40
 
| 40
 +
| 75
 
|-
 
|-
 
| align="left" | Technology for games
 
| align="left" | Technology for games
Line 290: Line 299:
 
| 0
 
| 0
 
| nvt
 
| nvt
 +
| 50
 
|-
 
|-
 
| align="left" | Webprogrammeren en databases
 
| align="left" | Webprogrammeren en databases
Line 297: Line 307:
 
| 1
 
| 1
 
| 20
 
| 20
 +
| 46
 
|-
 
|-
 
| align="left" | Zoeken, sturen en bewegen
 
| align="left" | Zoeken, sturen en bewegen
Line 304: Line 315:
 
| 1
 
| 1
 
| 15
 
| 15
 +
| 45
 
|}
 
|}
  

Revision as of 21:27, 27 October 2018

Hup, naar binnen.

Woord Vooraf

Deze case op verzoek van Justin Oud, Wouter Bohlken en Remco Mokveld (Heuristieken 2015a) tot eerste versie uitgewerkt. Overige betrokkenen in het proces zijn Marcella van Wijngaarden en Reinout Verbeek.


Protocases van dit vak hebben de eigenschap zich vaak grillig te gedragen; de uitkomsten zijn vaak onverwacht in moeilijkheidsgraad, oplossingsvorm of technologische mogelijkheden. De opgave kan daarom run-time aangepast worden om de studenten een volwaardige leercurve te bieden. Dit gebeurt altijd in samenspraak.


Inleiding

Lesroosters, of roosters in het algemeen, zijn buitengewoon lastig goed in te richten. Dienstregelingen voor treinen, vliegtuigen, multicore-processors en assembly lines hebben in dat opzicht een boel met elkaar gemeen. Zalenroostering op een universiteit is geen uitzondering. In deze case moet een weekrooster gemaakt worden voor een vakkenlijst op Science Park. Ieder vak uit de lijst moet ingeroosterd worden, en er bestaat verschil tussen goede en slechte roosters.


Goede en slechte roosters

  • Vakken bestaan uit hoorcolleges en/of werkcolleges en/of practica.
  • Alle zalen zijn voor alledrie collegetypes geschikt.
  • Bij hoorcolleges moeten alle ingeschreven studenten ineens bedeeld worden.
  • Bij werkgroepen en practica moeten de studenten, afhankelijk van de capaciteit, worden opgedeeld in zo weinig mogelijk groepen (zie kolommen "max. stud." in de vakkentabel).
  • Een college duurt van 9:00-11:00, 11:00-13:00, 13:00-15:00 of 15:00-17:00 op een werkdag. Eén zo'n periode van twee uur wordt een tijdsslot genoemd
  • Een geldig weekrooster is een weekrooster waarvoor aan alle roosterbare activiteiten van ieder vak een tijdsslot met een zaal hebben. We noemen het paar tijdsslot-zaal een zaalslot.


Evaluatie

  • Een geldig weekrooster levert 1000 punten op. Daarnaast zijn er bonus- en maluspunten te behalen.


Bonuspunten

  • Studenten leren het meest als de activiteiten zoveel mogelijk verdeeld zijn over de week. Een vak van twee tot vier activiteiten die maximaal verdeeld zijn over de week levert 20 bonuspunten op. Voor twee activiteiten is dat ma-do of di-vr, voor drie activiteiten is dat ma-wo-vr en voor vier activiteiten is dat ma,di,do,vr.


Maluspunten

  • Voor ieder vak van x activiteiten geldt dat ze 10 maluspunten opleveren als ze op x-1 dagen geroosterd zijn, 20 voor x-2 en 30 voor x-3.
  • Voor ieder zaalslot geldt dat er één maluspunt valt voor iedere ingeschreven student die er volgens de opgegeven zaalgroote niet meer in past.)
  • Voor iedere student die meer dan één activiteit in een tijdsslot heeft (een roosterconflict) geldt 1 maluspunt per conflict.


Escape

  • De grootste zaal heeft ook een avondslot van 17:00-19:00, maar gebruik van het avondslot kost 50 maluspunten.

Zalen, Vakken en Inschrijvingen

Zaalnummber Max. capaciteit
A1.04 41
A1.06 22
A1.08 20
A1.10 56
B0.201 48
C0.110 117
C1.112 60


Vakken voor periode 4 #Hoorcolleges #Werkcolleges Max. stud. #Practica Max. stud. E(studenten)
Advanced Heuristics 1 0 nvt 1 10 22
Algoritmen en complexiteit 1 1 25 1 25 47
Analysemethoden en -technieken 1 0 nvt 0 nvt 60
Architectuur en computerorganisatie 2 0 nvt 0 nvt 19
Autonomous Agents 2 2 1 10 1 10 19
Bioinformatica 3 1 20 1 20 40
Calculus 2 1 1 40 0 nvt 90
Collectieve Intelligentie 3 1 20 1 20 65
Compilerbouw 2 1 40 1 40 70
Compilerbouw (practicum) 0 0 nvt 1 15 35
Data Mining 2 1 10 1 10 30
Databases 2 1 1 40 0 nvt 69
Heuristieken 1 1 1 25 0 nvt 44
Heuristieken 2 1 1 20 0 nvt 30
Informatie- en organisatieontwerp 2 1 15 1 15 40
Interactie-ontwerp 2 0 nvt 0 nvt 31
Kansrekenen 2 2 0 nvt 0 nvt 70
Lineaire Algebra 2 0 nvt 0 nvt 50
Machine Learning 2 0 nvt 0 nvt 25
Moderne Databases 1 1 20 1 20 60
Netwerken en systeembeveiliging 0 0 nvt 1 20 50
Programmeren in Java 2 0 0 nvt 1 20 95
Project Genetic Algorithms 0 0 nvt 1 15 40
Project Numerical Recipes 0 0 nvt 1 15 40
Reflectie op de digitale cultuur 2 1 20 0 nvt 53
Software engineering 1 1 40 1 40 75
Technology for games 2 1 20 0 nvt 50
Webprogrammeren en databases 2 1 20 1 20 46
Zoeken, sturen en bewegen 0 0 nvt 1 15 45


En tenslotte een lijst van studenten en hun vakinschrijvingen in csv-formaat. Namen en data in deze lijst zijn volledig fictief. Update: de oude lijst bleek wat lastig mee te werken, daarom hier een geupdate lijst van studenten en hun vakinschrijvingen, met dank aan Bart van Baal, waarin de typo "organsatie" en de scheiding van "zoeken, sturen bewegen" zijn verwijderd.

Vragen en antwoorden

Soms moet een werkcollege in drie groepen opgedeeld worden vanwege het aantal studenten. Hoe zit dan de bonus- en malusverdeling?

Dit is een open issue waarop we geen antwoord hebben. We vinden het raar om maluspunten toe te kennen als deze deze drie groepen op dezelfde dag gepland worden. Anderzijds vinden we het ook raar als al deze groepen op deelfde dag als een hoorcollege gepland worden. Dus we weten het niet.

Mensen van de huidige editie (Fall 2016) mogen deze regel interpreteren zoals het ze uitkomt.


Als suggestie wordt gegeven dat verschillende groepen van een werkcollege geen verschillende activiteiten zijn, en de weekafstand tussen een hoor- en een werkcollege is de *kortste* weekafstand tot een groep.

Advanced

  • Misschien is een aardige 'advanced'-opdracht om de boekingsbezetting (bezette tijdsslots tegen vrije tijdsslots) per zaal te registreren.
  • Misschien is het ook aardig om de zetelbezetting (studenten tegen max. capaciteit) per zaal te registreren.


Links

Dit is misschien ook interessant:

http://www.math.cmu.edu/~af1p/Teaching/OR2/Projects/P23/ORProject_Final_Copy.pdf

http://www.metaheuristics.net/downloads/tthardness04.pdf

Terug

Terug naar de Heuristieken hoofdpagina.