TI Fase 2 (oud)
Hieronder vind je elk vak in Fase 2 van Toegepaste Informatica tot 2023
- Besturingssystemen 2
- 2009 juni examen
- 2010 augustus examen
- 2010 juni examen
- 2011 juni examen
- 2012 juni examen
- 2013 augustus examen
- 2013 juni examen
- 2014 augustus examen
- 2015 juni examen
- 2017 januari examen
- 2020 januari examen
- 2021 januari examen
- Business analytics major (Business)
- Business analytics minor
- Communicatie
- Databanken 1
- 2015 formularium Niels & Simon
- 2015 januari examen
- 2015 samenvatting Niels en Simon
- 2016 januari examen
- 2017 januari examen
- 2018 augustus examen
- 2020 augustus examen
- 2020 januari examen
- 2021 januari examen
- algemeen
- Databanken 2
- 2017 juni examen
- 2018 compacte samenvatting
- 2018 juni examen
- 2018 voorbeeldvragen
- 2019 juni examen
- algemeen
- 2022 juni & augustus examen
- Enterprise architecture (Business)
- Internetprogrammeren major (Software)
- Internetprogrammeren minor
- IT en management
- Object oriented system analysis
- 2009 januari examen
- 2010 januari examen
- 2012 augustus examen
- 2012 januari examen
- 2013 januari examen
- 2015 januari examen
- 2016 januari examen
- 2017 januari examen
- 2021 januari examen
- algemeen
- 2022 januari examen
- OO ontwerpen
- 2009 januari examen
- 2011 januari examen
- 2012 januari examen
- 2013 januari examen
- 2015 januari examen
- 2016 januari examen
- 2017 januari examen
- 2018 januari examen
- 2020 januari examen
- 2020 juni examen
- algemeen
- 2022 januari examen
- Operationele analyse (Netwerken)
- Programmeren van visuele gebruikersomgevingen
- Programmeren voor multimedia (Software)
- Routing and switching essentials
- Scaling networks (Netwerken)
- Statistiek
- 2018 augustus examen
- 2020 januari examen
- 2020 youtube tutorial
- algemeen
- 2021 januari examen
- 2021 augustus examen
- 2021-2022 Excel Beastmaster
- Testing
- 2016 januari examen
- 2017 januari examen
- 2018 augustus examen
- 2018 januari examen
- 2019 samenvatting
- algemeen
- Webontwikkeling 3
- 2014 januari examen
- 2017 samenvatting
- 2017 theorievragen antwoorden
- 2018 januari examen
- 2018 Oplossing Yanice Slegers
- 2020 januari examen
- 2022 januari examen
- Webontwikkeling 4
Besturingssystemen 2
2009 juni examen
Elke Steegmans:
1. a) Het algoritme van Dekker lost een probleem op, welk probleem en geef een uitleg over wat het juist is.
b) Lost deze code dit probleem op? (Steeds een andere oplossing van het algoritme) + uitleggen waarom.
2. a) Beschrijf schedulingsalgoritme Feedback (of andere groep had HRRN) en welke beslissingsmodus er gebruikt wordt.
b) Een schema met enkele processen en de tijdsindeling, oplossen met het gegeven algoritme (tekenen dus)
c) Vergelijk gegeven algoritme met een zelfgekozen algoritme, voor- en nadelen, verschillen, presteert goed bij IO-gebonden processen?
3. Verklaar:
a) Wait-and-hold
b) KLT
Pieter Geens:
4. Verklaar volgende switches:
a) Context switch
b) Mode switch
c) Process switch
Beschrijf elke switch volledig, voor welke switchen is er hardware ondersteuning nodig? Welke switch komt het vaakst voor en waarom?
5. Waar of niet waar, verklaar uitgebreid
a) Paging is slecht voor performantie.
b) In moderne besturingssystemen wordt de modify bit in STE niet gebruikt.
c) Jacketing wordt in Solaris gebruikt om LWP's te creëren.
6. Mars pathfinder of slimme zwermen.
2010 augustus examen
Steegmans:
1) Wat is het algoritme van Dijkstra? Alsook, gegeven: een stukje code. Wat voor probleem bevat deze code?
2) Leg uit: Round Robin. Wat voor schedulingsalgoritme is dit? Worden I/O-processen benadeeld hierdoor, en waarom? Alsook: teken Round Robin op een tijdslijn aan deh and van enkele gegeven processen met begintijden en verwerkingsduur.
Geens:
3) Als in linux een proces wordt opgestart met een memory leak, wat gebeurt er dan?
4) Waar of niet waar?
- Paging is slecht voor de performantie.Niet waar.
Dankzij paging kunnen meer processen tezelfdertijd uitgevoerd worden, en kunnen processen uitgevoerd worden die groter zijn dan het RAM.
- Jacketing wordt in Solaris gebruikt om LWP (Lightweight Processes) te creëren.
Jacketing heeft niets te maken met Lightweight Processes.
- De modify bit in een STE (Segment Table Entry) wordt niet gebruikt bij moderne besturingssystemen.
In moderne besturingssystemen, waarbij een combinatie van segmentering en paginering gebruikt wordt, wordt de modify bit niet gebruikt.
5) Tekst Completely Fair Scheduler: verklaar hoe de BRTree werkt.
6) Optioneel (hfstk 11): Verklaar waarom I/O met buffer maximaal 2x zo snel is als I/O zonder bufer.
2010 juni examen
Examen 1
1) Leg 2 hardware mogelijkheden uit om wederzijdse uitsluiting te garanderen
Geef per mogelijkheid 2 nadelen
(bij het mondeling worden bijvragen gesteld over bv. de softwaremanieren)
2) vraag over schedulingsalgoritme op korte termijn.
Wat is FCFS en wat voor schedulingsalgoritme is het.
FCFS bevoordeelt io gebonden processen. waar of niet. leg uit
Tabel gegeven met cijfers, maak hiervan een schema zoals in hoofdstuk 9
3) Wat is trashing?
wat is ult
4) a) leg paginering uit
b) uit wat bestaat een logisch adres en hoeveel bits?
c) breedte en lengte van paginatabel
d) wat er gebeurd als het fysieke geheugen in 2 wordt gedeeld
5) vraag over de teksten. bv. vraag over BRtree bij CFS
6) 3 true of false vragen.
a) iets over pae en 4GB RAM bij 32 bit
b) jacketing bij solaris
c) meest moduswisseling of contextwisseling
7) vraag over benchmarken (niet verplicht)
Examen 2
Elke Steegmans:
1) Algoritme van Dekker, zie vraag 1 Juni 2009
2) Schedulingsalgoritme Round Robin, verklaar bondig en pas toe op gegeven processen en tijden. (Tekenen)
3) Verklaar bondig:
a) ?
b) SMP
Pieter Geens:
4) Exact hetzelfde als vraag 1 van Juni 2009
5) Exact hetzelfde als vraag 2 van Juni 2009
6) Vraag over papers: De Pentium 4 had met zijn netburst technologie een heel erg lange pipeline, daarom moest de klok veel sneller zijn. Verklaar.
7) Vergelijk Deadline met Anticipatory.
Examen 3
Steegmans (mondeling):
1) Algoritme van Dijkstra theoretisch uitleggen en in de praktijk uitwerken
2 a) Leg uit: scheduling aan de hand van feedback
2 b) Teken dit op een tijdslijn
2 c) Kies zelf een ander algoritme en teken dit ook op de tijdslijn
Geens:
3) Verklaar (mondeling)
3 a) MacroOp-fusion
3 b) Pipeline
4) Leg uit: paginering (schriftelijk)
4 a) Hoe gebeurt adresvertaling + tekenen
4 b) Geef voordelen en nadelen van paginering
4 c) Hoe kan dit grootste nadeel worden opgelost + tekenen
4 d) Wat is het verband met virtueel geheugen
5) Waar of niet waar? Verklaar! (mondeling)
5 a) Virtueel geheugen is altijd groter dan het fysiek geheugen.
5 b) Na semwait() wordt de kritieke sectie uitgevoerd zonder onderbroken te worden.
5 c) De base en limit in de registers van een proces worden telkens opnieuw geladen na het maken van een referentie.
6) Optioneel: Leg aan de hand van een schema uit waarom I/O met buffer maximaal 2x sneller is dan I/O zonder buffer (schriftelijk)
examen 4
1) Wat is het algoritme voor het voorkomen van een deadlock? Leg uit.
2) Leg round robin uit. Tot welk soort behoord round robin? (Niet of wel Preemptief). Round Robin werkt slecht met processorgebonden taken, waar of niet waar? Leg uit. Wat verbeterd virtual Robin?
3) Tekst de zuilen van Nahzalem: Wat is Quick path interconnect? Wat is hyper Threading?
4) Waar of niet waar?
- Een 32 bit systeem kan meer dan 4GB RAM adresseren. (waar, Op het mondeling zei hij dat het mogelijk was maar ik heb zijn uitleg wel voor de balle begrepe)
- Lokaliteit heeft een grote invloed op de efficientie van een paging system (waar)
- I/O cancellation verghoogt de productiviteit van de gebruikers. (waar, Zie windows Vista filmpje wanneer die kerel een tekstbestand wilt openen dat niet bestaat)
5) Waarvoor dient de CPU cycle counter inde Windows versies vanaf windows Vista. Leg grondig uit adhv uit een tekening.
6) Ga uit van een programma dat één I/O apparaat gebruikt en vergelijk ongebufferde I/O met het maximaal gebruik van een buffer, laat zien dat het gebruik van de buffer de verwerkingstijd maximaal met een factor van twee kan verminderen.
2011 juni examen
Praktijkexamen
- Synchronisatie (zie labo's: synchronisation, thread synchronisation in Java en BACI): Semaforen en monitoren kunnen toepassen.
- Het /proc file system en system call's: Informatie opvragen a.d.h.v. een reguliere expressie.
- Clusters: Vragen i.v.m. de opdracht over clusters. Er zal niet gevraagd worden een cluster op te zetten.
- I/O-schedulers: Vragen i.v.m. de opdracht over schedulers. Er zal niet gevraagd worden te benchmarken.
Theorie
- Opgesplitst in 2 delen: Geens en Steegmans / Sanen
- Elke reeks heeft andere vragen.
- Er staan enkele artikels in de map Shared/Operating_Systems_2 die mogen gebruikt worden tijdens de examens. Druk deze dus af en neem ze mee naar het examen.
Dinsdag 14 juni
1) (mondeling) Wederzijdse uitsluiting. Gegeven: een stuk code. Zoek een tegenvoorbeeld dat bewijst dat dit stuk code geen wederzijdse uitsluiting garandeert. Bijvragen over deadlocks en hoe we deze kunnen vermijden.
2) Leg uit hoe FCFS werkt en wat voor algoritme dit is. Gegeven: een aantal processen met aankomsttijden en de uitvoeringsduur. Zijn I/O-processen bevoordeeld bij FCFS? Teken dit in een schema. Leg uit wat SRT is, en vergelijk dit met FCFS.
3) Op welke manieren kunnen we deadlocks voorkomen? Wat is een race condition?
4) Leg uit: demand paging en prepaging. Vergelijk deze met mekaar. Wat is thrashing?
5) (mondeling) Waar of niet waar? Bij een 32-bit systeem met 4K pagina's en 1024 MB RAM zijn de eerste 12 bits gebruikt voor de offset, en de laatste 20 bits voor het paginanummer.
Niet waar, dit is omgekeerd. Opgelet: de vraagstelling is hierbij onduidelijk! Hij bedoelt hierbij pagina's van 4 kilobyte grootte, niet dat er 4000 pagina's zijn.
Als we een proces in het hoofdgeheugen hebben staan dat nog niet gedispatched is en een suspended proces, welk proces zouden we dan swappen?
6) (mondeling) Leg uit (adhv de tekst "De zuilen van Nehalem": MacroOp Fusion en pipelines.
7) Iets ivm hoofdstuk 11, niet in te vullen als je het labo ivm elevator benchmarking gemaakt hebt. Vergelijk deadline scheduling met anticipatory scheduling.
Vrijdag 17 juni
Sanen (helemaal mondeling):
- Wederzijdse uitsluiting: code gegeven, zeggen waarom het niet goed is. Bijvragen over starvation en deadlock.
- Leg SRT uit + tekenen op tijdlijn voor processen met gegeven aankomst- en bedieningstijd.
- Leg uit: busy waiting & VRR.
Geens:
- (schriftelijk) Prepaging & demand paging: leg uit, efficiëntie, bij welke meer trashing, wat doet paginagrootte?
- (mondeling) waar of niet waar:
- In een 32bit systeem zijn de eerste 12bits de offset en de laatste 20 het paginanummer.
- Als we een proces uit het hoofdgeheugen willen swappen en we hebben een opgeschort proces en een proces dat nog niet gedispatched is, welke pakken we dan?
- Een niet-preëmptieve kernel is niet geschikt voor real-time toepassingen.
- (mondeling, adhv teksten) MacroOp-fusion & pipelines
- (schriftelijk) vraag over hoofdstuk 11, niet op te lossen als het labo is gemaakt.
Vrijdag 17 juni (namiddag)
Sanen (volledig mondeling)
- Algoritme van Dekker, waarvoor dient het? Dan een stukje pseudo code voor wederzijdse uitsluiting (was hierbij niet mogelijk, wel deadlock onstaan)
- Round Robin, leguit, bij welke clasificatie hoort dit (preëmtief of niet, lang, midden, kort) is dat voordelig voor I/O-processen of niet? + stukje schrijven zoals in uw boek staat.
- Deadlock, leg uit en geef 3 manieren om het te voorkomen
Geens:
- adhv teksten: QuickPath Interconnect en hyperhtreading uitleggen
- Waar of niet + uitleg: Is het mogelijk om bij 32bitsysteem meer als 4GB ram te adresseren? Lokalisering heeft een grote invloed op paging? IO cancellation support voordelig voor gebruiker?
- Vraag ivm CPU Counter Cycle (film)(schriftelijk)
- Vraag hoofdstuk 11 indien labo niet gemaakt (schriftelijk)
Zaterdag 18 juni Sanen (volledig mondeling)
Sanen:
- Een stuk code en bewijzen dat er geen wederzijdse uitsluiting gegarandeerd is
- Leg SPN uit, categorie, werking, tekenen. Gerelateerde algoritmes en verschillen.
- Leg uit: Livelock en twee manieren om een deadlock te vermijden
Geens:
- Leg de verschillen tussen een CPU en een GPU uit op de tekening (tekst)
- Waar of niet waar: Het is nuttig om 3GB RAM uit te breiden naar 4GB RAM in een virtueel paged geheugen systeem van 32 bits zonder PAE (niet waar). Lokaliteit is van belang voor een systeem met gepagineerd geheugen. Een niet-preëmptieve kernel is niet geschikt voor real-time toepassingen.
- (schriftelijk) Wat is een geinverteerde paginatabel, teken het. Is een TLB nuttig bij dat soort systemen? Wat zijn de voordelen en nadelen tegenover een normale paginatabel.
Maandag 20 juni
Sanen (mondeling overlopen + uitleggen)
- Wat is het algoritme van Dekker? Waar zorgt het voor?
- stuk code, zeggen of er wederzijdse uitsluiting is
- Leg Round Robin volledig uit: voordelen, nadelen, categorie
- RR is nadelig voor CPU-intensieve processen -> fout!
- Leg Race-conditie uit
Geens
- (schriftelijk) Memory management: leg combinatie segmenteren + pagineren grondig uit. (schema, tekst, nadelen, voordelen, oplossing grootste nadeel, enz.)
- (mondeling) Leg verschil tussen CPU en GPU adhv afbeelding (zie tekst)
- (mondeling) Waar of niet waar:
- Er kunnen niet meer processen in de 'Ready to run' status staan dan er processoren zijn
- Er komen meer modusswitchen dan contextswitchen voor
- Een proces kan niet alle signalen negeren
Vrijdag 24 juni Vraag 1 (Sanen, mondeling)
- Welk probleem lost het bankers algorithm van Dijksta op? (deadlocks vermijden adhv tabellen)
- Geef een voorbeeld
- Bespreek een andere methode die het probleem oplost
Vraag 2 (Sanen, mondeling)
- Leg HRRN (Highest Response Ratio Next) uit en welke beslissingsmodus het gebruikt
- Pas HRRN toe op een gegeven tabel met aankomst- en bedieningstijden en maak een schema van de toedeling van de processen in functie van de tijd
- Kies een andere scheduling methode, vergelijk deze met HRRN en maak van deze zelf gekozen schedulingsmethode eveneens een schema
Vraag 3 (Sanen, mondeling)
- Wat is een race condition?
- Wat is een semafoor? En wat zijn de verschillen tussen sterke, zwakke, binaire en algemene semaforen?
Vraag 4 (Geens, mondeling)
- Leg het verschil uit tussen: context switch, mode switch en process switch.
- Welke switch komt het vaakst voor?
- Is er hardware-ondersteuning nodig voor deze switches?
Vraag 5 (Geens, schriftelijk)
Waar of niet waar? Leg uit.
- Paging zorgt voor een slechtere performantie
- Jacketing wordt in Solaris gebruikt om LWP (Light Weight Processes) te creëren
- De modify bit wordt niet gebruikt in een STE (Segment Table Entry) in modern management systems
Vraag 6 (Geens, mondeling)
Leg uit wat een RBTree is (Red-Black tree) en hoe deze gebruikt wordt bij CFS (Completely Fair Scheduling)
Vraag 7 (Geens, schriftelijk)
Leg het verschil uit tussen de anticipatory scheduler van Linux en <een andere die ik ben vergeten>
2012 juni examen
Praktijk
Dit jaar was er geen apart praktijkexamen. Maak alle labo's en dien deze tijdig in!
Theorie
- Alle examens en lessen zijn door mr. Geens
- Op export vind je in de map pigee/OS_2/Homework-exam-openbook papieren die je kan afdrukken en mee mag nemen naar het examen (lees deze op voorhand!!)
Woensdag 20 Juni voormiddag
- vraag 1: Geïnverteerde paginatabel
- a) leg uit aan de hand van een schema
- b) wat is het verschil met een gewone pagina-tabel
- c) Geef de- voor en nadelen
- d) is een TLB nuttig bij een geïnverteerde paginatabel?
- vraag 2
- a) welke verschillende soorten threads zijn er (leg grondig uit)
- b) wat zijn hun voor- en nadelen
- c) Wat is hun relatie met SMP?
- d) geef een voorbeeld van een besturingssysteem dat één van deze threads gebruikt
- vraag 3: waar of niet waar
- a) is het nuttig bij 32bit-systeem om van 3GB naar 4GB uit te breiden zonder PAE? (leg uit)
- b) lokaliteit is belangrijk bij paginering
- c) een niet preëmptieve kernel is niet geschikt viir real-time toepassingen
Dinsdag 19 Juni namiddag
- Vraag 1:
- a) Leg SRT uit en bij welke familie behoort dit scheduling algoritme
- b) Waar/nietwaar Starvation kan optreden bij langere processen
- c) Teken in functie van de tijd
- Vraag 2: Waar of Niet waar
- a) Vraag met 32 bits, 4k pages en 1024 mb Ram (zie onder)
- b) Vraag van dispatched en suspended process (zie onder)
- c) Niet-preëmptieve kernel is niet geschikt voor RT toepassingen
- Vraag 3: Leg uit:
- a) MacroOp Fusion
- b) (Processor) Pipeline
Dinsdag 19 juni
- Vraag 1: Leg uit:
- Quickpath-Interconnect (komt uit tekst 'De zuilen van Nehalem'
- Hyper-Threading (tekst: "De zuilen van Nehalem")
- Vraag 2:
- a) Voor welk probleem is het algoritme van Dekker een oplosing? Leg uit!
- b) Is onderstaand algoritme een oplossing? waarom wel/niet?
Proces 0 Proces 1
... ...
vlag[0] = WAAR; vlag[1] = WAAR;
while(vlag[1]) while(vlag[0])
#doe niets #doe niets
//kritische sectie //kritische sectie
vlag[0] = NIET WAAR; vlag[1] = NIET WAAR;
- Vraag 3:
- a) geef het UNIX-state diagram
- b) leg alle states uit
- c) leg alle connecties/transities uit een wanneer ze voorkomen
- a) in welke state bevinden zich de meeste processen en waarom?
Maandag 4 juni
- Waar of niet waar:
- 32bit systeem, 4k pagegrootte, 1Gb geheugen -> eerste 12 bits offset, laatste 20 pagina?
- Eerder geswapped, niet gedispatched proces vs suspended proces: welke wordt geswapped?
- Niet-preemptieve kernels zijn niet geschikt voor realtime systemen
- Scheduling:
- Leg FCFS uit + welke categorie
- Waar of niet waar: FCFS bevoordeelt processen met veel IO
- Teken schema FCFS met gegevens processen, zelfde voor SRT + vergelijk
- Mutual exclusion:
- Leg uit: wait-and-hold
- Wat is monitor + vergelijk met semafoor
Maandag 4 juni (namiddag)
- Oefening 1
- Gegeven: een stuk pseudocode voor wederzijdse uitsluiting. Gevraagd: tegenvoorbeeld zoeken zodat er geen garantie is voor wederzijdse uitsluiting.
- Oefening 2
- Demand paging en pre paging: wat het is, efficientie, trashing, pagegrootte.
- Oefening 3
- Leg uit: MacroOP fusion en Pipelines. Die 2 termen kwamen uit de tekst van "De zuilen van Nehalem". (Echter staat die niet echt heel duidelijk in de tekst. Hij zou dit in de les ook uitgelegd hebben.
woensdag 6 juni
- vraag 1: waar of niet waar
- De virtuele adresruimte is altijd groter dan de fysieke.
- Als een semwait() wordt uitgevoerd is het gegarandeerd dat dit proces niet gestoord wordt in de kritieke sectie. (iets in die aard toch)
- (derde vergeten gelieve aan te vullen indien je deze kent)
- vraag 2
- Geef 2 voorbeelden van hardware waarmee je mutual exclusion kan doen
- Geef de nadelen van deze oplossingen
- vraag 3
- Hoe wordt RBT gebruikt in het CFS en waarom wordt het een self-balanced tree genoemd.
Zaterdag 16 juni (voormiddag)
- Vraag 1 (Leg alles uit over round robin) /4
- Leg uit: Round Robin
- Is Round Robin nadelig voor IO gebonden processen?
- Verduidelijk met een tekening
- Vraag 2: Iets met windows vista (vanuit de film) /6
- Vraag 3 Waar/niet waar
- a) Het is zinloos om meer als 4Gb RAM te hebben. /2
- b) Lokalitijd is ernorm voordelig voor preformance van de page table /2
- c) IO Cancelation interrupt is goed voor de gebruiker /2
2013 augustus examen
Het examen verloopt hetzelfde als in eerste zit.
20 augustus voormiddag
Philipaerts
Vraag 1
a) Je krijgt een kader met de volgende schedulingalgoritmes: FCFS, Round Robin, Virtual Round Robin, SPN, SRT, HRRN, Priority, Feedback.
Vul bij de volgende criteria telkens ja/nee in per algoritme. Bij kwanta is "kan" ook een optie: Preemptive, Kwanta, Aging, Starvation
LET OP: GISCORRECTIE!
b) Leg Feedback scheduling uit.
Vraag 2
Geef 6 mechanismen voor gelijktijdigheid in Windows, Linux of Unix en bespreek kort
Geens
Vraag 3
Leg de werking en het nut van een superscalaire processor uit adhv een tekening
Vraag 4
Schets een geïnventeerde paginatabel en een meervoudige paginatabel en leg de werking uit en hun voor en nadelen Bij een gewone paginatabel zorgt TLB (Translation Lookaside Buffer) voor een enorme snelheidswinst is dit ook zo bij een geïnventeerde paginatabel?
12 augustus voormiddag
Philipaerts
Vraag 1
a) Je krijgt een kader met de volgende schedulingalgoritmes: FCFS, Round Robin, Virtual Round Robin, SPN, SRT, HRRN, Priority, Feedback.
Vul bij de volgende criteria telkens ja/nee in per algoritme. Bij kwanta is "kan" ook een optie: Preemptive, Kwanta, Aging, Starvation, (en nog één die ik vergeten ben...)
LET OP: GISCORRECTIE!
b) Leg HRRN uit.
Vraag 2
a) Wat zijn semaforen? Welke soorten zijn er? Wat is het verschil tussen sterke en zwakke semaforen? Welke methodes gebruiken semaforen doorgaans? Schrijf deze uit in pseudocode.
b) Leg het verschil uit tussen message passing en semforen. Wat zijn de voor- en nadelen hiervan?
Geens
Vraag 3
Een vraag die leek op de volgende: 1MB geheugen, virtuele adresruimte heeft 32 pagina's, 2KB groot. Teken adresvertaling, leg uit hoe het virtuele adres is opgebouwd, hoe groot (breedte & lengte) is pagetable?
Vraag 4
Memory leak in Linux
2013 juni examen
Heel het examen is mondeling en je moet zowel bij Philippaerts als Geens mondeling doen. Hiervoor krijg je natuurlijk wel de nodige schriftelijke voorbereidingstijd voor. Afhankelijk van het aantal leerlingen zullen er 1 of 2 vragen schriftelijk zijn.
22 juni voormiddag
Philippaerts
Vraag 1 : Leg uit & duid aan op de grafiek (grafiek is zoals in labo, niet zoals in boek)
1) Welke familie FCFS/Round Robin, SPN/SRT/HRRN, Priority scheduling is hier het best in terug te vinden ?
Leg voor elk algoritme uit waarom het in het voorbeeld al dan niet werd gebruikt (duid aan/geef (tegen)voorbeeld)
2) Is er gewerkt met tijdskwanta ? (zo ja, duid aan waar + leg uit wat het is)
3) Werd aging gebruikt? (zo ja, duid aan waar + leg uit wat het is)
Vraag 2 : Leg de vier voorwaarden voor deadlock uit.
Geens
Vraag 1 : 1MB geheugen, virtuele adresruimte heeft 32 pagina's, 2KB groot. Teken adresvertaling,
leg uit hoe het virtuele adres is opgebouwd, hoe groot (breedte & lengte) is pagetable?
Vraag 2: Memory leaks in Linux, leg het levensverloop ervan uit. (atop slides)
21 juni namiddag
Philippaerts
Vraag 1 : Leg uit & duid aan op de grafiek
1) Welke familie FCFS/Round Robin, SPN/SRT/HRRN, Priority scheduling is hier het best in terug te vinden ?
Leg voor elk algoritme uit waarom het in het voorbeeld al dan niet werd gebruikt (duid aan/geef (tegen)voorbeeld)
2) Is er gewerkt met tijdskwanta ? (zo ja, duid aan waar + leg uit wat het is)
3) Werd aging gebruikt? (zo ja, duid aan waar + leg uit wat het is)
Vraag 2 : Leg uit
1) Feedback Scheduling
2) Spinlock
3) Livelock
Geens
Vraag 2 : Geef het schema van de combinatie van segmentering en paginering.
Geef de voordelen en de nadelen hiervan.
Geef de 2 belangerijkste nadelen en hoe los je deze op?
Wat heeft virtueel geheugen hiermee te maken?
Vraag 2:Leg uit wat de CPU cycle counter doet in Windows Vista.
Geef hier ook een schema voor.
21 juni voormiddag
Philippaerts
Vraag 1 : Leg uit & duid aan op de grafiek
1) Welke familie FCFS/Round Robin, SPN/SRT/HRRN, Priority scheduling is hier het best in terug te vinden ?
Leg voor elk algoritme uit waarom het in het voorbeeld al dan niet werd gebruikt (duid aan/geef (tegen)voorbeeld)
2) Is er gewerkt met tijdskwanta ? (zo ja, duid aan waar + leg uit wat het is)
3) Werd aging gebruikt? (zo ja, duid aan waar + leg uit wat het is)
Vraag 2 : Wat is een Joint Process Diagram? Waarvoor kan deze gebruikt worden? Geef een voorbeeld.
Geens
Vraag 1: Bespreek hoe BTRFS de problematiek rond defragmentatie aanpakt.
Vraag 2: Bespreek grondig de verschillende soorten threads (User Level - Kernel Level - Combined)
1) Geef de belangrijkste functionaliteiten
2) Voor en/of nadelen
3) Relatie met SMP (Symmetric Multiprocessing)
4) Geef een voorbeeld van een besturingssysteem dat één van deze soorten implementeert (bv. Windows --> Kernel Level Threads)
13 juni namiddag
Philippaerts
Vraag 1 : Leg uit & duid aan op de grafiek
1) Welke familie FCFS/Round Robin, SPN/SRT/HRRN, Priority scheduling is hier het best in terug te vinden ?
Leg voor elk algoritme uit waarom het in het voorbeeld al dan niet werd gebruikt (duid aan/geef (tegen)voorbeeld)
2) Is er gewerkt met tijdskwanta ? (zo ja, duid aan waar + leg uit wat het is)
3) Werd aging gebruikt? (zo ja, duid aan waar + leg uit wat het is) Bijvraag: treedt hier starvation op en leg uit.
Vraag 2 : Welke strategiën zijn er om iets te doen aan deadlock?
Wat zijn hun voor- en nadelen?
Geens
Vraag 1 : Laat zien met een schets uit hoe een proces,dat aangemaakt is in userspace, gebruikt wordt om een bestand in te lezen.(artikel)
Vraag 2 : 1) Teken het UNIX Process State Transition Diagram.
2) Geef bij elke transitie de naam en geef er uitleg bij.
3) Geef per toestand een voorbeeld van hoe een proces de transitie maakt van één status naar een andere.
4) In welke toestand(en) bevindt het proces zich het meest? Waarom?
13 juni voormiddag
Philippaerts
Vraag 1 : Leg uit & duid aan op de grafiek
1) Welke familie FCFS/Round Robin, SPN/SRT/HRRN, Priority scheduling is hier het best in terug te vinden ?
Leg voor elk algoritme uit waarom het in het voorbeeld al dan niet werd gebruikt (duid aan/geef (tegen)voorbeeld)
2) Is er gewerkt met tijdskwanta ? (zo ja, duid aan waar + leg uit wat het is)
3) Werd aging gebruikt? (zo ja, duid aan waar + leg uit wat het is) Bijvraag: treedt hier starvation op en leg uit.
Vraag 2 : Leg algortime voor detecteren van deadlock uit (Bijvraag: hoe herstellen van deadlock: 4 mogelijkheden)
Geens
Vraag 1 : Leg uit
a) memory mapped files
b) brk()
Vraag 2 : Waar of niet waar
1) Een 32 bit systeem kan meer dan 4Gb RAM hebben.
2) lokaliteit is belangrijk bij paginering
3) IO Cancelation interrupt is goed voor de gebruiker
11 juni namiddag
Philippaerts
Vraag 1 : Duidt aan op de grafiek
1) Welke familie FCFS/Round Robin, SPN/SRT/HRRN, Priority scheduling is hier het best in terug te vinden ?
Leg voor elk algoritme uit waarom het in het voorbeeld al dan niet werd gebruikt (duid aan/geef (tegen)voorbeeld)
2) Is er gewerkt met tijdskwanta ? (zo ja, duid aan waar + leg uit wat het is)
3) Werd aging gebruikt? (zo ja, duid aan waar + leg uit wat het is) Bijvraag: treedt hier starvation op en leg uit.
Vraag 2 : Leg uit semafoor en monitor. Geef de verschillen.
11 juni voormiddag
Philippaerts
Vraag 1 : Leg uit & duid aan op de grafiek
1) Welke familie FCFS/Round Robin, SPN/SRT/HRRN, Priority scheduling is hier het best in terug te vinden ?
Leg voor elk algoritme uit waarom het in het voorbeeld al dan niet werd gebruikt (duid aan/geef (tegen)voorbeeld)
2) Is er gewerkt met tijdskwanta ? (zo ja, duid aan waar + leg uit wat het is)
3) Werd aging gebruikt? (zo ja, duid aan waar + leg uit wat het is) Bijvraag: treedt hier starvation op en leg uit.
Vraag 2 : Leg uit barrière mechanisme & fair-share scheduling
Geens
Vraag 1 : Prepaging & Demand paging
1) Leg uit
2) Efficiëntie
3) Trashing + bij welk van de twee fetch policies komt dit vaker voor
4) Wat kan je vertellen over de paginagrootte?
Vraag 2 : Waar of niet waar
1) 32 bit systeem, 4K paginagrootte, 1024MB RAM, eerste 12 bits offset en laatste 20 paginanummer
2) Welke proces wordt eerder geswapped, een niet gedispatched proces of een suspended proces?
3) Een niet preëmptieve kernel is niet geschikt voor real-time toepassingen
4 juni voormiddag Geens
Vraag 1 : 32 pagina in paginatabel van 2kb, fysieke geheugenruimte = 2MB
1) Geef het typische adresvertalingschema ? (dus met paginatabel en virtueel adres naar reëel adres)
2) Bereken de lengte en de breedte van de pagintabel.
3) Als de fysieke geheugenruimte verminderd met de helft, wat gebeurt er dan met de paginatabel.
Vraag 2 : Waar of niet waar
1) Er zijn meer contextswitches dan modeswitches.
2) Jacketing is een techniek bij Solaris voor LWP creatie.
3) Het is zinloos om zonder PAE (Physical Address Extension) bij een 32 bit systeem up te graden van 3GB naar 4GB ram.
Philippaerts
Vraag 1 : Duidt aan op de grafiek
1) Welke familie FCFS/Round Robin, SPN/SRT/HRRN, Priority scheduling is hier het best in terug te vinden ?
Leg voor elk algoritme uit waarom het in het voorbeeld al dan niet werd gebruikt (duid aan/geef (tegen)voorbeeld)
2) Is er gewerkt met tijdskwanta ? (zo ja, duid aan waar + leg uit wat het is)
3) Werd aging gebruikt? (zo ja, duid aan waar + leg uit wat het is) Bijvraag: treedt hier starvation op en leg uit.
Vraag 2 : Wat is het bankiersalgoritme ? leg uit adhv een voorbeeld
4 juni namiddag Geens
Vraag 1: vraag in verband met de combinatie tussen paginering en segmentering. Voor- en nadelen hiervan. Oplossing voor 2 nadelen geven (TLB,..).
Vraag 2: Waar of niet waar
1) Er zijn meer contextswitches dan modeswitches
2) Niet alle signalen kunnen genegeerd worden door een proces
3) er kunnen niet meer 'ready to run' processen in het hoofdgeheugen zitten dan er processors zijn
Philippaerts
Vraag 1 : Duidt aan op de grafiek
1) Welke familie FCFS/Round Robin, SPN/SRT/HRRN, Priority scheduling is hier het best in terug te vinden ? (aanduiden waarom wel/ waarom niet)
2) Is er gewerkt met tijdskwanta ? duidt aan hoe je dit ziet
3) wordt er gebruik gemaakt van 'aging', duidt aan hoe je dit ziet
Vraag 2 : Wat zijn semaforen? Leg gedetailleerd de werking uit. Wat is het verschil tussen zwakke en sterke semaforen?
2014 augustus examen
18 augustus voormiddag
Philipaerts
- Je krijgt een kader met de volgende schedulingalgoritmes: FCFS, Round Robin, Virtual Round Robin, SPN, SRT, HRRN, Priority, Feedback. Vul bij de volgende criteria telkens ja/nee in per algoritme. Bij kwanta en aging is "kan" ook een optie: Preemptive, Kwanta, Aging, Starvation. LET OP: GISCORRECTIE!
- Leg Virtual Round Robin uit.
- Leg deadlock uit. Geef de 3 manieren om deadlock op te lossen.
- Wat is het bankiersalgoritme? Leg het uit en geef het algoritme. Bij welke van de 3 manieren past dit algoritme?
- Film: Wat is er gebeurd met de dispatcher lock? Wat zijn de vernieuwingen en wat zijn de voor en nadelen hier van?
Geens
- Schets een geïnventeerde paginatabel en een meervoudige paginatabel en leg de werking uit en hun voor en nadelen.
- Bij een gewone paginatabel zorgt TLB (Translation Lookaside Buffer) voor een enorme snelheidswinst is dit ook zo bij een geïnverteerde/meervoudige paginatabel?
- Leg uit wat er gebeurd bij het starten van een programma dat een memory leak bevat in Linux. Schets wat er gebeurd met het fysiek en virtueel geheugen.
13 juni namiddag
Philipaerts
- Grafiek met verschillende processen -> per familie van algoritmes (FCFS/Round Robin , FPS/PTS/HRRN, priority scheduling) zeggen of het overeen komt met deze grafiek. Uitleggen waarom aging en tijdsquantum al dan niet worden gebruikt.
- Leg deadlock uit en de voorwaarde. Hierbij kreeg je ook een extra bijvraag over de film.
Geens
- Gemengde paginering en segmentatie tabel
- Leg uit aan de hand van schema
- Geef de voordelen en de nadelen
- Geef de oplossing voor 2 nadelen (TLB en geïnverteerde paginatabel)
- Leg uit aan de hand van schema
- Leg de brk() system call uit (Gebruik hiervoor je pdf!!!)
10 juni voormiddag
Philipaerts
- Je krijgt een grafiek van verschillende processen en wanneer deze worden uitgevoerd en moeten wachten op io etc (zoals in het laatste lab). Je moet elk algoritme (rr,spn,...) overlopen en zeggen of het dat algoritme is of niet en waarom. Dus bij elk algoritme kort uitleggen wat het is en waarom dat het niet/wel is.
- Leg deadlock uit en de voorwaarde. Hierbij kreeg je ook een extra bijvraag over de film.
Geens
- Een vraag over fysieke en virtuele geheugen (PAE,..) oplossing staat hoofdstuk 8 , het deel dat we niet in het boek moesten kennen maar wel wat in de slides stond. (best toch is lezen in de boek)
- Waar/niet waar:
- Is het virtuele geheugen altijd groter dan het fysieke geheugen (waar?)
- Is modify bit nodig in ste als je pagineren met segmenteren combineert (staat hieronder ook nog ergens) (niet-waar)
- Iets van basis/limit
6 juni voormiddag
- Waar/niet waar: wordt jacketing gebruikt bij Solaris om LWP aan te maken? (Antwoord: Niet waar, jacketing heeft niets te maken met Solaris)
3 juni voormiddag
Philipaerts
- Je krijgt een kader met de volgende schedulingalgoritmes: FCFS, Round Robin, Virtual Round Robin, SPN, SRT, HRRN, Priority, Feedback. Vul bij de volgende criteria telkens ja/nee in per algoritme. Bij kwanta en aging is "kan" ook een optie: Preemptive, Kwanta, Aging, Starvation. LET OP: GISCORRECTIE!
- Leg Virtual Round Robin uit.
- Geef de 3 manieren om deadlock op te lossen.
- Wat is het bankiersalgoritme? Leg het uit en geef het algoritme. Bij welke van de 3 manieren past dit algoritme?
Geens
- Schets een geïnventeerde paginatabel en een meervoudige paginatabel en leg de werking uit en hun voor en nadelen.
- Bij een gewone paginatabel zorgt TLB (Translation Lookaside Buffer) voor een enorme snelheidswinst is dit ook zo bij een geïnventeerde/meervoudige paginatabel?
- Leg uit wat er gebeurd bij het starten van een programma dat een memory leak bevat in Linux. Schets wat er gebeurd met het fisiek en virtueel geheugen.
2015 juni examen
2 juni voormiddag (voel u vrij om aan te vullen)
Deel 1
- Leg aan de hand van een voorbeeld race condition uit.
- Aan welke condities "moet" er voldaan worden opdat een deadlock situatie zal ontstaan? Verklaar ook waarom.
- Welk van deze 4 algoritmes kan tot starvation leiden en leg uit hoe: FCFC(FIFO), Virtuel Round Robin, SRT, HRRN, feedback.
- Leg deadlocks voorkomen en vermijden individueel uit (niet het verschil met elkaar uitleggen)
- Leg het bankiersalgoritme uit adhv een voorbeeld.
Deel 2 Beweer of elke stelling juist of fout is en leg uit waarom.
- Bij COW treedt er veel fragmentatie op.
- User schedules zijn performanter dan windows 32fiber
- Maak een schets van de adresvertaling
- Iets van paginering berekenen
2017 januari examen
Deel 1
- 60 meerkeuze vragen over alle leerstof
Deel 2 3 open vragen (4 punten per vraag)
- 1) unsafe state, leg dit begrip zo volledig mogelijk uit.
- 2) Dynamic memory management, leg dit begrip zo volledig mogelijk uit.
- 3) Deadlock prevention, leg dit begrip zo volledig mogelijk uit.
2020 januari examen
Op het examen waren er 3 delen en hiervoor kregen we 2h met internettoegang.
- Theorie: (op xtoledo zelf)
- De Active Directory is een implementatie van LDAP, Kerberos en DNS: leg deze 3 begrippen uit (m.a.w. wat is het verband tussen de AD en die 3)
- PXE: leg uit, voorbeeld, componenten(servers) + schema maken
- Dockerfile: maak een dockerfile voor een minecraft server(https://www.minecraft.net/nl-nl/download/server/) -> dockerfile uploaden op xtoledo + image pushen naar hub.docker.com
FROM openjdk:8
COPY server.jar server.jar
CMD java -Xmx1024M -Xms1024M -jar server.jar nogui
COPY eula.txt eula.txt
EXPOSE 25565 25565
- Docker compose: compose file opstellen voor een ticketing system (https://hub.docker.com/r/campbellsoftwaresolutions/osticket) -> compose file uploaden op xtoledo
2021 januari examen
THEORIE: VRAAG 1
- Leg in je eigen woorden uit wat het verschil is tussen een reverse & forward proxy uit. Wat zijn de voordelen van deze systemen? Geef een concreet voorbeeld van toepassing.
VRAAG 2
- Bespreek polling t.o.v. pushing in de context van monitoring. Wat zijn de verschillen, voordelen en nadelen van de 2 technieken? Geef van elke techniek een voorbeeld van monitoring-technologie die dit gebruikt. Leg uit in eigen woorden!
VRAAG 3
- Bespreek uitgebreid de verschillen tussen containers en virtuele machines. Wat zijn de voordelen van een container ten opzichte van een virtuele machine? Leg in eigen woorden uit.
VRAAG 4
Voor een CI/CD pipeline heb je 3 onderdelen nodig:
Version control CI/CD systems Application servers
- Leg in eigen woorden uit wat de functie van deze 3 onderdelen binnen het proces. Geef voor elk onderdeel een concreet voorbeeld!
PRAKTIJK: /5 Docker-compose File
- Schrijf een Docker-Compose file waarin je Redmine ( https://hub.docker.com/_/redmine) koppelt aan een Postgesql-databank.
- Maak hiervoor gebruik van de credentials psql:kroepoek. De applicatie dient gehost te worden op poort 80 van de hostmachine. Zorg ook dat er een *kopie is van de database op de hostserver.
Dien je docker-compose_naam_voornaam.yml bestand hier in.
/5 Ansible
je moest een playbook schrijven waarbij je een map aanmaakt met bepaalde content erin (path /etc/ansible/... meegegeven)
gebruik maken van Facts Gathering
Dien je playbook_naam_voornaam.yml bestand hier in.
Groetjes Kirito :)
Business analytics major (Business)
Business analytics minor
June 2022 BA Minor Exam – Solution Guide
We’ve selected some actual student responses from the exam to give you a better idea of what is expected. Hopefully this helps you understand where you might have missed points and how you can better prepare for the next exam. This is not meant to be a perfect answer to each question, but more representative of acceptable and unacceptable answers provided by students.
Part I (10 points):
Refer to the Credit Card Fraud report. The dataset this analysis is based on is a list of credit card transactions with some details about each one and an indication whether it was fraudulent (fraud = 1) or non-fraudulent (fraud = 0). A fraudulent transaction means someone other than the credit card owner stole the credit card details and made an illegal purchase.
Question 1 (3 points): What can you say about the relationships between these variables and fraud: repeat retailer, used chip, used pin number, online order? What did you base your answer on? Is there another place in the report that confirms these findings? Explain your answer.
Good Answer:
Fraud and repeat retailer: In the boxplot there is no difference between a repeated retailer and a new one the fraud will have the same chance of appearing. The chances are very high (+-90%)
Fraud and used chips: In the boxplot there is a small difference. Not used chips (the highest bar) are more frequent a victim of fraud. This by 10%. The difference here by repeat retailer is that the information gain is a very small number (0.002) So it is more likely that this information is lest trustworthy,
Fraud and Used pin number: In the boxplot there are no occurences of fraud when used with a pin number. When used without a pin number there is a 10% chance that it is a fraud transaction. The information gain is even lower than used chips so less trustworthy.
Fraud and online order: In the boxplot the online order are 95% fraud while no online orders are +- 38% no fraud orders. These information gains are higher than the pin number and used chips but lower than repeat retailer. So middle trusted of the 4.
(Note from the lecturers: lower information gain doesn’t mean less trustworthy, but it does give us some insight into how well these variables separate the fraud from the non-fraud. Better to mention the Rank widget explicitly as the “other place in the report”.)
Insufficient Answer:
Out of these, repeat retailer looks by far the least interesting. The boxplot shows the proportion of fraud appearing totally independent of that variable, and its info gain noted in the Rank widget is so small it's written in scientific notation.
(Note from the lecturers: this isn’t a wrong answer, just incomplete.)
Question 2 (3 points): Calculate the recall of fraud = 1 for Naïve Bayes. How does this compare to the Test and Score widget shown in the report? How can you explain this? What would you do differently to evaluate the models if you were making your own analysis? Why?
Good answer:
Formula Recall = number of correctly predicted fraudulent instances / total number of fraudulent instances within the test set data
5120 / 34961 = 0.1464
According to the Test & Score widget output, the Recall for Naïve Bayes is actually 0.9144025. However, this is the Recall based on the average over all classes (as indicated by the Target Class value of the Test & Score), meaning this value represents ratio of correctly predicted instances to the total number of instances over all class values.
If we want to represent the Recall of fraudulent instances within our Test & Score widget, we should set the Target Class value of the Test & Score to fraud = 1, in order to only display the calculated evaluation metrics for that specific class value. The CA will remain the same, however, as this depicts the ratio of all correctly predicted instances over all instances within the test set.
Insufficient Answer:
5120/34961 = 0.146 -- want in confusion matrix zien we dat we er 5120 juist hadden voorspeld van de actual 34961 fraudieuze transacties.
Question 3 (1 point): Agree or disagree: for credit card fraud, it doesn’t matter how long it takes to make a prediction as long as it’s as accurate as possible. Explain your answer.
Good Answer:
Incorrect, due to the nature of the prediction (a monetary transaction) the system should be able to make a prediction that is as accurate as possible within a limited time frame. This way a client using their credit card won't have to wait long for the prediction to confirm or deny their purchase. It is however in the credit cards company's best interest to try and be as accurate as possible especially when it comes to false negatives since these could result in money loss for their clients and thus would be extremely negative for the business.
(Note from the lecturers: two important points are addressed here. One: how long are you willing to wait for the little machine to confirm everyone’s purchase when you’re queuing at the shop? Two: accuracy only tells one overall view, different kinds of errors matter. We would much rather cancel some legitimate transactions than allow one large fraudulent transaction go through undetected. So focusing on accuracy isn’t ideal here.)
Insufficient Answer:
Disagree, if you take too long to make a prediction, it might already be too late to detect fraud.
Question 4 (1 point): Agree or disagree: the fraudulent transactions are more difficult to correctly identify than the non-fraudulent transactions. Explain your answer.
Good Answer:
If we look at the 4 different techniques than we see that the number of predicted non frauds and these are actual frauds differ from 2013 to 29841. If we compare this with the predicted frauds that are no frauds the number differs from 0 to 4398.
If we compare the numbers:
- KNN dist weight6: 2013 -2776 = +- 700
- Logistic regression: 13798 - 2575 = +- 11000
- Naive Bayes: 29841 - 4398 = +- 25000
- Tree: 9189 -0 = 9182
So if we combine them then we see that the prediction that it is no fraud but the actual data is a fraud is much higher so the prediction for non fradulent is more wrong.
(Lecturer’s Note: we probably should look at these are relative rather than absolute numbers since there are so many more non-fraud instances.)
Insufficient Answer:
Agree, we have a lot of examples of normal transactions whereas there is less data to compare to when we look at fraudulent transactions.
(Lecturer’s Note: indeed, the class imbalance is part of the problem here – and a known problem in fraud detection research. But some calculations based on the data we have would strengthen the argument.)
Question 5 (1 point): Agree or disagree: the following transaction is definitely not fraud – ratio to median purchase = 5, online order, used pin number. Explain your answer.
Good Answer:
Disagree, when the ratio to median purchase = 5 and we have an online order where the pin number is used, 95.8% of the transactions are not fraudulent, but this means that there remains a 4,2% chance that the transaction is actually fraudulent. We can check this in the tree_viewer.JPG.
Insufficient Answer:
Agree.
If we take a look at the third box plot we can see on that the bottom bar is completely blue, indicating no fraud.
(Lecturer’s Note: it’s risky to try to use box plots to make predictions.)
Question 6 (1 point): Agree or disagree: if you know the ratio to median purchase price, you can already identify a lot of the fraudulent purchases. Explain your answer.
Good Answer:
disagree. if the value is lower than 4 then you could say with a 97,5% certainty that the purchase is non fraudulent. so saying the data is fraudulent here is a low chance. If the value would be higher, then we only have a 62% chance of the purchase being fraudulent. this is too low to identify anything.
Insufficient Answer:
Agree.
If we look at the rank widget information gain is highest for ratio to median purchase price.
It is also the first split made in the tree. If the distance = 4.0001, 97.5% of transactions are not fraudulent.
(Lecturer’s Note: we can identify many non-fraudulent purchases based on this variable. However the other branch in the tree is still highly mixed, about 60%, so we are not able to identify many fraudulent purchases based on this alone.)
Part II (10 points):
There are two datasets for Part II: groceries.csv and Adult (found in Orange)
Question 1 (2 points): Use the groceries.csv file to answer this question. How many rows are there? How many columns? What do the rows and columns represent (you don’t need to name each column individually, but describe generally the information they contain)? What kind of analysis can you perform with this dataset?
Good Answer:
Rows: Every one of the 14964 rows represents a transaction for a specific customer
Columns: There are 169 total columns.
- The first column represents the customer_number of the customer making the transaction
- The second column represents the date on which the transaction was made
- The following 167 all represent the amount of a specific item that was included in the transaction, here a ? indicates 0 and a number indicates an amount included in the transaction
We can do different types of analysis on this data, the most useful would be to look at possible associations to determine things like which products are frequently bought together or which products get purchased more on which days of the week.
(Lecturer’s Note: several students correctly noticed that there are only ? or 1, so it’s a binary feature (bought the item or not).
Insufficient Answer:
How many rows are there - 14962 rows
How many columns - 338
Question 2 (2 points): Continue using the groceries.csv file to answer this question. Set up your analysis. Which widgets did you use? Which settings did you select and/or change? What are some of your findings (list at least 3)? What are some limitations or drawbacks you found with the dataset?
Good Answer:
- Widgets I used:
- Select columns widget: to discard the meaningless columns. And the columns that are not cooperating at the associatioin rules or frequent itemsets.
- Association Rules widget. Settings:
- Minimal support: 0.01%
- Minimal conf.idence: 95%
- Max rules: 10.000
- Frequent Itemsets widget. Settings:
- Minimal support: 1%
- Minimal items: 2 (because 1 would be overlapping with Association Rules widget)
- The settings are set very narrowing for the sake of this exam. In a real-world example, it would be better to include more Rules and Frequent sets.
- Findings:
- Frequent Itemsets: when someone buys whole milk or rolls/buns, they will always buy 'other vegetables' as well and vice versa.
- Frequent itemsets: when a client buys whole milk, there is a really good chance they will buy rolls/buns, soda or yoghurt as well (or more of them), this also works vice versa.
- Association rules: We can say with a 100% certainty, we can say that if a customer buys prosecco and whole milk/waffles, they will buy sausage, other vegetables and waffles/whole milk as well.
- Limitations: I found there are too many items to choose from, so that there are too many possible combinations to extract really useful information.
Insufficient Answer:
I use impute to set all the ? as 0, I then discretize to 0.5 so that 0 is the same as = 0.5 and 1 is 0.5
I used frequent itemsets and association rules to see what tend to go together
When you dont buy kitchen utensils you also don't buy baby cosmetics and vice verse which means that when they are bought they are bought together.
(Lecturer’s Note: a lot of students seemed to have trouble with the ? even though this is the same format as the dataset we used for the exercises on Association Rules.)
Question 3 (2 points): Now use the Adult dataset that you’ll find included in the Orange datamining software. Check the distributions widget. What do you notice about the target class? Why is it important to know this upfront? Use some other widgets we used during Exploratory Data Analysis to identify some interesting relationships between variables and the target.
Good Answer:
Er zijn veel meer waardes waar y = <50k dan waardes waar y = >50k. Dit is belangrijk in de verdere analyse want een vergelijking tussen beiden wanneer er zoveel verschil is is veel minder correct dan wanneer er even veel van elk is. Ik gebruik RANK en Scatter plot om interessante relaties op te sporen. Zo zien we in RANK dat relatationship, marital status, education en occupation belangrijke featuers zijn, zei hebben een hoge info. gain. In het scatter plot zien we dat dat bij capital-gain en martial-status interessante informatie terug te vinden is. Dit is ook bij bijvoorbeeld education + relationship die een mooie relatie weergeeft tenopzichte van de target.
(Lecturer’s Note: we should take note of the class imbalance (many more low income instances than high income) so we can interpret things correctly. Same as the fraud classes from part I.)
Insufficient Answer:
target = y = money above or under the 50k, i noticed that a lot of people in the private sector, they earn more than 50k
Question 4 (2 points): Continue with the Adult dataset. Set up an analysis that makes sense given the data you have to work with. Which features will you include and how did you decide? Which models have you included and which settings did you try?
Good Answer:
Ik heb eerst Select columns gedaan op data dan mijn data gesampeld in 60-40 procent dan gewoon Logistical Regresion , KNN en Naive Bytes gemaakt.
Als ik laso gebruikt bij Logistical regresion is die better dan ridge.
Als ik in knn mijn neighborgs aanpas dan is die ook verbeterd.
Normaal gezien moest jij ook in uw python script via die tabel zien welke column de groste p-waarde hebt en zo uit u tabel gooien en zien als iets aan verranderd maar mijn python script werkt niet ik heb sommige errors.
(Lecturer’s Note: obviously better if your python script works, but using it to eliminate features which are not statistically significant is correct. If you’re having trouble with your python script, make sure you have the Timeseries Add-On installed and that you know how to deal with missing values. These are the most common issues.)
Insufficient Answer:
Knn, native bayes, and logistic regresion
Question 5 (2 points): Continue with the Adult dataset. How can you evaluate your models? Which settings did you use for the evaluation? Which ones seem to perform the best? What did you base your decision on?
Good Answer:
De models die ik heb gebruikt zijn KNN met weight = 10, KNN met weight = 20 tussen (deze 2 models wat niet heeveel verschil te zien), Naive Bayes, constant, logistic regression. Naive Bayes heeft bij mij de hoogste CA , Precision, Recall, AUC en kan dus als beste model beschouwt worden.
Wanneer we de target variable veranderen naar <50k dan krijgen we de beste waardes voor CA , Precision, Recall, AUC. Average geeft de tweede beste waardes en target variable et >50k geeft de minst hoge resultaten. Dit alles als we testen op de test data.
We kunnen zien dat er 2 coeficenten niet significant zijn als we het script uitvoeren.
(Lecturer’s Note: good to check how they perform on different target classes and look at several models and multiple evaluation metrics.)
Insufficient Answer:
The Test & Score widget determines the accuracy of the model, which is the quality of our model. I determined that the widget kNN is better since it has a higher accuracy as shown by the Test & Score widget.
(Lecturer’s Note: accuracy is just not informative enough, especially when we’re dealing with a class imbalance.)
File Submission: Create an html report from your Orange workflow.
- Click the Report icon at the bottom of each widget that you want to include in the report
- You can click the Report icon more than once if you make changes within the widget and want to show it multiple times
- Save your Orange workflow as an ows
- Compress both of these files into a zip file and upload that zip file here.
Important Note: without these files, you may not receive full credit on your answers to the previous questions.
Communicatie
algemeen
Voor dit vak moet je een aantal opdrachten maken:
- LinkedIn-profiel aanmaken
- Webpagina met portfolio en cv
- Observatiestage
- Rapport en presentatie over observatiestage
- Mensen opleiden en begeleiden
- SWOT-analyse over jezelf
- Intake-gesprek jobbeurs
Er is geen examen.
Databanken 1
2015 formularium Niels & Simon
Met dank aan Niels Vermeiren & Simon Cek: Formularium 2015 DB1 Niels Vermeiren & Simon Cek.pdf
2015 januari examen
20/01
THEORIE 1) bespreek 1 op 1 of 0 relaties, hoe je de referentiële integriteit kan bewaren, geef een voorbeeld met een tabel en schrijf in SQL code
2) geef 4 duidelijk verschillende manieren van gegevensbeveiliging en hun SQL code
3) welke van de 2 is de meest performante code (2 codes gegeven met hun explain eronder)
4) netwerkdatabank vraag over RETENTION
5) vergeten
OEFENINGEN databank over een bank gegeven
1) gegeven querie = select * from 8 verschillende kolommen. Wat wordt er geselecteerd?
2) Verander alle rekeningen met naam Berchtem naar Bertels en zorg dan dat met 1 instructie (niet dezelfde) alles terug ongedaan kan worden
3) geef alle info over rekeningen die afgelopen 2 dagen zijn aangepast (laatste is laatste 2dagen bewerkingen niet vanaf vandaag hier bestaat een tabel over (maar niet gegeven) WTF)
4) geef alle vrouwelijke eigenaars van een rekening die begint met een cijfer, een % teken bevat in het midden en eindigt op CH of CF weer
5) vergeten
12/01
THEORIE
1) Gegeven tabel met per rij (land, goals, hematocrietgemiddelde) :
a) Wat is de uitvoer van SELECT COUNT(*), MAX(k.hematocrietgemiddelde) FROM wk w cross join wk k GROUP BY w.goals
b) Bedenk een zinvolle output en geef hiervoor alternatieve query
2) (mondeling) Leg uit: transacties: voordelen/nadelen, hoe werkt het, voorbeeld..
3) Gegeven was code en model van een db (Hiërarchische?), hiervan moest je geven welk soort GBS dit was en van de code moest je de uitvoer geven.
4) ORDBMS: geef de 4 verschillende soorten indexen, indien deze niet bestaan, wat gebruikt men i.p.v. deze indexen
OEFENINGEN
Databank met geiten/wedstrijden/jaarproductie/behandelingen..
1) Gegeven query, klopt dit? Zoja, optimaliseer, zonee, wat klopt er niet?
2) Geef alle geiten welke een behandeling hebben gehad in de afgelopen week en waar hun ras begint met 'melk'
3) Geef de geit(en) dewelke aan alle wedstrijden hebben meegedaan
4) Schrijf procedure om alle geiten die minder dan 10 L (kg) opbrengst per jaar hebben te verwijderen
5) Geef de hele boom van geiten beginnende vanaf geit met nr 1. (Recursieve functie in de stijl van vader uit cursus)
2015 samenvatting Niels en Simon
Met dank aan Niels Vermeiren & Simon Cek: Samenvatting 2015 DB1 Niels Vermeiren & Simon Cek.pdf
2016 januari examen
De Mazière
THEORIE
1) twee tabelen + query geef output en kan het beter
2) Mondeling: Wat is een transactie en wat is het nu, wat zijn de gevaren en oplossingingen hiertegen + wat is commit + rollback.
3) Hoe kan je een RDB toch forceren om over te erven + welke van de 4 DML ... kan je gebruiken om in 1 commando aan datamanipulatie te doen.
OEFENINGEN
Bertels
1. [10 min]--------------------------------------------------------------------------------
Geef een alternatieve equivalente query zonder het gebruik van CUBE
SELECT row_number() over () as volgnr
geslacht, plaats, count(*)
FROM spelers
GROUP BY geslacht, plaats WITH CUBE
ORDER BY geslacht, plaats
Aandachtspunt: let op met row_number(), denk verder.
Equivalente queries halen dezelfde gegevens op een een gegevensbank.
2. [15 min]--------------------------------------------------------------------------------
Hoe garandeer je integriteit van een 1-op-1- of -0-relatie tussen twee tabellen? Illustreer met een concreet voorbeeld in schemavorm en geef de bijhorende sql-code. De twee tabellen moeten ook voldoen aan de basisregels bij het ontwerpen van een tabel. Leg nu uit waarom jouw code de 1-op-1- of -0-relatie afdwingt.
3. [20 min]--------------------------------------------------------------------------------
We beschouwen de volgende context:
De kinderen liggen op grote slaapzalen. Elke zaal heeft een nummer, een capaciteit en een bezetting (aantal bedden). Bij elke zaal horen een aantal verzorgsters. Elke patiënt moet een aantal geneesmiddelen innemen per dag
ZAAL
/ \
/ \
VERZORGSTER PATIËNT
|
GENEESMIDDEL
zaal : zaalnr [PK], cap, bez
verzorgster : persnr [PK], vnaam, vadres
patiënt : pnr [PK], pnaam, padres
geneesmiddel : gnaam [PK], hoev
Verkorte notatie:
GU ZAAL
PATIENT
GENEESMIDDEL (GNAAM = VALIUM)
GU ZAAL (ZAALNR = key1zaalkey)
PERFORM UNTIL STATUS1NOTOK
GNP VERZORGSTER
PERFORM UNTIL STATUS2NOTOK
DISPLAY VERZORGSTER
GNP VERZORGSTER
END-PERFORM
GN ZAAL (ZAALNR <> key1zaalkey)
PATIENT
GENEESMIDDEL (GNAAM = VALIUM)
IF DBSTATUS1OK
GN ZAAL (ZAALNR = key1zaalkey)
END-IF
END-PERFORM
Wat betekenen GN en GNP? Wat is het verschil tussen beide instructies?
Waarvoor staat PCB en wat is de tegenhanger in een RDBMS?
Wat doet dit programma?
4. [10 min]--------------------------------------------------------------------------------
Leg volledig uit: ACID
Stelling: "Dit is een zwakte bij de meeste RDBMS'en, NoSQL-databanken zijn hier beter in."
Verdedig kort of verwerp deze stelling.
OEFENINGEN RDBMS. [60 min]-----------------------------------------------------------------
Enkel SQL (ISO), geen dialecten.
U gebruikt hiervoor de databank Serverroom. Schrijf de query's net uit op papier.
5.
Geef een lijst met servers (serial, jaar, os) waarvoor er geen interventies gebeurd zijn.
6.
Geef de naam van het personeelslid dat het hoogste aantal interventie-eenheden heeft gepresteerd aan gameservers. Gebruik hiervoor geen LIMIT of TOP.
7.
Geef de naam van het OS waarvoor gemiddeld gezien de meeste interventie-eenheden zijn gepresteerd. Gemiddeld gezien wil zeggen: het totaal aantal interventies bekijken in verhouding tot het totaal aantal servers van dit OS. Gebruik geen LIMIT of TOP.
8.
De klant met het minst aantal interventies in december 2010 krijgt een vast kortingspercentage van 15%. Maak gebruik van een transactie.
9.
Geef voor elke klant een cumulatief overzicht van zijn betaalde facturen gesorteerd op datum (met oplopend rijnummer volgens het klantennummer en de datum van de factuur). Elk woord telt. Een voorbeelduitvoer ter aanvulling:
| Rijnr. | ID klant | Naam | Factuurnr. | Cumulatief bedrag |
|-----------------------------------------------------------|
| 1 | 1 | JD | 23 | 100 |
| 2 | 1 | JD | 24 | 150 |
...
| 56 | 7 | MN | 21 | 23 |
...
Hierbij heeft klant 1 een eerste factuur van 100 euro en een tweede van 50 euro betaald. Eerste en tweede duiden hier op de datum van de factuur voor die klant. Rij 56 is de eerste boete van klant 7.
-------------------------------------------------------------------------------------------
Een appel per dag houdt de dokters weg, vooral als je goed mikt.
- W.C.
-------------------------------------------------------------------------------------------
# SERVERROOM
## Korte beschrijving:
Een serverroom heeft verschillende servers voor verschillende klanten. Een server heeft maar één besturingssysteem en is niet gevirtualiseerd. Sommige servers zijn gameservers en hebben een hogere prioriteit wat betreft nodige interventies.
Voor iedere interventie wordt het aantal gewerkte tijdseenheden genoteerd. Maandelijks wordt er een factuur gemaakt per klant die interventies gehad heeft. Een standaardbedrag wordt dan vermenigvuldigd met het aantal te factureren eenheden. Als een klant een korting geniet, wordt dit percentage in mindering gebracht op de factuur.
Alle mogelijke applicaties staan beschreven. Het gaat hier om binaire, wat wil zeggen dat als een applicatie bestaat voor verschillende besturingssystemen, het ook meerdere keren voorkomt in de applicatietabel.
Installaties van applicaties op bepaalde servers worden ook geregistreerd om zo een algemeen beeld te hebben van de staat van een server.
## Tabel- en veldbeschrijving
Server
serial int not null uniek serienummer voor de server [PK]
jaar int not null jaar van ingebruikname
os char(50) not null naam van het besturingssysteem
klantid int huidige klant waarvoor deze server draait
isgameserver boolean not null gameservers hebben een hogere prioriteit
Klant
id int not null uniek ID voor een klant [PK]
naam int not null naam van de klant
tarief double not null tarief per eenheid voor deze klant
korting double kortingspercentage voor speciale klanten
Interventie
serial int not null [PK]
personeelslid int not null
datum datetime not null
opmerkingen char(255) not null
eenheden int not null
factuurnr int not null
Factuur
factuurnr int not null
klantid int not null
datum date not null
bedrag double not null
isbetaald boolean not null
Applicatie
id int not null uniek ID voor een applicatie
naam char(50) not null verschillende versies van een app hebben dezelfde naam (ook voor verschillende OS)
versie char(10)
os char(50) not null
Installatie
applicatieid int not null [PK]
serial int not null [PK]
datum datetime not null
personeelslid int not null personeelslid dat de installatie verrichte
Personeelslid
id int not null [PK]
naam char(60) not null naam van het personeelslid
## ERD
------------------- ----------------
| server | | klant | --------------------
|-------------------| |----------------| | factuur |
| serial INT [PK] | | id INT [PK] | | -------------------|
| jaar INT | >|--------------------|| | naam INT | | factuurnr INT [PK] |
| os CHAR(50) | | tarief DOUBLE | ||----|< | klantnr INT |
| klantid INT | ||-- | korting DOUBLE | | datum DATE |
| isgameserver BOOL | | ---------------- | bedrag DOUBLE |
------------------- | | isbetaald BOOL |
= | ----------------------- --------------------
| | | interventie | =
| | |-----------------------| |
| | | serial INT [PK] | |
| | | personeelslid INT | >|--------------------------
| --|< | datum DATETIME |
| | opmerkingen CHAR(255) | ----------------
| | eenheden INT | >|-- | personeelslid |
_ | factuurnr INT | | |----------------|
^ ---------------------- --|| | id INT [PK] |
----------------------- | naam CHAR(60) | -----------------
| installatie | ---------------- | applicatie |
|-----------------------| = |-----------------|
| applicatieid INT [PK] | | | id INT [PK] |
| serial INT | >|------------------------------------------------ | naam CHAR(50) |
| datum DATETIME | | versie CHAR(10) |
| personeelslid INT | >|----------------------------------------------------------|| | os CHAR(50) |
----------------------- -----------------
13 Januari 2016
De Mazière
THEORIE
1) Mondeling: geef het verschil tussen gecorreleerde en niet-gecorreleerde subqueries. Illustreer dit aan de hand van een voorbeeld. Geef ook de voor- en nadelen van beide queries (performantie-gewijs ...)
a) Bijvraag: Wat zijn de 4 soorten subqueries?
b) Hoe kan je de performantie van een subquery testen?
2) Wat zijn de verschillen tussen hierarchisch en netwerk model?
3) Hoe worden relaties gemaakt in een NoSQL database? wat is het verschil met een rdbms hierin? geef ook een voorbeeld. Wat heeft dit voor gevolgen?
OEFENINGEN
1) Je kreeg een query:
SELECT t1.nummer, t1.kolom1, (SELECT count(*) from tabel2 WHERE tabel2.nummer = t1.nummer)
FROM tabel1 as t1, tabel2 as t2
WHERE t1.nummer < 3
nummer | kolom1 |
---|---|
1 | 1 |
2 | 2 |
3 | 3 |
4 | 4 |
5 | 5 |
6 | 6 |
nummer | kolom1 |
---|---|
1 | 10 |
2 | 20 |
3 | 30 |
4 | 40 |
a) Geef de output:
b) Kan de query optimaler? Zoja, maak ze.
2) Gegeven een blad met een aantal tabellen over bakkers en broden.
a) Toon alle bakkers met maximaal 4 generaties in de familie die bakker zijn. (Kan je doen met with_recursive of alle tabellen joinen met allemaal left outer joins of 4 aparte queries voor 4-3-2-1 generaties en deze met union samensmelten)
b) Toon alle bakkers van "Janssens Jan" langs vaders kant. Output moet [regnr persoon] - [rregnr vader] zijn. (Dit moest met with_recursive gedaan worden).
c) Toon voor de bakker die het meest aantal broden gebakken heeft in januari 2015, de klantnaam met de kleinste bestelling (op basis van de prijs) aan wie de bakker ooit heeft geleverd.
d) Geef een stored procedure die prijs van de broden aanpaste.
e) Sorteer de bakkers aflopend op basis van het aantal klanten in 2016. Vermeld per bakker het aantal broden gebakken voor dat jaar en de gemiddelde prijs per bestelling.
2017 januari examen
9 Januari
(Van wat ik mij herinner)
Volledig schriftelijk, 2u tijd (1.5u gerekend)
1) In welke SELECT componenten kun je gebruik maken van gecorreleerde subqueries? (10min)
2) Code voor het creëren van een tabel met een aantal attributen gegeven. Wat is hier goed/slecht aan (inhoudelijk, fysisch en sql) (10min)
3) Code voor een hiërarchische DB programma gegeven. Wat voor DB is dit? Wat geeft dit als output? (10min) (zelfde programma als vorig jaar)
GU ZAAL
PATIENT
GENEESMIDDEL (GNAAM = VALIUM)
GU ZAAL (ZAALNR = key1zaalkey)
PERFORM UNTIL STATUS1NOTOK
GNP VERZORGSTER
PERFORM UNTIL STATUS2NOTOK
DISPLAY VERZORGSTER
GNP VERZORGSTER
END-PERFORM
GN ZAAL (ZAALNR <> key1zaalkey)
PATIENT
GENEESMIDDEL (GNAAM = VALIUM)
IF DBSTATUS1OK
GN ZAAL (ZAALNR = key1zaalkey)
END-IF
END-PERFORM
4) 3 verschillende queries gegeven die hetzelfde doen (een user teruggeven op basis van één van zijn eignschappen), adhv 6 j/f vragen bepalen welke de snelste is. (kwam ongeveer op het volgende neer denk ik: ) (10min)
> a) select *
from users
where id="123546"
1) Deze query is de snelste omdat id een uniek attribuut is.
2) Deze query is niet de snelste omdat het id zeer hoog is,
dus hij waarschijnlijk vrij ver in de de lijst van id's gaat moeten zoeken om deze user te vinden.
> b) select *
from users
where hash="ea02e3a20e3ae23265"
1) Deze query is de snelste omdat het een hash is.
2) Deze query is niet de snelste omdat een hash niet per se uniek is (en hier ook niet).
> c) select *
from users
where joindate="05-12-06" (met de eerste user gejoind op "05-12-06")
1) Deze query is de snelste omdat deze eerst in de lijst staat (eerste user dan gejoined).
2) Deze query is niet de snelste omdat timestamp een complex attribuut is.
5) Query met rollup gegeven. Bespreek hoe de uitvoer hiervan eruit gaat zien. (10min)
6) Vergeten (10min)
7) 4 queries maken (met subqueries, aggregatiefuncties en joins) (40min)
2018 augustus examen
THEORIE 10/20
1) Geef alternatief equivalent query zonder gebruik van CUBE
SELECT row_number() over () as volgnr, geslacht, plaats, count(*) FROM spelers GROUP BY geslacht, plaats WITH CUBE ORDER BY geslacht, plaats
Aandacht: let op met row_number(), denk verder
2) Waarvoor gebruikt men FILTER, maak duidelijk aan de hand van een kleine SQL
3) Hoe garandeer je integriteit van een 1-1 of 1-0 relatie tussen 2 tabellen? Illustreer en onderlijn het noodzakelijke volgens jou.
4) Wat zijn de verschillen tussen een hiërarisisch model en relationeel model
5) Geef de uitvoer van volgende query
SELECT t1.nummer, t1.kolom1, (SELECT count(*) from tabel2 WHERE tabel2.nummer = t1.nummer)
FROM tabel1 as t1, tabel2 as t2
WHERE t1.nummer < 3
nummer | kolom1 |
---|---|
1 | 1 |
2 | 2 |
3 | 3 |
4 | 4 |
5 | 5 |
6 | 6 |
nummer | kolom1 |
---|---|
1 | 10 |
2 | 20 |
3 | 30 |
4 | 40 |
SQL 10/20
6) Geef een lijst met servers (serial, jaar, os) waarvoor er geen interventies gebeurd zijn.
7) Geef de naam van het personeelslid dat het hoogste aantal interventie-eenheden heeft gepresteerd aan gameservers. Gebruik hiervoor geen LIMIT of TOP.
8) Geef de naam van het OS waarvoor gemiddeld gezien de meeste interventie-eenheden zijn gepresteerd. Gemiddeld gezien wil zeggen: het totaal aantal interventies bekijken in verhouding tot het totaal aantal servers van dit OS. Gebruik geen LIMIT of TOP.
9) De klant met het minst aantal interventies in december 2010 krijgt een vast kortingspercentage van 15%. Maak gebruik van een transactie.
- SERVERROOM
-
- Korte beschrijving:
Een serverroom heeft verschillende servers voor verschillende klanten. Een server heeft maar één besturingssysteem en is niet gevirtualiseerd. Sommige servers zijn gameservers en hebben een hogere prioriteit wat betreft nodige interventies.
Voor iedere interventie wordt het aantal gewerkte tijdseenheden genoteerd. Maandelijks wordt er een factuur gemaakt per klant die interventies gehad heeft. Een standaardbedrag wordt dan vermenigvuldigd met het aantal te factureren eenheden. Als een klant een korting geniet, wordt dit percentage in mindering gebracht op de factuur.
Alle mogelijke applicaties staan beschreven. Het gaat hier om binaire, wat wil zeggen dat als een applicatie bestaat voor verschillende besturingssystemen, het ook meerdere keren voorkomt in de applicatietabel.
Installaties van applicaties op bepaalde servers worden ook geregistreerd om zo een algemeen beeld te hebben van de staat van een server.
-
- Tabel- en veldbeschrijving
Server
serial int not null uniek serienummer voor de server [PK]
jaar int not null jaar van ingebruikname
os char(50) not null naam van het besturingssysteem
klantid int huidige klant waarvoor deze server draait
isgameserver boolean not null gameservers hebben een hogere prioriteit
Klant
id int not null uniek ID voor een klant [PK]
naam int not null naam van de klant
tarief double not null tarief per eenheid voor deze klant
korting double kortingspercentage voor speciale klanten
Interventie
serial int not null [PK]
personeelslid int not null
datum datetime not null
opmerkingen char(255) not null
eenheden int not null
factuurnr int not null
Factuur
factuurnr int not null
klantid int not null
datum date not null
bedrag double not null
isbetaald boolean not null
Applicatie
id int not null uniek ID voor een applicatie
naam char(50) not null verschillende versies van een app hebben dezelfde naam (ook voor verschillende OS)
versie char(10)
os char(50) not null
Installatie
applicatieid int not null [PK]
serial int not null [PK]
datum datetime not null
personeelslid int not null personeelslid dat de installatie verrichte
Personeelslid
id int not null [PK]
naam char(60) not null naam van het personeelslid
-
- ERD
------------------- ----------------
| server | | klant | --------------------
|-------------------| |----------------| | factuur |
| serial INT [PK] | | id INT [PK] | | -------------------|
| jaar INT | >|--------------------|| | naam INT | | factuurnr INT [PK] |
| os CHAR(50) | | tarief DOUBLE | ||----|< | klantnr INT |
| klantid INT | ||-- | korting DOUBLE | | datum DATE |
| isgameserver BOOL | | ---------------- | bedrag DOUBLE |
------------------- | | isbetaald BOOL |
= | ----------------------- --------------------
| | | interventie | =
| | |-----------------------| |
| | | serial INT [PK] | |
| | | personeelslid INT | >|--------------------------
| --|< | datum DATETIME |
| | opmerkingen CHAR(255) | ----------------
| | eenheden INT | >|-- | personeelslid |
_ | factuurnr INT | | |----------------|
^ ---------------------- --|| | id INT [PK] |
----------------------- | naam CHAR(60) | -----------------
| installatie | ---------------- | applicatie |
|-----------------------| = |-----------------|
| applicatieid INT [PK] | | | id INT [PK] |
| serial INT | >|------------------------------------------------ | naam CHAR(50) |
| datum DATETIME | | versie CHAR(10) |
| personeelslid INT | >|----------------------------------------------------------|| | os CHAR(50) |
----------------------- -----------------
2020 augustus examen
/10 theorie
1) /2 schrijf deze query op 2 versch manieren select * from x tabel_a where x not in (select x from tabel_b )
2) /2 tabel van isolation level (not possible, possible) letterlijk invullen
3)programma over verzorgsters in hierarchisch tabel wat is GN en GNP wat doet dit programma
4) /2 een query van view create view as select snr from spelers where blabla group by s.snr with check option
kun je hierin muteren (insert, delete)? ja/nee/soms/optioneel
(ik had nee omdat er zo paar regels zijn wanneer je niet mag muteren en 1 daarvan is geen group by / order by of set operatoren)
5) /2 Waar kan er in een select instructie een niet gecorreleerde subquerry staan, geef de naam van ja wa vervangt me die subquerry. Doe dit voor amle componenten, denk aan select from where (vage vraag again...)
/10 praktijk
5 queries db over geiten
zet de 5 queries in 1 grote transactie waar concurrency hoog moet zijn (dus dirty read)
start transaction
set transaction isolation level dirty read
- query*
end transaction
uhm er zat ook een query bij waar je cube moest gebruiken , ook like %
groetjes thuis kirito-kun x
2020 januari examen
De eerste paar vragen stonden op 2 punten en je krijgt 2h voor het examen.
1) Query met GROUP BY CUBE -> wordt gevraagd om anders te schrijven (GROUP BY CUBE -> GROUP BY ROLLUP)
2) Leg het begrip "Refererende Integriteit" + geef een voorbeeld van tabellen enz
3) Leg de begrippen(ROOT, GHU, RECORD, GORDAK) uit en zeg bij welke soort databank deze horen (netwerk of hiërarchisch)
4) In welke delen van de SELECT query kan je een gecorrelated subquery uitvoeren?
5) Gegeven: query + omschrijving -> Klopt deze query? + leg de keuze uit
6) Pagina vol met CREATE TABLE's => 4 query's schrijven + er werd ook gevraagd om transactions te gebruiken (eentje was een CREATE VIEW)
2021 januari examen
THEORIE:
1: de uitvoer van 2 tabellen die gejoined worden on true.
2: vraag over hierarchische databank structuur. bij welke database structuur hoort deze code? wat doet de code?
3: welke 4 soorten subqueries zijn er? bij welker kan je exists toepassen?
4: vraag over collation.
5: verander de geit tabel zodat er in bijgehouden wordt wie de eigenaar is van een geit.
PRAKTIJK:
1: geef hoeveel wedstrijden er per plaats zijn, maar enkel plaatsen waarbij de meest recente wedstrijd dit jaar was.
2: geef alle geiten die geen unieke geboortedatum hebben.
3: geef per geit de totale kg_melk dat die geproduceert heeft, en ook het totaal onafhankelijk van de geit (dus rollup denk ik).
4: maak een object eigen_geit aan zodat een boer hier aan kan en enkel zijn eigen geiten kan zien en aanpassen.
algemeen
W. Bertels / P. De Mazière
Lessen zijn niet verplicht, maar er worden aanwezigheden opgenomen. Als je maar 4u of minder mist, mag je extra bladen meenemen naar het examen. Zo ook voor oefeningen maken (of extra opdrachten). Maximaal 6blzn. Leerstof: SQl (subqueries, joins, vensterfuncties, indexen), Hiërarchische en Netwerk DB
Databanken 2
2017 juni examen
12 juni 8u30
1. Wat is acid? Wat is het verband met NoSql?
2. Schrijf triggers voor integriteit op een schema
3. Schrijf een recursieve cte op dat schema
4. Wat zijn xml en json in verband met postgresql?
1 juni 8u30
1) mondeling: wat is referentiële integriteit leg uit, geef grondige voorbeelden.
2) maak een functie die als input een tabelnaam heeft en als output de kollomhoofden en datatype
bv: tabel(k1 text,k2 integer)
output:
k1 text
k2 integer
3) Wat is een dirty read ? Geef een voorbeeld hiervan met transaction. Maak ook een view met het gegeven voorbeeld waarbij alle geiten hun nummer en mogelijke aandoening getoond worden.
4) wat zijn de nadelen van ORDMS + geef telkens een voorbeeld.
1 juni namiddag
1) mondeling: uitleggen wat cartesisch product is + voorbeeldquery maken met inner join, en dan vroeg hij op het examen de volgorde van uitvoer van die query + hoeveel rijden er overbleven na de join met using + na de where
2) pc en mondeling: trigger schrijven voor een tabel "geit" en wanneer ge een geit toevoegt, moet ge voor de insert aan een zelfgemaakte tabel audit toevoegen wat de situatie was voor de insert + ook info naar die audit tabel zetten na de insert
3) schriftelijke query: van de geit tabel de stamboom geven van een geit met CTE
4) schriftelijk: 4 manieren om te beveiligen: staat in de pp's: was grant, view, stored procedures & roles
2018 compacte samenvatting
Van een onbekende auteur: Db2_compacte_samenvatting 2018.pdf
2018 juni examen
15 juni 13u00
Mondeling (5pt):
Wat zijn de 3 belangrijkste verschillen tussen ORDBMS & OODBMS en leg deze uit. (Met erna een cheeky suprise vraag: gebruiken ze beide SQL? -> OODBMS gebruikt Object query Language)
Op de R schijf zijn een schema en een script te vinden van de databank. Je kan dan je queries opbouwen met pgadmin4.
Theorie (5pt): 4 vragen:
1. Wat is de engelse vertaling van AVG, wat op 25 mei 2018 gestart is?
2. En vallen gegevens van een Europeaan op een Canadese server onder deze wet? (Simpele ja/nee)
3. Wat is een groot voordeel & nadeel van indexen? Leg beide uit met 2-3 zinnen.
4. Hoe krijg ik in PostgreSQL de execution time van een query? Leg ook uit wat dit qua informatie geeft.
Praktijk (2 vragen, elk 5pt, op KLOTE trage pc's):
1. Een vraag met WITH RECURSIVE, deze vraag is soortgelijk aan het voorbeeld met Louis en zonen van de slides, meenemen dus.
2. Een vraag over een function maken die met een loop een aantal inserts doet op een databank. Best te doen met een LOOP in plpgsql.
2018 voorbeeldvragen
Datamodellering
Vragen ivm consistentie, (referentiële) integriteit, redundantie.
Nadelen redundantie:
- meer kans op inconsistentie
- meer gegevens bijhouden dus hogere capaciteit nodig.
- complexere aanpassing van gegevens met mogelijks fouten tot gevolg.
Geef (of bespreek, verbeter) het bijhorende conceptueel, logisch en/of fysisch model
Groep 2
Bespreek volledig de uitvoering van een SELECT statement (volgorde en acties).
- FROM clause
- ON clause
- OUTER clause
- WHERE clause
- GROUP BY clause
- HAVING clause
- SELECT clause
- DISTINCT clause
- ORDER BY clause
- TOP clause
Wat is een cartesisch product? Wat moet je meestal doen om dit te vermijden?
de verzameling van alle koppels of geordende paren waarvan het eerste element uit de eerste verzameling en het tweede uit de tweede verzameling komt.
Groep 3
Wat is een niet-gecorreleerde subquery?
Als de inner query afhankelijk is van de outer query, is er sprake van een gecorreleerde subquery.
Geef een alternatieve oplossing voor deze query zonder subquery.
Groep 4
Wat is het verschil tussen een gecorreleerde subquery en een niet gecorreleerde subquery?
Als de inner query afhankelijk is van de outer query, is er sprake van een gecorreleerde subquery.
Los op een met gecorreleerde subqueries: "Geef de spelers die voor elke team gespeeld heeft"
Groep 5
Wat is het verschil tussen condities in de WHERE en de FROM?
Als conditie in FROM wordt alles zonder combinatie gecombineerd met NULL. Een conditie in de WHERE gaat rijen filteren (eruit gooien).
Geef een zinnig voorbeeld van een theta join en leg uit.
Vergelijking met een andere vergelijkingsoperator.
SELECT s.spelersnr, s.naam, count(sp.spelersnr)
FROM spelers s INNER JOIN spelers sp
ON(s.spelersnr sp.spelersnr)
WHERE length(s.naam) == length(sp.naam)
GROUP BY s.spelersnr, s.naam
Welke set-operatoren ken je en wat doen ze (kort)?
- UNION combineert resultaten van twee SQL-query's tot een enkele tabel van alle overeenkomende rijen. De twee query's moeten resulteren in hetzelfde aantal kolommen en compatibele gegevenstypen om zich te verenigen. Dubbele records worden automatisch verwijderd tenzij UNION ALL wordt gebruikt.
- INTERSECT neemt de resultaten van twee query's en retourneert alleen rijen die in beide resultaatsets voorkomen.
- EXCEPT: neemt de afzonderlijke rijen van één query en retourneert de rijen die niet in een tweede resultaatset voorkomen.
Waar dient LC_COLLATE voor en waarom kan dit belangrijk zijn?
Sorteervolgorde om in de nieuwe database te gebruiken. Dit beïnvloedt de sorteervolgorde toegepast op tekenreeksen, b.v. in query's met ORDER BY, evenals de volgorde die wordt gebruikt in indexen in tekstkolommen.
Groep 6
Hoe kan je een constraint van de tabel verwijderen?
ALTER TABLE custom_table
DROP CONSTRAINT fk_states_list;
Geef een alternatief voor de LIKE operator en geef enkele voorbeelden van wat dit alternatief meer kan.
SIMILAR TO → ondersteunt POSIX pattern matching* | denotes alternation (either of two alternatives).
- * denotes repetition of the previous item zero or more times.
- + denotes repetition of the previous item one or more times.
- ? denotes repetition of the previous item zero or one time.
- {m} denotes repetition of the previous item exactly m times.
- {m,} denotes repetition of the previous item m or more times.
- {m,n} denotes repetition of the previous item at least m and not more than n times.
- Parentheses () can be used to group items into a single logical item.
Leg uit: "connection pooling client side" met tekst en tekening.
Welke types connecties kan je maken naar database vanuit een programmeertaal?
Waarom kan het gebruik van een genereerde serial id gevaarlijk zijn?
Groep 7
Een query met de volgende elementen:(S F W G H en 1 of meer subqueries).
Groep 8
Wat is een segmenttype?
Wat typeert een netwerk databank?* bouwstenen: recordtypes, settypes, 1:n-verband owner-record member-record
- ER → netwerk: n-m → 1-n
- conceptueel: schema (schema DDL)
- intern: intern schema (DSDL)
- extern: subschema (subschema DDL)
- member kan zonder owner
- meerdere settypes tussen zelfde record types
- recordtype kan member zijn in meerdere settypes
recordtype: beschrijft gegevens in gegevensbank
settype: geven relaties tussen recordtypes aan
Groep 9
Geef een voorbeeld van een CTE met recursie.
Geef Louis V en zijn 5 voorgangers.
WITH RECURSIVE lijst (naam, zoon, nr) AS (
SELECT naam, zoon, 0
FROM kings
WHERE naam == ‘Louis V’
UNION ALL
SELECT naam, zoon, nr + 1
FROM lijst L INNER JOIN kings K
ON (L.naam == K.zoon)
WHERE nr < 5
OF
with recursive boom(naam, cirkeltrond, level) as (
select objectnaam, satellietvan, 0
from hemelobjecten
where objectnaam like '%i%a%a'
union all
select h.objectnaam, h.satellietvan, level + 1
from hemelobjecten h inner join boom b
on h.objectnaam == b.cirkeltrond
where level < 3
)
select naam || '-' || cirkeltrond as stamfrom boom
Geef een alternatief met gecorreleerde subqueries om een beperkt deel van de resultaten te tonen (cf het limiteren van resultaten).
Wat is het verschil tussen een string literal en een identifier?
String litterals are enclosed in single quotes. Double quotes are use to force a string containing otherwise special characters to be interpreted as identifiers.
Ex. assuming table foo with column bar : SELECT bar as "Bar", 'zz' as OTHER from foo;
In this select, the first column will have name Bar. Without the ", the name would have been bar since SQL does not normally distinguishes case. The second column will the the constant zz and the column name will be other.
The " are also useful to have accented chars like éè for non english languages.
Geef een alternatieve oplossing voor deze query (GROUP BY GROUPING SETS..)
Groep 10
Waarom maken we niet op elke kolom per definitie een INDEX?
Stelling: "Het gebruik van JOINS is steeds beter dan het gebruik van subqueries". Kies een standpunt en verdedig helder.
Waarvoor kan je VIEWS gebruiken?
- Vereenvoudigen van routinematige instructies
- Beveiligen van gegevens, gebruikers kunnen bv. aan de view maar niet aan de onderliggende tabellen
- Hulpmiddel bij het reorganiseren van tabellen
- Stapsgewijs opstellen van queries
Wat is SQL injectie (injection) en hoe kan je dit vermijden?
SQL statements in bv. form input fields zetten. Vermijden door gebruik te maken van prepared statements.
Groep 11
Wat zijn transacties?
Verzameling van sql-instructies die door 1 gebruiker ingevoerd wordt en waarvan de mutaties blijvend moeten zijn of ongedaan moeten gemaakt worden.
Geef een voorbeeld van embedded sql.
Bv SQL binnen PHP
Schrijf een methode die .. (generiek).
Waarvoor kunnen we TRIGGERS gebruiken?
Triggers are stored programs, which are automatically executed or fired when some events occur. Triggers are, in fact, written to be executed in response to any of the following events * A database manipulation (DML) statement (DELETE, INSERT, or UPDATE)
- A database definition (DDL) statement (CREATE, ALTER, or DROP).
- A database operation (SERVERERROR, LOGON, LOGOFF, STARTUP, or SHUTDOWN).
Triggers can be written for the following purposes* Generating some derived column values automatically
- Enforcing referential integrity
- Event logging and storing information on table access
- Auditing
- Synchronous replication of tables
- Imposing security authorizations
- Preventing invalid transactions
Groep 12
Geef de typische kenmerken van een ODMS.
- geneste objecten
- overerving (class … extends ...)
- collections (set, list, ...)
Wat zijn RULES? Geef een voorbeeld.
The PostgreSQL rule system allows one to define an alternative action to be performed on insertions, updates, or deletions in database tables. Roughly speaking, a rule causes additional commands to be executed when a given command on a given table is executed. bron
CREATE RULE "NeKeerIetsAnders" AS
ON SELECT TO wedstrijden
WHERE
spelersnr == 7
DO INSTEAD
SELECT 'eerst drie toerkes rond tafel lopen en dan nog eens proberen';
===Stelling: "We hebben geen databanken nodig, we kunnen alles met XML." Kies een standpunt en verdedig helder.
XML is not a database. It was never meant to be a database. It is never going to be a database. Relational databases are proven technology with more than 20 years of implementation experience. They are solid, stable, useful products. They are not going away. XML is a very useful technology for moving data between different databases or between databases and other programs. However, it is not itself a database. Don't use it like one.“ bron
Geef een voorbeeld van een NoSQL product en filosofie.
MongoDB → binaire JSON. Vooral document store.
Leg uit : ACID
- Atomic: mate van garantie dat hele transactie uitgevoerd wordt
- Consistent: na transactie moeten alle integriteitsregels nog gelden
- Isolated: transacties geïsoleerd van elkaar uitgevoerd
- Durable: acties kunnen niet ongedaan gemaakt worden
BASE is tegenovergestelde van ACID
Stelling: "PostgreSQL is de relationele database in alle omstandigheden, we kunnen ze voor alles gebruiken" Kies een standpunt en verdedig helder.
PostgreSQL heeft een ruim aanbod aan datatypes, heeft naar mijn weten veel hogere size limits dan bv. MySQL/MariaDB.
PostgreSQL decidedly strives to conform to the ANSI-SQL:2008 standard, is fully ACID (Atomicity, Consistency, Isolation and Durability) compliant, and is well-known for its rock-solid referential and transactional integrity. Primary keys, restricting and cascading foreign keys, unique constraints, not null constraints, check constraints and other data integrity features ensure only validated data is stored. bron
- This database management engine is scalable and can handle terabytes of data. bron
- PostgreSQL supports JSON and other NoSQL features like native XML support and key-value pairs with HSTORE. It also supports indexing JSON data for faster access. bron
- There are a variety of predefined functions. bron
- A number of interfaces are available. bron
13 Groep 13
Wat is het verschil tussen een venster en een groepering?
When a group by clause is used all the columns in the select list should either be in group by or should be in an aggregate function. While in over() clause, we don't have any such restriction. Aggregates or other functions like row number, lead, can be calculated using over function along with other columns in the select list.
Geef een voorbeeld van een cumulatieve frequentietabel met een theta join enerzijds en een venster anderzijds. Welke is het meest performant, hoe kan je dit controleren?
2019 juni examen
Mondeling: ACID. Full form. Leg uit. Verband met NoSQL?
Theorie: 1. Geef conceptueel uitvoering van Select statement. 2. Tijdens Uitnormalizatie moet vreemnde sleutel gebruik maken van primary sleutel. Ja/Nee. Leg uit. 3. Meerkeuze vraag over Select snelste is. ( keuze tussen select statements met - id, hash, datum)
Praktijk: Gegeven db met tabellen bank, in_uitgave, eigenaar, type....
1 a. Schrijf een script die een nieuw kol (bedrag en teken) aanmaakt aan table en data toevoegt met betreffende data (maak gebruikt van andere kol in tabel). b. Wat is probleem met zo'n manier van data toevoegen? c. Create view van twee tabellen zonder joins te gebruiken.
2. Update table(in_uitgave) wanner een uitgave wordt gedaan door 'Griet' (van eigenaar) naar inkomen. a. Geef bericht "This is normal.... bla bla....., bug fixed" wanner update gedaan is. b. Geeft bericht bij insert "are you sure".
algemeen
Aanwezigheden worden voor Databanken 2 niet opgenomen. Elke week kunnen 2 groepjes van maximum 5 personen een groepsopdracht maken. Als de lector het eindresultaat goedkeurt, verdien je een open-boek-examen. Je mag dan al het papieren cursusmateriaal meenemen, zoals bv. het SQL-Leerboek, Inleiding tot Gegevensbanken en een afdruk van de uitgevoerde opdracht. Zoals gewoonlijk bevindt al het lesmateriaal zich op Projektwerk.
2022 juni & augustus examen
Dit zijn al de mogelijke vragen die er tijdens het juni en augustus examen werden gevraagd:
Theorie
Een theorie vraag waarbij je een aantal stellingen kreeg en moest zeggen welke juist of fout waren
Praktijk
- Copy maken van een databank (mogelijkse varianten: met enkel het schema, enkel de data of met beide)
- Replicatie opstellen
- SQL dropbox oefeningen
3.1 copy paste van sqldropbox db1 en db2
3.2 JSON oefening & XML oefening - Script: verbeter databank structuur (gebruik van alter, drop table en index om zo de databank structuur te verbeteren, of zorgen dat het gegeven stuk sql code een kleinere cost heeft)
- Verbeter de create en insert sql file (zet comma's, haakjes, aanhalingstekens, etc... gewoon zorgen dat je de file kunt uitvoeren zonder de inhoud echt aan te passen)
- Schrijf een functie/procedure (mogelijks gebruik van venster functies)
Veel succes!!
Enterprise architecture (Business)
2013 juni examen
Juni 2013
Mondeling
- Maak de EDG adhv een scenario
- Gegeven: EDG. Vervolledig de OET en maak de (niet-default) FSM's.
Schriftelijk
- Gegeven: Korte beschrijving, EDG, OET en FSM. Je krijgt tien acties en je moet uit leggen of ze al dan niet worden geaccepteerd door het systeem, waarom en welke events/states/... er worden gebruikt.
- Wat is een multiple propagation constraint. Leg uit en teken een schema waarin dit voorkomt.
11 juni 2013
Mondeling
- Maak de EDG adhv een scenario
- Gegeven: EDG. Vervolledig de OET en maak de (niet-default) FSM's.
Schriftelijk
- Gegeven: Korte beschrijving, EDG, OET en FSM. Je krijgt een aantal acties en je moet uit leggen of ze al dan niet worden geaccepteerd door het systeem, waarom en welke events/states/... er worden gebruikt.
- Drie voorwaarde van FSM's (forward, backward accessibility en deterministisch) uitleggen + een vb geven
2015 juni examen
Volledig schriftelijk
deel 1: Mr Strypsteen
- is de onderneming uit de case een kleine onderneming? argumenteer ook waarom.
- hoe groot is hun budget voor IT en hoeveel werknemers hebben ze nodig in IT?
- wat zijn disruptive technologies? en geef enkele voorbeelden
- mobile was een revolutie voor toegang tot het internet, waarom?
deel 2: Mvr Veracx
- Wat is Enterprise architecture in je eigen woorden.
- wat zijn de voordelen van een Enterprise Architecture?
- alle geziene architecturen + welke beter is in welk opzicht van EA.
- enkele vragen over de gelezen artikels.
2018 juni examen
Volledig schriftelijk, gegeven door Strypsteen
1) Geef de 7 eigenschappen van een KMO die het moeilijk maken om een KMO te automatiseren
2) Zouden Iaas, Paas, of Saas hier een oplossing voor kunnen bieden?
3) Wat zijn de directe en indirecte kosten bij aankoop van bedrijfssoftware voor een bedrijf?
4) Geef de submodules van Logistiek en Aankoop
5) Vragen over het gastcollege
6) Wat hebben Machine learning en Big Data met elkaar te maken?
7) Geef een voorbeeld uit het artikel
8) Wat wilt Gartner zeggen met Digital Quality Revenue en hoe is dit verschillend van normaal Revenue?
9) Geef de 8 eigenschappen waar Digitale Transormatie een positieve invloed op kan hebben
10) Geef de 6 rijen van Zachmann
11) Wat kan Zachman betekenen voor een bedrijf
12) Wat is het Architecture Content Framework van TOGAF en wat zijn zijn onderdelen
13) Leg al de onderdelen van het ADM uit (ADM is gegeven)
13) Wat is de reden dat de ovenames bij MedAMore niet vlot verlopen?
14) Teken de grafiek waar al de Operating Models op staan, vergeet de assen niet te labelen
15) Naar welk Operating Model streeft MedAMore? Leg uitbundig uit
algemeen
Het vak wordt gegeven door Pieter Hens die zijn leerstof uitstekend weet over te brengen. Naar de les gaan is niet verplicht, maar vooral bij de oefeningen is het handig om uitleg te krijgen.
Internetprogrammeren major (Software)
2020 juni examen
PE
- Webapplicatie "Dogs and cats" met API
- Elixir & Phoenix Framework
- 30% van eindcijfer
- Punten van project = 75% functionaliteit, 5% correct inleveren en 20% security & code design
Examen
Praktijk: de uitbereiding op het project was een uitbereiding op API keys. Een key heeft oftewel READ of WRITE permission. (boolean isWriteable) Theorie:
- Request lifecycle: schema + leg elk component uit
- JWT: is afkorting voor & waarvoor wordt dit gebruikt + wat is een andere implementatie + 3 componenten van JWT
- Plugs & Pipeline: wat is dit + hoe gebruikt je dit met i18n
- Webpack: 3 voordelen
algemeen
IP Minor: Doorheen het jaar werk je via een tutorial aan een eigen webproject met het Spring-framework.
Voor het schriftelijk gedeelte wordt gevraagd om een nieuwe functionaliteit toe te voegen aan een bestaande webapplicatie. Daarnaast krijg je een paar theorievragen. Het mondeling gedeelte bestaat uit het verdedigen van het project. Er wordt gepeild naar zowel de kennis over als het inzicht in de onderwerpen die aan bod gekomen zijn tijdens de lessen.
De Major behandelt vanzelfsprekend meer onderwerpen.
Internetprogrammeren minor
2020 juni examen
PE
- Webapplicatie "Taskmanager"
- Java & Spring Framework
- 30% van eindcijfer
Examen
Door corona was het examen dit jaar een online assessmentgesprek via Microsoft Teams. Dertig min voor het examen kreeg je een mail met een story die je dan kon voorbereiden. Tijdens het examen moest je de story toelichten a.d.v. bestaande code in je PE project + enkele theorie vragen. Individuele stories:
- Toewijzen van tasks/subtasks aan personen
- Toewijzen van "tags" aan tasks/subtasks
algemeen
Doorheen het jaar werk je via een tutorial aan een eigen webproject met het Spring-framework.
Voor het schriftelijk gedeelte wordt gevraagd om een nieuwe functionaliteit toe te voegen aan een bestaande webapplicatie. Daarnaast krijg je een paar theorievragen. Het mondeling gedeelte bestaat uit het verdedigen van het project. Er wordt gepeild naar zowel de kennis over als het inzicht in de onderwerpen die aan bod gekomen zijn tijdens de lessen.
De Major behandelt vanzelfsprekend meer onderwerpen.
IT en management
2018 samenvatting Maria Verdonck
Samenvatting met dank aan Maria Verdonck: Samenvatting_IT&Management,_UCLL,_2017-2018_-_Maria_Verdonck.pdf
2020 januari examen
Het examen duurt 2,5 uur.
Vraag 1:
Gegeven een activiteitstabel, met dependencies en duur van het project:
- Teken de netwerkdiagram
- Vul in de tabel verder met early start, latest start, early end, latest end and slack time
- Geef het kritiek pad
- Hoe bereken je slack time, duid aan met als voorbeeld twee activiteiten (die gegeven zijn) ?
- Wat gebeurt als een activiteit een vertraging van 1 dag heeft (activiteit gegeven) en wat invloed heeft dat voor het hele project?
Vraag 2:
Gegeven twee korte verhalen van doelstellingen, leg uit waarom ze wel of niet de SMART principes gebruiken (geef uitleg voor elk letter).
Vraag 3:
- Gegeven een paar stellingen, categoriseer ze op basis van SWOT bijv. zwakte - concurrentiële kwetsbaarheid
- Wat zijn de overige componenten van een busines case?
Vraag 4:
- Wat is de duivelsdriekhoek (3 en 6 constraint) ?
- Wat is Scrum Less?
Vraag 5:
- Wat zijn 3 programmeertechnieken gebruikt in agile?
- Gegeven de figuur van de Scrum proces, vul in wat ontbreekt en leg kort uit.
- Wat zijn 2 voordelen en 2 nadelen van agile?
Vraag 6:
Gegeven een verhaal over een project van een bedrijf: (Heel kort: CityPark wilt een geautomatiseerde garageparking bouwen in een stad waar er veel vraag is aan parkeer plaats en de kost van parkeren is hoog. Ze vragen hulp van een andere bedrijf die ervaring heeft met management. Citypark zou in het toekomst meer doelstellingen willen bereiken (met andere projecten)...
- Gaat dat over een project of over een programma? Leg uit.
- Wie heeft de verantwoordelijkheid om de business case op te stellen?
- Wat zijn de
- Kan je een project opgeven als je 3/4 van de budget al hebt gespendeerd? Leg uit.
algemeen
Deze pagina gaat over het vak IT & Management gegeven door K. Melaerts vanaf 2016-2017. Vroeger noemde dit bedrijfsbeheer en daarvoor weer IT & Management maar met een andere vakinhoud. Dit wordt niet meer getoond op deze examenwiki.
2021 Samenvatting
Deze samenvatting is volledig gebaseerd op het handboek ‘Succesvol projectmanagement in IT’. Vervolgens is er op basis van het overzicht van de examenleerstof de te kennen begrippen, figuren en concepten aangeduid volgens de legende op pagina 3.
De samenvatting is achteraf gezien niet helemaal volledig: notities over Jira, hoe planningsoefening maken, scrum less (en wie weet wat nog) moet je zelf nog toevoegen xx
Object oriented system analysis
2009 januari examen
- Leg 3 begrippen uit:
- Re-engineering
- ...
- Teken een compositiediagram
2010 januari examen
Reeks 1B (22/01/10 13u, Martens)
- Mondeling: Gegeven een hele beschrijving
- Geef het klassendiagram.
- Geef ook het bijbehorende Use Case diagram
- Stel het sequentiediagram op voor een bepaalde actie (die omschreven is in de tekst)
- Schriftelijk: UML is een modelleringsmanier voor diagrammen. Hieronder vallen verschillende diagrammen, som deze op en geef telkens een beetje uitleg. Ook hebben sommige diagrammen een relatie met anderen, duid dit aan en verklaar de relatie
- Schriftelijk: Terminologie
- Verklaar aggregatie en compositie. Geef overeenkomsten en verschillen. Illustreer met een goed voorbeeld.
- Wat is een subtoestand? Hoe kan dit in het diagram worden weergegeven? Waarvoor is het nuttig? Illustreer met een goed voorbeeld.
2012 augustus examen
31/9 (Mevr. Barrezeele)
- [Mondeling] Vraag 1: Je moet een systeem voor de Olympische Spelen maken (beschrijving van +/- 1 bladzijde).
- Maak een klassediagramma
- Maak een toestandsdiagram voor 'Deelname'
- Maak een use-case beschrijving voor 'Voer prestaties in na wedstrijd'
- Maak een sequentiediagram voor 'Voer prestaties in na wedstrijd'
- [Schriftelijk] Vraag 2
- Waartoe dient een use-case diagram? Wat is het nut hiervan? Heeft dit diagram invloed op andere diagrammen? Zo ja, zeg specifiek op welke, en op welke manier.
Illustreer een use-case diagram a.d.h.v. vraag 1. Let op de juiste symbolen en notaties!
- Nog een vraagje, maar die ben ik vergeten.
- [Schriftelijk] Vraag 3: terminologie
- Wat betekent aggregatie? Wat betekent compositie? Wat zijn de verschillen en gelijkenissen? Illustreer aan de hand van een goed gekozen voorbeeld.
- Welke diagrammen behoren tot de implementatiediagrammen? Welke info bevatten deze diagrammen? Wat is het nut hiervan?
2012 januari examen
20 januari (mnr. Fox)
- [Mondeling] communication diagram, verband tussen sequence diagram en communication diagram, verband tss design class diagram en communication diagram.
- welke fases waren er in het groepswerk?
- in welke fase zit het communication diagram?
- voor elk de modelcomponenten + vb
- USE-case diagram(it modeling) adhv tekst
- verwerk 1 stereotype en 1 extends
- eerste een package diagram tekenen en werk dan 1 package uit als use case
- business class diagram met associaties en multiplicities adhv tekst met volgende items in verwerkt:
- association
- rolnaam
- generalisation
- aggregation
- contraint
- belangrijke activiteit van vooronderzoek is analyse huidige situatie: leg uit.
- begrip: non functional requirement uitleggen
16 januari (mevr. Barrezeele)
- [Mondeling] Gegeven: een case study van een taxibedrijf. Gevraagd:
- het klassendiagram
- het toestandsdiagram voor Klant
- de use case beschrijving voor 'plaats reservatie'
- het sequentiediagram voor 'plaats reservatie'
- Wat is het verschil tussen statische en dynamische diagrammen? Geef voor elk gezien diagram aan of het statisch of dynamisch is, en verklaar.
- Wat is het componentdiagram en waar kan het voor gebruikt worden? Wat is in UML de guard en in welke diagrammen kan je het tegenkomen?
gemengde reeks (09/01/12 13u, mevr Barrezeele)
- mondeling:: beschrijving van een bedrijf/organisatie (nmbs)
- Maak een klassendiagram
- Maak een toestandsdiagram
- Maak een use-case beschrijving
- Maak een sequentiediagram
- schriftelijk
- Welk zijn de implementatiediagrammen, waarvoor worden ze gebruikt, wat is hun nut, geef een voorbeeld
- Wat is aan activiteitendiagram, waarvoor dient het, waarvoor wordt het gebruikt, geef een voorbeeld
2013 januari examen
18 januari (Mr. Fox)
Mondeling:
- Modellen van business analyse (+ gebruikte tekens, uitleggen, ...)
- Teken een business class diagram uit tekst (+ verschillen met design class, namen zoals aggregatie kunnen herkennen en gebruiken)
Schriftelijk:
- Verbanden beschrijven tussen sequence & activity diagram en tussen sequence & design class diagram + illustreren aan de hand van voorbeelden
- Use case diagram bespreken en zelf één tekenen waarin include, extend en overerving uitgelegd worden
- Voorbeeld van typische use-case beschrijving
- ... (diagrammen afleiden uit tekst)
17 januari (Mr. Fox)
Mondeling:
- Geef de template van een use case narrative. Geef een use case beschrijving van een gegeven use case uit de situatieschets van een gewenst informatiesysteem, en teken het bijhorende Bussines Class Model.
- In welke fasen van het groepswerk hebben we Activity Diagrams gebruikt. Geef 8 modelelementen van een Activity Diagram (bijhorende vraag: verschil tussen join en merge node adhv (primitieve) tekening.
Schriftelijk:
- Teken MVC Sequence Diagram van gegeven use case. Verband met Design Class Diagram
- Verschil Domain Class Diagram en Design Class Diagram.
- Beschrijf procesmodellering volgens de techniek van event partitioning (stappen + voorbeeld adhv gegeven situatieschets).
8 januari (Mevr. Barrezeele)
Mondeling:
- Je krijgt een hele beschrijving van een racecircuit.
- Maak een klassediagramma in de domein(dinges)fase
- Maak een Use Case beschrijving voor INSCHRIJVEN VOOR RACE
- Maak een toestandsdiagramma voor INSCHRIJVEN
- Maak een sequentiediagramma voor INSCHRIJVEN
Schriftelijk:
- Geef de implementatiediagrammen, wanneer stel je deze op, wat geven deze weer, wat zijn de verschillen hiertussen, geef een voorbeeld met de juiste symbolen.
- Wat is meervoudige overerving en herhaaldelijke overerving? Geef een goed voorbeeld.
- Wat is een actor? In welke UML's komt deze voor? Hoe wordt deze weergegeven
2015 januari examen
12 januari (Griet Barrezeele)
Mondeling:
- Maak het klassendiagram van een reisagentschap.
- Maak het toestands diagram van OFFERTE
- Maak de use-cases beschrijving van OFFERTE
- Maak het sequentie diagram van MAAK OFFERTE AAN
Schriftelijk:
- Wat is een activiteits diagram, geef een voorbeeld aan de hand van de probleemstelling van het mondeling.
- Bij de use-cases hebben een black-box van het systeem wanneer wordt deze een white-box.
- UML is een iteratieve methode, bij welke diagrammen gebeurt dit.
20 januari (Patrick Fox)
Gegeven:
- Een uitleg over een lift. Op elk verdiep staan twee knoppen: omhoog en omlaag. In de lift zelf is een paneel voor het verdiep te kiezen. Na het openen van de lift wacht deze tien seconden. Na deze tien seconden sluiten de deuren en gaat de lift terug naar het gelijkvloers.
- Een beknopt klassendiagram zonder functies (enkel de klassennamen dus) maar met controllers en user interfaces.
- Een scenario: een passagier drukt vanop het gelijkvloers op de knop omhoog. Hij stapt de lift in en drukt in de lift op de zesde verdieping.
Mondeling:
- Geef voor bovenstaand scenario een MVC sequence diagram en een communication diagram. (hint: deze bevatten elk exact dezelfde informatie maar zijn anders getekend)
- Teken voor de lift een statechart diagram.
- Wat kan er op het klassendiagram worden bijgetekend met behulp van de gemaakte diagramma's? (Een van de antwoorden hierop is: functies)
Schriftelijk vraag 1:
- Wat is een use case en waarvoor worden ze gebruikt?
- Geef een use case narrative template en geef hier een voorbeeld van.
- Binnen een use case diagram kan men gebruik maken van volgende stereotypes: include, extend, generalisation. Wat is de betekenis hiervan?
Schriftelijk vraag 2
- Bespreek aan de hand van je uitgewerkt voorbeeld voor het groepswerk (opdracht 3/deel2) de aanpak van requirement analyse binnen agile/scrum gebruik makende van de UeXceler tool in Visual Paradigm.
2016 januari examen
19 januari (Patrick Fox)
Mondeling
- Teken een domain class diagram. Deze moet minstens één instantie van elk volgend UML-element bevatten: associatie, aggregatie, overerving, stereoptype, constraint
- Teken een statechart diagramma.
Schriftelijk
- Uitleg geven over Quality Arguments (met voorbeelden)
- Scrum heeft drie rollen en 5 roles. Leg beiden zo uitgebreid mogelijk uit.
7 januari (Patrick Fox)
Mondeling
- Teken een business klassediagramma. Deze moet minstens één instantie van elk volgend UML-element bevatten: associatie, aggregatie, overerving, stereoptype, constraint
- Teken een statechart diagramma.
Geef uitleg over beide diagramma's. Extra randinformatie & meer uitleg over verscheidene UML-technieken geven wordt hierbij zwaar aangemoedigd.
Schriftelijk
- Teken een MVC communicatiediagramma (geen sequence!).
- Scrum heeft drie rollen en drie artefacten. Leg beiden zo uitgebreid mogelijk uit.
13 januari (Patrick Fox)
Mondeling
- Maak een event response list met 10 items (External, Temporal, State).
- Gebruik de event response list en maak hieruit een System Use Case (gebruik includes, extends, generalisation, ...).
Schriftelijk
- Maak een Domain Class Diagram.
- Geeft de 3 rollen en 5 activiteiten van Scrum en leg kort uit.
- Wat heeft INVEST met user stories te maken? Leg INVEST ook uit.
- Welke diagrammen worden gebruikt in een Business Analysis? Verdeel ze onder Data en Process.
2017 januari examen
Examen is in het Engels vanaf dit jaar. Mondeling in het Nederlands.
19 januari (G. Barezeele)
Mondeling
- Teken een domain class diagram.
- Teken een use-case diagram.
- beschrijf één use-case (opgegeven welke).
- maak van de use-case een sequence diagram
schriftelijk
- geef alle diagrammen die we hebben gezien en geef een korte beschrijving, zeg ook dat het static of dynamic is. Wat is het verschil tussen static en dynamic.
- wat is External entity? Wat is een actor? wat is het verschil
- Wat is een guard en bij welke diagrammen wordt dit gebruikt? geef ook een voorbeeld.
25 januari (G. Barrezeele)
Mondeling: Gegeven een uitgebreide problem description over een evenementen systeem en een aantal functional requirements (+/- 1 pagina) Wat ik mij herinner:
- Evenementen kunnen evening seminars zijn of modules. Module bestaat uit meerdere dagen.
- Modules bestaan uit verschillende onderdelen, die elk een andere datum+tijd hebben en guest speaker.
- Voor zowel de seminars als de module-onderdelen moet je een speaker zoeken.
- Alle evenementen hebben een titel, nodige voorkennis, thema, niveau, max & min aantal deelnemers... (hoop andere eignschappen).
- Iedereen die wil moet zich kunnen inschrijving voor seminars of modules (huidige studenten 50% korting, alumni 20%)
- Elk evenement heeft een verantwoordelijke die een week voor de start nakijkt of er genoeg inschrijvingen zijn.
Zo niet wordt het event afgelast (en speaker en ingeschreven mensen ingelicht)
- Manager moet alle events kunnen opvragen, alle nog niet gekomen events, een overzicht van alle info voor een event, ...
- Evenementen hebben sponsors (die logo hebben)
- Per event moeten we sponsors kunnen opvragen en de soort sponsering die we kunnen doen
- We kunnen ook Marketing campagnes doen voor events (hebben een cost, effect, type en description)
- Per event moeten we marketing campagnes overzicht kunnen krijgen
- Per event moeten we inschrijvingen (apart betaalde en onbetaalde en allen samen) kunnen krijgen
- Manager moet moduleDelen kunnen toevoegen nadat Module al gecreëerd is
- Teken domain class diagram
- Geef use-case description van "Een extra dag aan een module toevoegen"
Name: ExtraDagModule
Summary: Een extra dag aan een module toevoegen
Actor: Manager/Verantwoordelijke module
Preconditions: / (OF Module moet bestaan, maar dan moet exception weg)
Steps/Scenario: 1. Actor geeft titel van module (in mijn klassediagram moest titel uniek zijn)
2. Systeem zoekt corresponderende module
3. If (gevonden) dan gaat aantalDagen met 1 omhoog, else: exception 1
4. Actor krijgt bevestiging dat aantalDagen 1 omhoog is van gekozen event
Exceptions: 1: titel komt niet overeen met een bestaande module > actor krijgt error bericht
Postconditions: Module (die correspondeerd met gegeven titel) zijn aantalDagen is met 1 opgehoogd
- Teken Sequency diagram van deze use case
- Teken Activity diagram van "een evenement organiseren"
Schriftelijk:
- Geef alle diagrammen die we hebben gezien en geef een korte beschrijving, zeg ook dat het static of dynamic is. Wat is het verschil tussen static en dynamic.
- Beschrijf Deployment en Component diagrammen. Wat is het verschil? Geef van allebei een goed voorbeeld.
- Waarom spreken we bij usecases van blackbox? Wanneer wordt dit whitebox?
2021 januari examen
Examen is in het Engels. Mondeling in het Nederlands en/of engels! Je krijgt ook een chocotof aan't begin van et examen ^^
04 januari 2021 (G. Barezeele)
MONDELING:
tekstje over surf onderneming die materialen(zowel boards en sails, dus inheritance) uitleend aan customers. Ook klassen zoals personeel(manager,employee,instructor, ook extend/inheritance), en met alle nodige attributen en function req. (aka methodes)
- teken class diagram
- maak use case description van "wanneer een customer materiaal terugbrengt"
- maak sequence diagram van diezelfde use case
THEORIE:
1)Leg generalisatie uit, welke diagrammen hebben dit en geef voorbeeld(en) use case diagram, class diagram gebruiken dit, misschien nog andere:)
2)Waarom spreekt men over black box bij een use case, wanneer is dit white box? use case beschrijft niet HOE je iets doet (dus blackbox) whitebox bij component en deployment diagram
3)Vraag over de verschillende views van oosa: wss iets met waterfall, eternal, agile..niet zeker!
groetjes Kirito :)
algemeen
Patrick Fox
Gedurende het jaar wordt er elke les in een (steeds hetzelfde) groepje van 3 personen gewerkt aan een project. Dit project is de praktijktoepassing van wat er de les ervoor gezien is tijdens de theorie. Dit project telt mee voor 6 van de 20 punten. Indien je er voor een bepaalde les niet was, kan je geen punten krijgen op het werk dat je groepsleden zonder jou gedaan hebben.
Het examen is een combinatie van schriftelijk en mondeling, en gaat nog op 14 punten. 10 daarvan staan op de mondelinge (met schriftelijke voorbereiding) vraag, de andere 4 op de schriftelijke vragen. Het mondeling verloopt heel gemoedelijk, er kan een dialoog gevoerd worden om tot een eventueel betere oplossing te komen. Belangrijk is om te laten zien dat je het begrijpt, ook al staat dat niet volledig op uw voorbereiding.
BELANGRIJK: In tweede zit kan er geen project gedaan worden voor PE, deze punten blijven dan ook gelden.
2022 januari examen
13/01/2022 13u30
MONDELING:
Kattenhotel waar kattenowners reservatie kunnen maken voor hun katten. Hierbij geven ze kamers mee (hierin kunnen afhankelijk van het type 1,2,3 katten en die hebben een bepaald uitzicht). Ge kunt dus sommige katten in 1 kamer zetten maar dan moeten ze wel van dezelfde owner zijn. Bij de reservatie geeft ge ook mee welk eten de kat lekker vind op basis van de ingrediënten (vb kat vindt enkel eten met tonijn lekker). Ge geeft ook de options mee, er is grooming (kapper, nageltjes knippen,…) en activiteiten (met veren spelen,…). Deze hebben een prijs maar ge kunt ze ook in pakket boeken, dan hebt ge korting… Een kat blijft minstens 2 dagen en er zijn verschillende types van stays: long stay en fixed stay… bij fixed stay hebt ge een einddatum, bij long stay niet. Bij het uitchecken krijgt ge een invoice als het een fixed stay was, bij long stay krijgt ge dat 1x per maand dan kreeg ge ook nog een tekstje met allemaal functionaliteiten (vb persoon kan reservatie maken en het profiel van de kat aanpassen, kitchen staff kan een overview krijgen van alle soorten meals,…)
- VRAAG 1: maak een class diagram van het business model
- VRAAG 2: maak een use case diagram voor alle functionaliteiten
- VRAAG 3: maak een state diagram van reservatie
SCHRIFTELIJK:
- VRAAG 4: Wat is een activity diagram, leg uit, wanneer wordt dit gemaakt, link met andere diagrammen, voorbeeldje bij het kattenhotel,…
- VRAAG 5: waarom is uml iteratief, wat gebeurt er met vorige diagrammen als je een nieuw diagram aanmaakt?
- VRAAG 6: wat is multiple inheritance, wat is repeated inheritance, geef ook weer met duidelijke voorbeelden
OO ontwerpen
2009 januari examen
De vragen zijn redelijk uitgebreid op het examen, met wat code bij of UMLschema's daarom slechts de onderwerpen waarover de vragen gingen:
- Decorator pattern
- Template pattern
- Singleton pattern
- Naamloze implementatie van interface
- Oefeningen op patterns
- Collecties + oefeningen
2011 januari examen
- Bespreek observer java built in en vergelijk met eigen inplementatie. Geef voor en nadelen. (/10)
- Een opgave waar je je eigen UML moet maken, patterns meegeven en uitleggen waarom. (/20)
- Collections. De 4 main dingen Queue, list, set, map (/10)
- Decorator typisch uml en per klasse uitleg geven (/10)
- Pseudo code verwerken met solid (/10)
- Java code i.v.m. singleton synchronized (/10)
2012 januari examen
Vraag 1:
Gegeven: Situatieschets van een bedrijf waarvoor je een encryptiesoftware moet bedenken, die op drie verschillende manieren kan encrypteren/decrypteren.
- Ontwerp een klassendiagram (eigen implementatie)
- Som op welke principes/patterns je gebruikt hebt, en verduidelijk ze (Waar in de code? Hoe toegepast?)
Vraag 2:
Gegeven: De klasse FitnessAbonnement van een plaatselijke fitness. Ze voorzien 3 extra's: groepslessen, DVDverhuur en frisdrank tijdens de fitness. Er is dan ook een methode voorzien om de prijs (met eventuele extra's) van het abonnement te berekenen.
- Geef aan welk design principle hier het meest geschonden wordt
- Welk design pattern kan dit probleem oplossen?
- Ontwerp een UML op basis van dat patroon
- Schrijf een paar regels code om jouw implementatie van de methode berekenPrijs() te verduidelijken
Vraag 3:
Gegeven: een klassendiagram met een verduidelijkende tekst over de werking ervan.
- Som de aanpassingen ivm principes/pattern op die jij zou maken
- Voeg een gegeven externe klasse toe in het UML. Deze klasse komt van de opdrachtgever, en heeft dezelfde functionaliteit als jouw klassen, maar een andere naamgeving voor de methodes
- Moet de code worden aangepast om de externe klasse te implementeren? Verklaar.
2013 januari examen
Er waren drie grote vragen en enkele kleinere vragen bij.
- De eerste vraag moest je een klassediagram verbeteren, de principes erop toepassen en patronen.
- De tweede vraag was rondom code en welke fouten erin stonden. Best kon je hiervoor een klassediagram maken om dan te zien wat er fout loopt.
- De derde vraag kreeg je een situatie en moest je gewoon het model gedeelte uitwerken in een klassediagram.
2015 januari examen
Drie grote vragen.
Vraag 1:
- MVC wordt een compound pattern genoemd (samengesteld patroon). Welke patronen bezit MVC? (niet gewoon het acroniem voluit schrijven)
- Gegeven een onoverzichtelijk klassendiagram, duid voor elke klasse aan of deze bij model, view of controller hoort.
- Een gebruiker drukt op een knop. Duid in dit klassendiagram aan elke stap die vervolgens wordt uitgevoerd en door welke klasse.
- Schrijf deze stappen stap voor stap op.
Vraag 2:
Een gebruiker vraagt een programma waarbij hij een even aantal getallen wilt ingeven en pas stopt bij een willekeurig getal. Deze lijst kan dan eventueel gemanipuleerd worden (sorteren, schudden, ...). Deze eventuele gemanipuleerde lijst kan dan wiskundige bewerkingen ondergaan bij het uitprinten (per paar van 2 optellen of aftrekken of vermenigvuldigen, ...). Een inleescode voor de lijst getallen is gegeven.
De vraag luidt: schrijf door middel van een template een implementatie van dit programma. Programma 1 moet dan gewoon inlezen en elk paar van 2 optellen. Programma 2 moet ze ook nog eens sorteren en langs achter beginnen om elk paar af te trekken. (voorbeeld output programma 2: rij getallen = 2 4 5 6 8 1 0 3 5 4, sorteren = 0 1 2 3 4 4 5 5 6 8, output = 2 0 0 1 1)
Vraag 3:
Gegeven is een uitleg over een schaakprogramma met een beknopt klassendiagram. Men wilt het schaakprogramma uitbreiden, hiervoor wordt een tekst voorzien. Geef voor elk patroon in de tekst een UML en de motivatie.
2016 januari examen
Drie grote vragen.
Vraag 1: (/5)
- Gegeven een vereenvoudigd UML van het spel 2048, uitleg over hoe de applicatie uitgebreid moet worden.
- Gevraagd: Teken UML en leg uit over hoe volgende patronen hier specifiek toegepast kunnen worden en wat hun doel is.
Observer, factory, state
Vraag 2: (/3)
- Gegeven een uitleg over inlezen van tekstbestand, filteren, sorteren en uitprinten.
Ook basisimplementatie van voorgaande gegeven.
- Gevraagd: Schrijf de code van het Template en Strategy patroon dat hiervoor toegepast moet worden, dus strategy in template.
Vraag 3: (/3)
- Gegeven vereenvoudigd UML over wiskundeoefeningen.
- Gevraagd: Duid op het UML aan welke delen tot model, view en controller behoren. Toevoegen van een functie, pas de klassen die aangepast moeten worden aan.
2017 januari examen
Vraag 1:
Gegeven een uitleg en een uitgebreid UML van een winkelapplicatie
- Geef twee patronen die in het compound patroon MVC gebruikt worden
- Duid deze aan op het UML
- Geef voor elke klasse van het UML aan of het Model, View or Controller deel is
- Stel een gebruiker besteld een product geef een lijst van de opeenvolgende klasse en methodes die worden gebruikt om dit uit te voeren (en geef nummers aan in het UML)
Vraag 2:
Gegeven een uitleg, state chart diagram, een test en output van een poort in een metrostation. Geef de code voor de toegangspoort en de states om de gegeven output van de test te krijgen. (Dit is ongeveer de opgave, maar herinner mij niet meer 100%) Statechart:
Test:
ToegangsPoort poort = new Toegangspoort();
poort.scan(new ToegangsBewijs(7));
poort.doorlopen();
//Geldig toegangsbewijs scannen en doorlopen
poort.scan(new ToegangsBewijs(0));
poort.doorlopen();
//Geen beurten meer
poort.doorlopen();
//doorlopen zonder te scannen
ToegansBewijs bewijs = new ToegangsBewijs(4);
poort.scan(bewijs);
poort.scan(bewijs);
poort.doorlopen;
//2 keer achter elkaar scannen
poort.afsluiten();
poort.scan();
Output:
"Geldig bewijs - Loop door"
"Reiziger loopt door"
"Geen beurten meer"
"ALARM!"
"ALARM!"
"Geldig bewijs - Loop door"
"Terugbetaling gebeurt"
"Reiziger loopt door" (Denk dat dit een fout is, heb ook zo op het examen gezegd anders kun je gewoon 2 keer scannen en gratis doorlopen)
"Einde van de dag - aantal Reizigers: 4" (Is hoevaak er gescand is, maar eigenlijke aantal reizigers is 2, ook een fout denk ik...?)
"Metrostation is dicht"
Vraag 3:
Gegeven een sort methode:
public Person [] sort(Person[] persons, String sortalgoritme, Comparator<Persons> comparator) {
Person[] sortedpersons = persons;
if (sortalgoritme.equals("Quick") {
//sort using quicksort algoritme
}
if (sortalgoritme.equals("Random") {
//sort using randomsort algoritme
}
return sortedPersons;
}
- Welk principe wordt hier het meest geschonden?
- Hoe zou je het beter doen en teken UML class diagram.
2018 januari examen
Vraag 1:
Gegeven code van een klasse om een bestand in te lezen per letter (character), code van een klassen om tekst (String) letter per letter uit te lezen, code van de launcher, een UML-diagram van het decorator-patroon. Men wilt bovenop het inlezen een bestand/tekst, deze kunnen manipuleren, zo bijvoorbeeld de tekst omzetten naar camelcase, spaties tussen iedere letter plaatsen, alle spaties verwijderen...
- Ontwerp met behulp van het decorator-patroon een UML om dit te implementeren.
- Schrijf de code can de nieuwe klassen uit
- Schrijf de code van de launcher uit als je in de tekst eerst alle spaties wilt verwijderen, dan in camelcase wilt zetten en tenslotte tussen iedere letter een spatie wilt plaatsen (dit is een zin -> ditiseenzin -> Ditiseenzin ->D i t i s e e n z i n)
Vraag 2:
Gegeven een UML-diagram voor het spel Tic-Tac-Toe, dat het MVC model volgt.
- Welke patronen herken je in dit model? Benoem ze en zeg welke klassen er deel van uit maken
- Duid voor iedere klasse aan of het Model, View of Controller is
- Stel een user klikt een vak aan; Welke methodes worden er achter elkaar uitgevoerd, en welke klassen roepen deze methodes aan?
Vraag 3:
Gegeven een stuk code, ruwweg de volgende:
public class Compression {
public void compress(List<File> files, File targetFile, String algorithm) {
if (algortithm.equals("zip") {
// Do ZIP compression
} else if (algorithm.equals("rar") {
// Do RAR compression
} else {
throw new IllegalArgumentException("Algorithm not found");
}
}
}
- Welk principe wordt hier het meest geschonden en waarom?
- Hoe zou je dit oplossen? Teken een UML-diagram.
2020 januari examen
Examen bestond uit 4 vragen en je had 2h30 tijd.
Vraag 1: (/2)
- Gegeven: een stuk code
public Player {
playCD()
showMovie()
playRadio(int frequentie)
}
public DVDPlayer implements Player {
public playCD() { //implementation }
public showMovie() { //implementation }
public playRadio(int freq) { throw error }
}
- Welk principe wordt hier het meest geschonden en waarom?
- Maak een UML die het beter zou doen (principle toepassen)
Vraag 2: (/3)
- Gegeven: Tic-Tac-Toe verhaal
- Maak UML met Observer & MVC
- Geef een lijst met alle functies die worden uitgevoerd wanneer er op "increment" wordt gedrukt (in het eerste view)
- Schrijf code van de eerste controller (die van het eerste view)
Vraag 3: (/5)
- Gegeven: verhaal van een ATM en een statechart
- Maak UML met als pattern State
- Schrijf code van alle klassen, interfaces, ...
Vraag 4: (/5)
- Gegeven: verhaal van een Fitnessabonnement
public Abonnement {
constructor
getters en setters van frisdranken handdoeken en groepsSport
public getPrijs() {
int prijs = 30;
if (groepsSport)
prijs+=10;
if (frisdranken)
prijs+=5;
if (handdoeken)
prijs += 15;
}
}
- Maak UML met als pattern Decorator + uitbereiding korting met Strategy
- Schrijf code voor de launcher (voor die specifieke situatie)
2020 juni examen
theorie:
letterlijk theorie vragen van dat word document
-wat zijn de 3 wrapper klasses en waar verschillen zij in
-vergeten
praktijk:
1 grote oefeningen waar je 3-4 patronen in UML moest tekenen
maak gebruik van !MVC model, strategy,observer,factory,..?
verhaaltje over state en hier UML van maken en paar klassen uitschrijven(punten pakker)
verhaalte over decorator toepassen, uml tekenen en paar klassen uitschrijven (het ging over ijsjes, sommige willen ijsje met saus, nootjes en andere ijsje met snoep, nootjes,snoep (punten pakker)
groetjes aan de familie, kirito-kun
algemeen
Vanaf 2019-2020
Dit vak wordt gegeven door Patrick Fox, die zijn vak erg goed beheerst. Er zijn twee sessies in de week: eenmaal een praktische zitting om aan de projecten te werken en eentje waarbij wat concepten uit het handboek verder besproken worden omdat die nodig zijn voor het succesvol uitwerken van het project.
Tegen het einde van het semester wordt er verwacht dat je in groep een programmeeropdracht uitvoert. Het project begint na de herfstvakantie en je krijgt enkel user stories en er wordt bij elke user story aangegeven waar/hoe je patronen moet toepassen. Hiervoor moet je ook een vrij uitgebreid verslag maken (met mooie UML). Dit project moet tegen de Kerstvakantie af zijn en staat op 25% van de punten. Tijdens het examen is er ook een theoriegedeelte dat ook meetelt voor 25%. Het praktijkgedeelte van het examen staat dus nog op 50%, volledig schriftelijk en gaat over het toepassen van de patronen (zie vragen laatste paar jaren).
Tot 2018-2019
Dit vak wordt o.a. gegeven door Patrick Fox, die zijn vak erg goed beheerst. Er zijn twee sessies in de week: eenmaal een praktische zitting om aan de projecten te werken en eentje waarbij wat concepten uit het handboek verder besproken worden omdat die nodig zijn voor het succesvol uitwerken van de projecten.
Doorheen het semester krijg je twee programmeeropdrachten die je in groep moet uit te voeren. Eén voor de herfstvakantie waarbij er steeds gezegd wordt waar/hoe je het patroon van die week moest toepassen. Dit project wordt op het einde nagekeken door Fox, maar staat niet op punten. Het tweede project begint na de herfstvakantie en je krijgt enkel use stories en je moet zelf zien waar/hoe je patronen wilt toepassen. Hiervoor moet je ook een vrij uitgebreid verslag maken (met mooie UML). Dit project moet tegen de Kerstvakantie af zijn en staat op 25% van de punten. Halverwege het semester is er ook een theorietest die ook meetelt voor 25%. Het examen in Januari staat dus nog op 50%, volledig schriftelijk, 3u de tijd en gaat over het toepassen van de patronen (zie vragen laatste paar jaren).
2022 januari examen
Theorie:
letterlijk theorie vragen van dat word document
1 Gaten kazen tekst waar je de 2 principles en 2 patterns moest in invullen aan de hand van de rest van de zin
2 Een UML state diagram met wat uitleg tekst die je dan moest omzetten naar een UML class diagram, hierin zat een abstracte classe
2.1 De abstracte classe hun java code schrijven
Praktijk:
1 UML classe diagram maken van een groot probleem omschrijving
2 Wanneer er op een knop in de probleem omschrijving wordt gedrukt, wat zal er dan gebeuren, schrijf lijn per lijn de weg op dat het afleged (dus naar welk bestand het gaat)
3 De Launchclasse van de probleem omschrijving opschrijven
4 Java code van een controller opschrijven
-Succes xoxo
Operationele analyse (Netwerken)
2018 juni examen
20 juni 13u00
1. 4 multiple choice vragen, elk op 2pt
Wanneer je belt naar een persoon krijg je een bezettoon te horen, als je weet dat de variantie van de gemiddelde belduur 25 bedraagt, na hoeveel minuten bel je dan best terug? [25, 5, zolang mogelijk, niet te bepalen]
Vraag met 4 grafieken, zoals in de excel introductie, welke is een mogelijkheid? [Gewoon schrappen wat niet mogelijk is]
Wanneer voor een systeem zowel de aankomstintensiteit en en de verwerkingssnelheid verdubbelt, wat gebeurt er met de gemiddelde duur in het systeem? [Verdubbelen, Gelijk blijven, Halveren, niet te bepalen]
Een graaf oefening waar je Dijkstra op moet toepassen en zeggen welke knoop er als 4e aan S1 wordt toegevoegd.
2. Ciw Oefening met M/D/2, gelijkaardig aan de oefening waar 5% aan toegevoegd moest worden, ook betrouwbaarheidsinterval 95% opstellen.
3. Analytisch wachtrij met prioriteiten, kwam letterlijk uit de cursus.
Beschouw een systeem waarbij pakketjes van een LAN naar een WAN worden gestuurd via een router. Veronderstel deze keer dat de router twee soorten pakketjes behandelt waarbij
1. de lengte van de pakketjes van de eerste soort exponentieel verdeeld is met gemiddelde 800 octetten (1 octet = 8 bits),
2. de lengte van de pakketjes van de tweede soort exponentieel verdeeld is met gemiddelde 80 octetten,
3. de pakketjes van beide soorten arriveren met een gemiddelde tussenaankomsttijd van 0.125 seconden volgens een exponenti ̈ele verdeling,
4. de pakketjes van de tweede soort een hogere prioriteit hebben dan de pakketjes van de eerste soort,
5. de lijnsnelheid van de router naar het WAN 64 Kbps bedraagt.
Gebruik formules om de gemiddelde vertraging bij het passeren door de router te berekenen.
2019 augustus examen
1. 4 multiple choice vragen, elk op 2pt
Wanneer je belt naar een persoon krijg je een bezettoon te horen, als je weet dat de variantie van de gemiddelde belduur 25 bedraagt, na hoeveel minuten bel je dan best terug? [25, 5, zolang mogelijk, niet te bepalen]
Vraag met 4 grafieken, zoals in de excel introductie, welke is een mogelijkheid? [Gewoon schrappen wat niet mogelijk is]
Wanneer voor een systeem zowel de aankomstintensiteit en en de verwerkingssnelheid verdubbelt, wat gebeurt er met de gemiddelde duur in het systeem? [Verdubbelen, Gelijk blijven, Halveren, niet te bepalen]
Een graaf oefening waar je Dijkstra op moet toepassen en zeggen welke knoop er als 4e aan S1 wordt toegevoegd.
2. Ciw Oefening met M/D/2, gelijkaardig aan de oefening waar 5% aan toegevoegd moest worden, ook betrouwbaarheidsinterval 95% opstellen.
3. Analytisch wachtrij met prioriteiten, kwam letterlijk uit de cursus.
Beschouw een systeem waarbij pakketjes van een LAN naar een WAN worden gestuurd via een router. Veronderstel deze keer dat de router twee soorten pakketjes behandelt waarbij
1. de lengte van de pakketjes van de eerste soort exponentieel verdeeld is met gemiddelde 800 octetten (1 octet = 8 bits),
2. de lengte van de pakketjes van de tweede soort exponentieel verdeeld is met gemiddelde 80 octetten,
3. de pakketjes van beide soorten arriveren met een gemiddelde tussenaankomsttijd van 0.125 seconden volgens een exponenti ̈ele verdeling,
4. de pakketjes van de tweede soort een hogere prioriteit hebben dan de pakketjes van de eerste soort,
5. de lijnsnelheid van de router naar het WAN 64 Kbps bedraagt.
Gebruik formules om de gemiddelde vertraging bij het passeren door de router te berekenen.
+ vraag over graaf -> welke boom komt van deze graaf
Algemeen
Bij het vak operationele Analyse probeert Wim Bertels een introductie te geven in wachtrijsystemen, zowel op papier als in excel en met een python package. Daarnaast is er een kleine herhaling Bomen en Grafen.
Programmeren van visuele gebruikersomgevingen
2018 opdracht
Reversi
- Verplichte functionaliteiten
- Functional Reversi game (no crashes, playable, etc.)
- White and black stone counts visible
- Visual markers for valid moves
- Visual indication of whose turn it is
- Correct handling of end-of-game
- Choosing board size
- Technische vereisten
- MVVM
- Multiple screens (!= multiple windows)
- At least one reusable User Control (with at least one self defined dependency property)
- At least three extra features
2020 opdracht
PiCross
Minimum Requirements
- Playable puzzles
- Multiple Screens
- Tolerable aesthetics
- Make commands/converters/… as reusable as possible
- MVVM
- 3 extensions
Extensions
- Puzzle Solving (help button, timer, ...)
- Support for multiple players (log in, log out, add player, ...)
- Puzzle Selection
- Puzzle Editor
- Sound/Music
- Animations
- Themes
algemeen
Voor dit vak moet je doorheen het jaar een project maken, waarbij je een visuele gebruikersomgeving schrijft voor een bestaand model volgens het MVVM-patroon. Er wordt gebruik gemaakt van C# en XAML. Op het examen verdedig je dit project.
In 2018 is dit gekoppeld aan een deel Frans. Hiervoor zijn enkele lessen ingericht, en op het laatste contactmoment stel je je project voor in het Frans.
In 2020 zijn alle Franse presentaties online via Microsoft Teams gepresenteerd:
- Présenter-vous
- Présenter un matériel ou logiciel innovant
- Présenter un projet informatique fini
- Présenter votre projet Picross
In 2022 is corona gedaan en zijn de presentaties in kleine groepjes van 3-4 man doorheen de normale les. Op het laatste contactmoment stel je je project (of toch wat je af hebt op dat moment) voor in het Frans.
2022 augustus examen
C# Project
De gemaakte opdracht verdedigen. Dit duurt max 10 min.
De lector test de code en checkt of al de extra functies werken, daarna gaat hij door de code om te kijken of er iets op een vreemde manier is geïmplementeerd. (Als er niks echt vreemd is dan is het eigenlijk gewoon een gesprek over hoe je het vak vond en hoe de dag/semester van de lector is geweest. Als hij wel iets vreemd ziet dat moet je kort even uitleggen hoe je daar op bent gekomen of waarom je het zo hebt aangepakt)
Easy examen, maak gewoon je project af tegen de deadline en je bent er door.
Veel succes!!
Programmeren voor multimedia (Software)
2014 juni examen
Deel 1
Je krijgt de vraag om enkele classes te implementeren met hun header files. Deze classes hebben we al gezien tijdens het jaar (Point, Vector,...) Enkele operator overloading, assignment operator en hard copy dingen
Deel 2
1) Je krijgt een code en moet de eindwaardes van drie variabelen berekenen (pointers en shizzlewizzle)
2) Je krijgt enkele papieren code, haal alle fouten hieruit en verbeter deze (max 8 fouten)
2015 juni examen
Deel 1
Deel 1.1
Code:
int main() {
IObject* s1 = new Square(Point(1,4),2.2);
cout << s1->getPosition() << endl;
cout << s1->getSize() << endl;
Square s2 = new Square(Point(4,5),5);
Square* s3 = new RotatedSquare(Point(5,5),8,60);
cout << s2;
cout << &s3;
}
uitvoer:
(1,4)
2.2
Position: (4,5) size: 5
Position: (5,5) size: 8 angle: 60
opdracht:
Schrijf de klassen IObject, Square en RotatedSquare.
Schrijf code zoals je zou verwachten van een professionele programmeur.
De klasse Point bestaat al. Je mag er vanuit gaan dat deze de << operator al ondersteunt.
Codeduplicatie is niet toegestaan.
IObject is een interfaceklasse.
Deel 1.2
Geef telkens één regel code voor elke vraag.
1) Alloceer met dynamisch geheugen de array d die 12 doubles bevat. 2) Gebruik een pointerimplementatie om de laatste waarde van deze array op 101 te zetten. 3) Verwijder nu deze dynamische array. 4) Maak een array b aan die 18 integers bevat. Dit zonder dynamische allocatie.
Deel 1.3
1. Tijdens het framework bij de drawmethode van boid zagen we dat de boid niet altijd juist geörienteerd stond naargelang zijn richting. Leg uit hoe dit kwam en hoe dit kan opgelost worden. 2. Leg uit tijdens het laatste labo wat er gebeurde wanneer enkele boids van de flock over de westelijke grens van het scherm kwamen. Leg ook uit hoe dit komt.
Deel 2
Deel 1.1
Gegeven zijn de klassieke oefeningen tijdens de eerste 7 labo's. Er worden variabelen aangemaakt en (dubbele) pointers worden daarnaar toegewezen. Dan worden de pointers gemixt en waarden veranderd. Geef op het einde de uitvoer van elke variabele.
Deel 1.2
Gegeven is een stuk code met maximaal (maar niet noodzakelijk) 10 fouten in. Nummer elke regel waar een fout in zit en schrijf op een ander blad wat er wel op deze regel moet staan.
2016 juni examen
Vraag 1 en 2
Je kreeg code en moest zeggen wat de output was.
Vraag 3
Je krijgt 3 struct klassen en moest een functie schrijven in C++ zoals in java de "instanceof" methode bestaat.
Dit moest met "dynamic_casting".
Vraag 4
Teken de Huffman-boom
Vraag 5
Zet de Huffman-boom om naar bits.
Vraag 6
je kreeg een zin bestaande uit "abc" letters en moest het omzetten naar bits via het LZ77-compressiealgoritme.
Vraag 7 en 8
Je kreeg 2 keer een volledige "tekst" en je moest zeggen welk compressie-algoritme het beste gebruikt zou worden hiervoor. (LZ77, RLE of Huffman). Ook uitleg geven waarom.
Vraag 9
Je kreeg Java-code en moest dit omzetten naar C++ code.
Van wat ik me nog herinner van de opgave was:
interface Observer{
void update();
}
public class PrintingObserver implements Observer{
@Override
public void update(){
system.out.println("Update detected.");
}
}
public class Observable{
private ArrayList<Observer> observers = new ArrayList<Observer>();
public void addObserver(Observer observer){
observers.add(observer);
}
public void updateObservers(){
for(Observer observer : observers){
observer.update();
}
}
}
public class App(){
public static void main(String[] args){
Observable o1 = new Observable();
Observable o2 = new Observable();
Observer o = new PrintingObserver();
o1.addObserver(o);
o2.addObserver(o);
o1.updateObservers();
}
}
2020 juni examen
Het examen was een kleine test om te testen of je de taal C++ wel kon. Het was open-internet examen met een tijdslimiet van 30 min. Er waren geen vragen over het PE project 'Midi' zelf.
Voorbeelden
- What is the output of the code below?
#include <iostream>
#define P(x) std::cout << x;
struct Foo
{
Foo() { P('a'); }
Foo(const Foo&) { P('b'); }
~Foo() { P('c'); }
};
struct Bar : Foo
{
Bar() { P('d'); }
Bar(const Bar&) { P('e'); }
~Bar() { P('f'); }
};
void qux(Foo& foo) { }
int main()
{
Bar* bar = new Bar;
P('[');
qux(*bar);
P(']');
}
- What is the type of x?
T** a;
auto x = a[0];
- What is the value of y? Write your answer as 0x????????, i.e., use exactly 8 hexadecimal digits (bit manipulation)
uint32_t x = 0x12345678;
uint32_t y = x & 0x12345678;
algemeen
Er wordt normaliter geen theorie gegeven. Alles is zelfstudie.
- Doorheen het semester zijn er een reeks kleine opdrachten waar 25% van de punten staan.
- Op het einde van het semester dient er een project ingeleverd te worden waar 25% van de punten op staan.
- Tijdens de examenperiode is er een schriftelijk openboek examen dat meetelt voor 50% van de punten.
2022 augustus examen
Het Examen
Het examen was een quiz om te testen of je de taal C++ wel kon. Er was geen internet toegang maar je mocht gebruiken wat er op je eigen laptop stond met een tijdslimiet van 30 min.
Er waren geen vragen over het PE project zelf.
De vragen waren zo goed als dezelfde als de oefen quiz die je kon doen op x.toledo.
Veel succes!!
Routing and switching essentials
2020 juni examen
Het was een open-internet examen waarvoor we 2h36 kregen.
Theorie
Enkele vragen die je kon letterlijk opzoeken op internet (handige site: https://itexamanswers.net/)
Praktijk
- Adressen
- Spanning-Tree (core switch -> root)
- VLAN's
- Port-Channel
- DHCP (IPv4 & IPv6 stateless)
- OSPF
algemeen
Dit vak is gebaseerd op CCNA 2: Routing & Switching Essentials en volgt daarom een 70% regel: je moet minstens een totaalcijfer van 70% halen om te slagen.
Het theoretisch examen staat op 20%, het praktijkexamen staat op 80%. Dit levert C op, dat wordt omgerekend naar een cijfer van twintig met de volgende formule:
C<70 | C>70 | |||
---|---|---|---|---|
(C - 70) | + 10 | C | ||
3 | 7 |
Tip: maak zeker de voorbeeld examens die op Toledo staan!
2020 augustus examen
Theorie
Euhhmmm idk
Praktijk
(Deze is in het jaar 2021 gegeven aan ons voor te gebruiken als proef examen)
De pdf: Examen augustus 2020.pdf
De packet tracer: Examen augustus 2020.pka
Veel succes!!
2021 Juni Examen
(De geziene leerstof verschilt met 2022! Dus als er iets is dat je niet hebt gezien, dat kan)
Theorie (Alles is meerkeuzen)
- Welke kanalen zijn ondersteund met 2.4GHz?
- 2 switches zijn verbonden met Link Aggregations. Wat zal er gebeuren wanneer STP ingeschakeld is?
- Een commando gekregen om een statische IPv6-route te configureren om 2 routers met elkaar te laten verbinden. Wat is de configuratie fout? (je krijgt nog een afbeelding met meer info op)
- Een netwerkaanval die zorgt dat je geen DHCP-lease kunt krijgen, welke is het?
- Welke trunk-link zal geen trafiek forwarden na de root-bridge negotiation van STP voltooid is? (je krijgt nog een afbeelding met meer info op)
- A stuurt een pakketje naar B, wat is het Source MAC Address en Source IP Address wanneer het bij B aankomt? (je krijgt nog een afbeelding met meer info op)
Praktijk
(Deze is in het jaar 2022 gegeven aan ons voor te gebruiken als proef examen)
De pdf: ExamenRSJuni2021_Instructies.pdf
De packet tracer: ExamenRSJuni2021_NAAM_VOORNAAM.pka
Veel succes!!
Scaling networks (Netwerken)
Statistiek
2018 augustus examen
1) We nemen een steekproef van 4 personen en gegeven: P(Android) = 0.85, P(iOS) = 0.15
- a) Wat is de kans dat alle Android gebruiker zijn
- b) Wat is de kans dat er exact 3 Android gebruikers zijn als we weten dat er minstens 1 iemand een Android gebruiker is
2) multiple choice:
-
- een normaalverdeling is altijd symmetrisch
- een poissonverdeling is altijd symmetrisch
- een poissionverdeling is altijd assymmetrisch
- de verwachtingswaarden X + Y is hetzelfde als de verwachtingswaarden X plus de verwachtingswaarden Y
- …
3) gegevens i.v.m. belminuten van een bedrijf
- a) doe een Hypothese met de volgende waarden: U = 50, X = 40, var=201.666, n=16,
- b)teken ook in een normaalverdeling hoe deze kans zou uitzien, zet zeker belangrijke getallen erop
- c) hoe kun je deze hypothese verbeteren?
4) gegevens van leeftijd en maximum hartritme
- a) welk verband is er tussen de 2 gegevens
- b) hoeveel is de correlatiecoëfficient
- c) hier zijn 4 BI over de correlatiecoëfficient, welk betrouwbaarheidsinterval is juist
- d) Geef de juiste uitleg
-
- met 95% kans ligt de correlatiecoëfficient van de steekproef in dit BI
- met 95% kans ligt de correlatiecoëfficient van de populatie in dit BI
- …
- …
-
- e) interpolatie en extrapolatie, wat is dit, leg uit met een voorbeeld van de gegevens
- f) n= 16, r = 0.601, a=1%, wat kunt ge zeggen over de gegevens X en Y
2020 januari examen
1. Als een vader van een familie van 5 kinderen de stelling "Ik heb niet alleen jongens" beweert. Als dit waar is, wat is de kans om precies 4 meisjes te hebben?
2. Gegeven: gemiddelde = 3, standaarddeviatie = 1,5
- a) Als hij bereid is 7% van de alarmen te vervangen bereken de garantieperiode.
- b) Stel we hebben het populatiegemiddelde niet bereken dit gemiddelde leeftijd over een groep van 8 als je weet dat 14% stuk gaat in de eerste 3 jaren.
3. Gegeven: populatiegemiddelde = 30 en een steekproef met 11 gegevens.
- a) Bereken de P-waarden en teken de grafiek. Welke conclusie trek je hieruit?
- b) Wat is de kans op een type-I fout?
- c) Wat kan je nog uit dit onderzoek bepalen?
4. Gegeven x en y waarden
- a) Bereken als er een rechtlijnig verband is voor significantieniveau van 5%
- b) Stel dat hij rechtlijnig is bereken de vergelijking van de trendlijn.
- c) Leg uit wat extrapolatie is en geef een concreet voorbeeld m.b.v. de gegeven data.
2020 youtube tutorial
Via de volgende link kan je naar een playlist gaan op youtube die uitgebreid met voorbeelden uitlegt hoe al de berekeningen rondom kansrekenen en verdelingen gemaakt moeten worden: https://www.youtube.com/playlist?list=PLvxOuBpazmsNIHP5cz37oOPZx0JKyNszN
En deze link legt alles uit rondom hypotheses: https://www.youtube.com/playlist?list=PLvxOuBpazmsNo893xlpXNfMzVpRBjDH67
nog een goede playlist is de volgende.(tip bekijk op X1.5 snelheid) : https://www.youtube.com/playlist?list=PL0o_zxa4K1BVsziIRdfv4Hl4UIqDZhXWV
algemeen
Deze pagina gaat over het vak Statistiek gegeven door I. Hoornaert en W. Bertels vanaf 2016-2017.
2021 januari examen
Dit examen was tijdens de corona periode, het examen duurde maximaal 2u36.
Als je doorheen het examen een rekenblad gebruikt zoals Excel, schrijf dan ook zeer goed op wat je er op invult om je waarde te bekomen.
Op computerhope (excel bestand examen-stat-07-01-20020.ods) vinden we info terug over de gemiddeld cpu temp per type processor, stel dat over een reeks fictieve meetresultaten
1 stel een 95% betrouwbaarheidsinterval op
Maakt een gepaste tekening
Geef de nodige tussenstappen
2 zijn de gegevens op computerhope aannemelijk op basis van dit betrouwbaarheidsinterval (of is het de moeite niet om ernstig in twijfel te trekken)
ja(aannemelijk) nee (ernstige twijfel)
waarom ja of nee
3 er zijn meerdere antwoorden mogelijk juist, antwoord met de letters die juist zijn
A er is 95% kans dat de temp vd cpu in het 95% betrouwbaarheidsinterval ligt
B er is 99% kans dat de temperatuur vd cpu in het 95% betrouwbaarheidsinterval ligt
C er is 95% kans dat de gemiddelde populatietemperatuur vd cpu in het 95% betrouwbaarheidsinterval ligt
D er is 95%% kans dat de normaal verdeling beter past dan de 95% student-t verdeling
Vraag 1
Spammails in de laatste jaren ligt op 54% in 2020
Percentage spammails is 54%
Van de spammails bevat
10% congratulations
20% urgent
4% congratulations and urgent
40% een woord in HOOFDLETTERS
Van de niet spammails
1% congratulations
5% urgent
0,1% congratulations en urgent
6% een woord in hoofdletters
Gebruik deze data voor:
a) bereken de kans dat een mail een woord bevat met hoofdletters
b) Bereken de kans dat een spammail geen vd woorden 'congratulations' of 'urgent' bevat
c) bereken de kans dat als ee nspammail het woord "urgent " bevat, deze mail niet het woord "congratulations" bevat
d) bereken de kans dat een mail spam is, als de mail het woord urgent bevat
Vraag 2
Gegeven 2 gebeurtenissen A en B voor de uitkomstverzameling (ohm) met A,B <= ohm en P(A), P(B) =/= 0
duid de uitspraken aan die altijd juist zijn
Vraag 3
Anton mag op kerstmis 8 keer met dobbelsteen gooien, voor elke 6 krijgt hij een cadeau
A) hoe groot is de kans dat hij op deze manier min 3 cadeautjes krijgt op kerstmis
B) ze doen dit meerdere jaren anton mag in totaal 240 keer met dobbelsteen gooien
hoe groot is de kans dat hij meer dan 50 cadeautjes krijgt
C) bereken de vorige vraag ook benaderend (met andere verdeling) is deze benadering goed? leg uit waarom
vraag 4 in het databeestand vind je percentage huishoudens met internettoegang en percentage vroege schoolverlaters voor gewesten in belgie van 2006 tot 2019
A) is er in Vlaams G een aannemelijk lineair verband tussen percentages? Gebruik een significantieniveau van 5%. Geef met enkele zinnen duidelijk weer welke verschillende stappen(alle) je doorloopt in het rekenblad, wat je gebruikt op welke manier om aan je besluit te komen
B) veronderstel dat er een aannemelijk lineair verband is in het vlaams gewest tussen percentages en bepaal de vergelijking vd regressierechte. geef ook duidelijk weer wat je koos op de X as en Y as en waarom (4 beduidende cijfers)
C) geeft in dit gewest een mindere beschikbaarheid van internet in het huishouden aanleiding tot meer vroegtijdige school verlaters? Dit betekent: als de regering investeert in meer beschikbaarheid van internet in huishoudens, dat er dan minder vroegtijdige schoolverlaters zouden zijn
Veel succes!!
2021 augustus examen
Dit examen was tijdens de corona periode, het examen duurde maximaal 2u36.
Als je doorheen het examen een rekenblad gebruikt zoals Excel, schrijf dan ook zeer goed op wat je er op invult om je waarde te bekomen.
Vraag 1a)
Een stukje tekst waar je uit afleid dat:
62% van de Vlaamse bevolking gevaccineerd is
56% van de Waalse bevolking gevaccineerd is
41% van de Brusselse bevolking gevaccineerd is
En de bevolking bestaat uit:
58% is Vlaams
32% is Waals
10% is Brussels
Vul nu de kansverdeling tabel in:
Vraag 1b)
Geef het percentage van Belgische bevolking dat dan gevaccineerd is
Vraag 2)
Duid al de uitspraken aan die juist zijn:
-
Binom verd is soms een symmetrische verdeling
- Poisson verd is soms een symmetrische verdeling
- Norm verd is NOOIT een symmetrische verdeling
- Modus van de poisson verd met gem 2,89 is groter dan 2
- Standaardafwijking van de poisson verd met gem 2,89 is 1,7
Vraag 3)
Een tekst waar je uit haalt dat de gemiddelde levensduur van de gegeven gsm 1080 min met een standaardafwijking van 40 min.
a) Geef de kans dat een lukraak gekozen gsm een levensduur van meer dan 1130 min bevat
b) Bij een ander type gsm weten we dat gem 1080 min, en bij 20% van de testen is de levensduur lager dan 1020 min
Geef hiervan de standaardafwijking
c) Geef de kans dat minstens 5 van 12 gsm minder dan 1020 min hebbe
Vraag 4) (Hypothesetoets)
Gekregen volgende processor temperaturen
55, 60, 65, 62, 66, 62, 53, 65, 64, 62, 56, 58, 68, 61
Waarbij hypothesen:
H0: µ = 60
H1: µ > 60
α = 0,05
a) Noteer redeneringen en conclusies
b) Bereken de p-waarde
c) Schets met p-waarde en belangrijke getallen
(Ik ben niet meer zeker dat deze vragen de werkelijke vragen waren, maar hoe ik tewerk ben gegaan is door eerst z0 te berekenen en dan de p-waarde. Gevolgd door het significantieniveau en de beslissingsregel.)
Vraag 5) (Deze vraag gaat over de laatste paar hoofdstukken, ik heb deze zelf nooit bekeken. Dus ik ben niet echt zeker dat dit de vraag was)
Gegeven Excel bestand Vraag 5 data.ods
a) Schrijf alle relevante resultaten neer en besprek ze
b) Geef zeker de correlaties en regressievergelijking en eventuele belangrijke residuen
Veel succes!!
2021-2022 Excel Beastmaster
Hier is een excel file waarmee ik meeste van mijn examen heb gedaan. Het is gebaseerd op @MikeWe's beastmaster file, props for him. Ik heb enkel de 'Solvers' gemaakt.
Er zijn gele "Solver" tabs. Het is vooral de juiste nummers in de (meestal) groene vakjes steken en het resultaat aflezen.
Het doet gewoon de berekeningen voor u, maar het ligt wel aan jouw om het juiste antwoord af te leiden en te verantwoorden. Gebruik het dus ook niet al de end-all be-all oplossing voor het examen!
StatistiekBEASTMASTER_Remastered.xlsx
Testing
2016 januari examen
- Zwarte kat in donkere kamer
- verschillende testing concepten in een quadrant opdelen
- page-object schrijven
- V model
2017 januari examen
- Selenium test beter herschrijven? > PageObjects (zowel de test als de gebruikte PageObject klassen volledig op papier schrijven)
- Leg uit: White and Black box testing met een voorbeeld (en leg voorbeeld uit)
- Agile quadranten: testsoorten invullen in het juiste quadrant
- 4 multiple choice vragen, zie ISTQB vragen online als voorbeelden
- Vraag met partities, hoeveel testwaarden hieruit
- Vraag over boundary value analysis
- Vraag over V-model
- Leg uit: regression testing (en voorbeeld waar/waarom het gebruikt wordt)
- Leg uit: EclEmma en de soort testing waarbij deze gebruikt wordt
- ... Nog een paar ...
2018 augustus examen
Vraag 1
Werk van een applicatie de mogelijke Given When Then scenarios uit.
Vraag 2
Werk van een applicatie de mogelijke Test Conditions & Test Cases uit.
Vraag 3
Schets het V-model, geef ook een korte beschrijving van elke fase.
Vraag 3.1
Bij welke fases van het V-model behoren de analist, de developer, de tester.
Vraag 3.2
Wat is het nadeel van het V-model?
Vraag 4
Meerdere meerkeuzevragen gelijkaardig met http://www.softwaretestinghelp.com/istqb-testing-certification-sample-question-papers-with-answers/
Vraag 5
Gegeven: @Test code voorbeeld Gevraagd: Waarom is dit een slechte test?
Vraag 6
Leg het verschil uit tussen regression testing en maintenance testing.
Vraag 7
Wat voor een soort tool is EclEmma. Beschrijf dit begrip ook.
Vraag 8
Leg de verschillen uit tussen White-box en Black-box
Vraag 9
Leg uit: Absence of errors falacy
2018 januari examen
Vraag 1
Werk van een applicatie de mogelijke Given When Then scenarios uit.
Vraag 2
Werk van een applicatie de mogelijke Test Conditions & Test Cases uit.
Vraag 3
Leg uit: Pesticide Paradox
Vraag 4
Leg uit: Regressive Testing, bij welke methodologie behoort het en waarom?
Vraag 5
Meerdere meerkeuzevragen gelijkaardig met http://www.softwaretestinghelp.com/istqb-testing-certification-sample-question-papers-with-answers/
Vraag 6
Vul de juiste woorden in in de tekening van TDD. Wat is het verschil tussen TDD & het watervalmodel? Wat is het verschil tussen TDD & BDD?
Vraag 7
Wat voor een soort tool is EclEmma. Beschrijf dit begrip ook.
Vraag 8
Leg Smoketest uit, geef hier ook een voorbeeld bij en leg uit waarom dit een goede Smoketest is.
2019 samenvatting
Samenvatting uit 2019 door een onbekende auteur: Testing.pdf
algemeen
Bijna elke week is er een kleine opdracht (met deadline) die in de les gestart wordt, deze tellen mee voor PE. Er is ook een gequoteerde oefenzitting over BDD (Behaviour Driven Development) testing omgevingen (JGiven, Cucumber, Scala en Concordion) die meetelt voor de PE (samen alles op 30%).
Webontwikkeling 3
2014 januari examen
8 januari (Kemme)
Theorie
- Leg uit PDO
- Leg uit SQL Injections
- Leg uit 2 step design
Pass/Fail
Voeg een veld leeftijd toe aan het registratie formulier. De leeftijd moet tussen de 1 en 99 zijn. Als je inlogt als admin moet je in je spelers overzicht ook de leeftijd tonen. De sql voor de db te alteren kreeg je.
8 januari (Steegmans)
Theorie
- Get/post
- XSS
- 2 step design
Pass/Fail
Extra functionaliteit : voeg een knop "toon alle vragen" toe aan elke categorie in "beheer categorieen" deze toont alle vragen voor deze vategorie (op een nieuwe pagina)
2017 samenvatting
Met dank aan Wouter Cypers: 2017 Wouter Cypers Samenvatting_Web_3.pdf
2017 theorievragen antwoorden
Met dank aan Sander Vanhoegaerden: 2017 Web-3-theorievragen.pdf
2018 januari examen
18 januari
Theorie
Geef 4 functies waarvoor we het web.xml file gebruikt hebben.
Vul in: Een wachtwoord mogen we niet ………………………… in een database opslaan. Je kan het beter eerst …………………………. Het beste is om zelfs eerst een ……………………… toe te voegen aan je wachtwoord voordat je het …………………………………
Naast die, welke drie andere risico’s hebben we ons nog tegen beveiligd? Zeg welke, waarom en hoe en leg de code uit (je moet geen code geven, er wordt ook geen getoond).
Mondeling
Wat zijn sessions? Leg zo volledig mogelijk uit. Wanneer zou je sessions gebruiken en wanneer cookies?
Praktijk
Je krijgt een web project al opgesteld van fietsen. De home pagina heeft een inlog systeem, of een knop om uit te loggen indien je al ingelogd bent. Dan is er een overview pagina waar de fietsen worden getoond. Ten slotte is er ook een “Voeg fiets toe” knop die je naar een formulier brengt om een fiets toe te voegen. Regel: gebruik geen scriptlets! Regel: je mag alleen code bijschrijven, niet bestaande aanpassen.
1: Op het overview zijn de fietsen nu hard coded erin gestoken. Zorg dat deze werken. Er is al een systeem voor de controller maar je moet zelf nog het nodige implementeren ( = zelf nog RequestHandlers bijschrijven).
2: OP het overview staan 2 checkboxes met een submit knop in een form voor het type van een fiets. Zorg ervoor dat wanneer ik op submit klik, ik alleen dat type fietsen zie en dat dit ook onthouden wordt als ik naar andere pagina’s ga (=cookies).
3: Het systeem van inloggen & users is al gemaakt. Zorg er nog wel voor dat wanneer een Person met de rol ADMIN is ingelogd, dat die de knop in de header “Voeg fiets toe” ziet. Users zonder die rol of wanneer niet ingelogd, zien die knop niet. Zorg ook dat het formulier werkt en dat de fiets wordt toegevoegd en dat de user dan terecht komt op de overview pagina waar hij meteen de nieuwe lijst ziet met deze fiets erin. Zorg er ook voor dat wanneer deze user dan op F5 (refresh) klikt, dat hij niet per ongeluk de fiets opnieuw kan toevoegen.
4: Breid 3 uit: zorg er ook voor dat iemand die niet authenticated is niet op de pagina van een fiets toevoegen kan komen, ook niet door in de url te typen “Controller?action=AddBike”. Wanneer dit gebeurt moet hij op de home pagina terecht komen met een error die toont “U bent niet geautoriseerd om deze pagina te bekijken.”.
2018 Oplossing Yanice Slegers
Met dank aan Yanice Slegers:
Github Repo
2020 januari examen
- Theorie (op papier)
- Praktijk: java + javascript
2022 januari examen
- Voeg een teller toe aan de match overview-pagina die telt hoeveel matches er op dat moment in de databank zitten.
- Voeg een extra pagina toe waarin staat hoeveel trainingen er op dat moment in de databank zitten.
- Leg SQL injection en XSS uit en toon in je code.
- Leg uit hoe je de story 'Add Training' hebt geïmplementeerd.