Eindopdracht#
Voor de eindopdracht kies je een (computer)systeem en leg je, aan de hand van de drie lagen van abstractie die we in deze module besproken hebben, uit hoe het systeem werkt. Je beschrijft dus hoe het systeem fysiek in elkaar steekt, je evalueert of de gebruikersinterface voldoet aan de regels van goed ontwerp en maakt een papieren prototype met een aantal verbeteringen, en beschrijft hoe het systeem logisch functioneert (met een automaat!). Deze onderdelen voeg je samen in een verslag (in wat voor vorm dan ook), dat je aan het eind van de module inlevert in je portfolio.
Je maakt deze opdracht in tweetallen, die we vormen aan het einde van de eerste fysieke bijeenkomst. Je krijgt tijdens de bijeenkomsten ook de tijd om aan de opdracht te werken, zodat je ook snel vragen kunt stellen als je ergens niet uitkomt of over een bepaalde keuze wilt overleggen. Doe er je voordeel mee!
Het is bij deze opdracht belangrijk dat je je bronnen vermeldt. De bronnen waar je je informatie vandaan hebt gehaald vermeld je in een bijlage bij je verslag. Welke webpagina’s heb je gelezen? Welke video’s heb je bekeken? Welke personen heb je geïnterviewd? Zorg dat deze allemaal terug te vinden zijn in je bronnenlijst! Dat betekent overigens niet dat je uit deze bronnen mag kopiëren, dat zou plagiaat zijn. Pleeg geen plagiaat! Dus kopieer geen teksten van internet, steel geen plaatjes met copyright, etc. Je mag alleen origineel, eigen werk inleveren.
Dat geldt overigens ook voor generatieve AI (zoals ChatGPT). Je mag voor deze opdracht geen teksten laten genereren die je in je verslag zet. Je mag dat soort tools wel gebruiken om iets op te zoeken (maar controleer wel of het antwoord ergens op slaat!) of bijvoorbeeld om feedback op je verslag te krijgen. Vermeld zoals altijd je bronnen, bijvoorbeeld door een link naar je gesprek te delen.
Wat betreft het inleveren: zorg dat jullie beider namen op de eerste pagina van het verslag vermeld zijn. Iedereen levert het verslag zelf in, dus van elk tweetal krijg ik twee keer hetzelfde verslag (dat is zodat het voor de administratie duidelijk is waar je het cijfer voor hebt gekregen). Inleveren doe je zoals altijd op app.q-highschool.nl.
De deadline voor het inleveren is donderdag 30 oktober, 16:00. Als je meer tijd nodig hebt, dan kun je ervoor kiezen van het tweede inlevermoment gebruik te maken. Laat het voor donderdag 8 oktober, 16:00 weten aan je docent (Arthur Rump, a punt rump apenstaartje quadraam punt nl) als je dat wilt. Het tweede inlevermoment is op donderdag 26 november, 16:00.
Mogelijke systemen#
Computers zijn universele machines: ze kunnen in principe alles. Voor deze opdracht is het juist interessanter om te kijken naar specifiekere systemen met beperktere functionaliteit. Deze systemen zijn bijvoorbeeld interessant om uit te zoeken:
Verkoopautomaat voor koekjes of koffie
Een (grafische) rekenmachine
Een Bluetooth speaker of koptelefoon
Complexere huishoudelijke apparaten met meerdere instellingen, zoals een (combi-)magnetron, wasmachine of inductiekookplaat
Tablet, telefoon, handheld spelcomputer of e-reader
Eigen ideeën zijn ook van harte welkom! Overleg altijd met je docent welk systeem je gaat onderzoeken.
Kies wel een concreet apparaat, zodat je ook echt kan uitzoeken hoe het werkt! Niet elke magnetron heeft dezelfde gebruikersinterface, dus kies de magnetron die bij jou in de keuken staat. Zo kun je ook daadwerkelijk iets zinnigs zeggen over het systeem en heb je aan het eind niet een verslag vol vage algemeenheden.
Verslagen over “de magnetron” of “een Bluetooth speaker” in het algemeen worden niet beoordeeld. Het gaat erom dat je je analyse-skills laat zien en dat kan alleen als je een concreet systeem kiest dat je (minstens van de buitenkant) in het echt kunt observeren.
Het verslag#
Het verslag bestaat uit zes delen, waarvan je drie delen tijdens de lessen hebt kunnen maken:
Algemene beschrijving van het systeem
Wat is het? Waar is het voor? Plaatjes zijn welkom!
Beschrijving van de fysieke onderdelen
User stories, evaluatie van de gebruikersinterface en een papieren prototype
Beschrijving van de logische werking met een automaat
Conclusie
Hoe hebben de drie niveaus invloed op elkaar? Geef minimaal 2 concrete voorbeelden!
Nawoord
Per persoon: wat vond je van deze module? Wat heb jij ervan geleerd? Wat zouden we anders moeten doen? (Ongeveer 100 woorden.)
Werkverdeling: wie heeft wat gedaan?
De vorm van dit verslag is open: je mag een “standaard” geschreven verslag maken, maar een video of (opgenomen) presentatie is ook prima. Heb je een goed idee voor een stripverhaal om dit in te verwerken? Doen! Een dansvoorstelling? Ik ben benieuwd!
Saai? 🥱😴
Wil je meer uitdaging dan alleen het beschrijven van een systeem? Als uitbreiding mag je ook zelf het systeem simuleren of nabouwen, bijvoorbeeld met een game-engine of in Minecraft. Je hebt daarvoor een goede analyse nodig van de (fysieke) onderdelen van het systeem, van de logische werking en van de gebruikersinterface. Overleg met je docent als je dit zou willen!
Fysiek#
Beschrijf de fysieke opbouw van het systeem dat jullie hebben gekozen voor de eindopdracht. Welke onderdelen zitten er in het systeem? Waar zijn die onderdelen voor? Hoe werken de onderdelen samen? Hoe communiceren de onderdelen met elkaar?
Beschrijf de onderdelen in jullie systeem die van belang zijn voor de belangrijkste functie van het systeem en verdeel de onderdelen daarbij in sensoren, actuatoren en besturing. Voeg afbeeldingen toe en leg ook uit wat de functie van elk onderdeel in het systeem is. Zoek ook de chips die op printplaten in jullie systeem zitten verder uit en leg waar mogelijk de link naar de onderdelen die je in een computer tegenkomt. De meeste moderne systemen zijn (tot op zekere hoogte) computergestuurd, dus onderdelen als een CPU, werkgeheugen en opslag zijn meestal wel ergens te vinden.
Als je het apparaat hebt dat je wilt onderzoeken en je kunt het uit elkaar halen: doe dat vooral. (Maar liever niet als dat apparaat nog in gebruik is…) Gebruik anders andere bronnen: tear-down video’s, reparatie video’s, reparatiehandleidingen (vooral bij oudere apparaten staat in de handleiding soms uitgebreid beschreven hoe het in elkaar zit!). Vraag mensen die er iets van weten, als je die kunt vinden! En als je niets kan vinden: logisch nadenken, wat is er nodig om dit te laten werken? Zoals altijd: vermeld je bronnen!
Goed (9) |
Voldoende (7) |
Matig (5) |
Onvoldoende (3) |
|
---|---|---|---|---|
Volledigheid in onderdelen |
Alle relevante onderdelen genoemd |
Belangrijkste onderdelen genoemd, enkele kleine onderdelen ontbreken |
Alleen opvallende onderdelen genoemd, maar genoeg voor een redelijk idee van de werking |
Slechts een paar onderdelen genoemd |
Correcte indeling in sensoren, actuatoren, besturing |
Alle onderdelen zijn correct verdeeld in de drie categorieën, met een onderbouwing |
Alle onderdelen zijn correct verdeeld in de drie categorieën |
De meeste onderdelen zijn correct ingedeeld |
De indeling van onderdelen is incorrect |
Duidelijke beschrijving van onderdelen |
Duidelijke en correcte beschrijving van de functie en locatie van ieder onderdeel, inclusief afbeeldingen |
De beschrijving van onderdelen is correct, maar niet altijd met de functie, locatie en een afbeelding |
Van enkele onderdelen is de beschrijving incorrect of te summier |
Voor de meeste onderdelen is de beschrijving incorrect of te summier |
Duidelijke beschrijving van verbindingen en communicatie |
Duidelijke beschrijving van communicatie tussen belangrijke onderdelen, inclusief signalen of protocollen |
Duidelijk beschreven welke belangrijke onderdelen met elkaar communiceren |
Alleen globale beschrijving van communicatie tussen onderdelen |
Incorrecte beschrijving van de communicatie tussen onderdelen |
Toepassingen#
Bij de toepassingen hebben we drie dingen besproken: user stories, vuistregels en papieren prototypes. Nu ga je dit toepassen op jullie eigen systeem:
Beschrijf de belangrijkste user stories voor jullie systeem. Wie zijn de gebruikers? Wat willen ze bereiken?
Kies één van de user stories en ga na welke drie vuistregels beter toegepast kunnen worden in jullie systeem, zodat het makkelijker te gebruiken is. Leg uit waarom je deze vuistregels kiest en waarom die relevant zijn voor deze user story.
Maak een papieren prototype van jullie systeem, waarmee deze user story uitvoerbaar is. Pas twee verbeteringen toe in jullie papieren prototype, op basis van de vuistregels.
Goed (9) |
Voldoende (7) |
Matig (5) |
Onvoldoende (3) |
|
---|---|---|---|---|
Duidelijke user stories |
Meerdere concrete user stories voor verschillende gebruikers, in het standaardformaat |
Een concrete, uitvoerbare, user story, in het standaardformaat |
User stories zijn niet concreet uitvoerbaar, of niet in standaardformaat |
Er is een vage beschrijving, maar de gebruiker, het wat of de reden ontbreken |
Goede keuze van vuistregels |
Onderbouwde keuze van minstens drie vuistregels die relevant zijn voor de gekozen user story en beter toegepast kunnen worden |
Onderbouwde keuze van minstens drie vuistregels die beter toegepast kunnen worden |
Keuze van minstens twee vuistregels die beter toegepast kunnen worden |
Slechts een enkele vuistregel of gekozen vuistregels zijn al sterke punten in het ontwerp |
Goede toepassing van vuistregels |
||||
Volledigheid van het prototype |
||||
Verbeteringen in het prototype |
Logisch#
Teken een automaat die beschrijft hoe jullie systeem werkt, op basis van de user story die je ook bij het vorige onderdeel hebt gebruikt. In welke toestanden kan het systeem zijn? (Denk aan de verschillende tekeningen die je in je papieren prototype hebt gemaakt!) Welke acties kunnen gebruikers nemen? Welke acties gebeuren automatisch, bijvoorbeeld met een timer? In welke staten zijn die acties geldig? En naar welke staat ga je als zo’n actie is uitgevoerd?
Probeer het systeem zo precies mogelijk te beschrijven, maar beperk je tot de onderdelen die nodig zijn om de user story uit te voeren. Als het systeem te groot is, kun je de automaat opdelen in verschillende stukken die verschillende processen of ingewikkelde stappen in een proces beschrijven. In elk onderdeel overlapt dan een begintoestand met een toestand uit een ander deel.
Maak een Visio-tekening aan in de Werkplaats om je diagram te tekenen. Zie de Werkplaatshandleiding (in de Werkplaats) voor tips bij het tekenen van een automaat.
Naast een duidelijke tekening van de automaat geef je ook een tekstuele beschrijving die de lezer door de verschillende delen van de automaat loodst en de processen beschrijft.
Goed (9) |
Voldoende (7) |
Matig (5) |
Onvoldoende (3) |
|
---|---|---|---|---|
Alle toestanden aanwezig |
Alle relevante toestanden voor de user story zijn aanwezig en gemaakte keuzes voor het samenvoegen van toestanden worden uitgelegd |
Alle relevante toestanden voor de user story zijn aanwezig en er zitten geen toestanden in de automaat die niet in het systeem bestaan |
De belangrijkste toestanden voor de user story zijn aanwezig |
Meerdere voor de user story belangrijke toestanden ontbreken |
Volledigheid en precisie van transities |
Alle mogelijke transities (acties van gebruikers en automatische transities) zijn in de automaat weergegeven, en er zijn geen transities in de automaat die in het systeem niet mogelijk zijn |
Alle belangrijke transities zijn in de automaat weergegeven, en er zijn geen transities in de automaat die in het systeem niet mogelijk zijn |
De meeste belangrijke transities zijn in de automaat weergegeven |
Meerdere voor de user story belangrijke transities ontbreken |
Overzichtelijk automaat |
De automaat is overzichtelijk en makkelijk te lezen, bijvoorbeeld door logisch gegroepeerde toestanden; de automaat is opgesplitst in onderdelen als dat nodig is |
|||
Duidelijke beschrijving |
De beschrijving legt uit hoe de automaat in elkaar zit, hoe de verschillende toestanden er in de praktijk uitzien en hoe de transities plaatsvinden |
Beoordeling#
Het verslag wordt beoordeeld aan de hand van vier rubrics: voor de drie onderdelen staat hierboven een rubric bij de uitleg en de vierde rubric hieronder beschrijft een aantal algemene aspecten van het verslag.
Per rubric wordt een cijfer berekend als het gemiddelde van alle onderdelen in die tabel, je eindcijfer is het gemiddelde van die vier rubriccijfers. Als alle punten als goed zijn aangemerkt, wordt een 10 toegekend. Ontbrekende delen leveren een 1 op voor dat onderdeel. Bij grote verschillen in de werkverdeling, kunnen we verschillende cijfers toekennen.
Algemeen#
Goed (9) |
Voldoende (7) |
Matig (5) |
Onvoldoende (3) |
|
---|---|---|---|---|
Algemene beschrijving |
De beschrijving geeft een helder beeld van het systeem en waar het voor gebruikt wordt. Er is goed gebruik gemaakt van afbeeldingen om dit te verduidelijken. |
De beschrijving geeft een helder beeld van het systeem. |
De beschrijving is een beetje vaag, maar klopt wel. |
De beschrijving slaat de plank volledig mis: is incorrect of benoemt alleen irrelevante aspecten. |
Conclusie |
De conclusie getuigt van goed inzicht in de verbanden tussen de niveaus en wordt ondersteund met minimaal 2 concrete voorbeelden |
De conclusie bevat minimaal 2 concrete voorbeelden van de verbanden tussen niveaus, maar de conclusie blijft vaag |
Er is een conclusie getrokken op basis van 1 voorbeeld |
Er is een conclusie, maar er worden geen voorbeelden gegeven |
Nawoord |
Nawoord is aanwezig en de werkverdeling is helder |
Nawoord is aanwezig, maar de werkverdeling is onduidelijk of ontbreekt |
||
Verzorging |
Het verslag zit netjes in elkaar en bestaat uit grammaticaal correcte, lopende zinnen |
Het verslag is redelijk netjes |
Het verslag is te volgen, maar geeft geen verzorgde indruk |
Het verslag is niet te volgen of veel zinnen bevatten spelfouten of grammaticale fouten |
Brongebruik en vermelding |
Relevante bronnen gebruikt (teardowns, handleidingen, datasheets, experts) en alle bronnen correct vermeld |
Meeste bronnen genoemd, maar niet altijd duidelijk vermeld of onbetrouwbare bronnen gebruikt |
Er is een bronvermelding, maar een of meer bronnen zijn niet duidelijk te herleiden (bijv. “ChatGPT”[1], “Google Afbeeldingen”, “Wikipedia” of “YouTube”) |
Geen bronnen vermeld |