Eindopdracht

Inhoud

Eindopdracht#

Om te laten zien dat je deze leerdoelen gehaald hebt, lever je aan het eind van de module een eindopdracht in: dit is een creatief en interactief programma dat je in Processing gemaakt hebt en waarin je natuurlijk de basisprincipes van objectgeoriënteerd programmeren hebt toegepast. Je maakt dit programma alleen, maar je mag wel overleggen met je klasgenoten (en anderen, als je dat wilt): het doel is dat je iets leert, en je kunt ook van elkaar leren. We vragen je dan wel om met commentaar in de code aan te geven dat je bepaalde stukken samen met iemand anders gemaakt hebt. Je mag ook gebruik maken van stukjes code die je op internet vindt, op voorwaarde dat je je aan de Regels over code kopiëren houdt.

Naast de code lever je ook een filmpje in waarin je een demonstratie geeft van jouw programma en de volgende vragen beantwoord:

  • Bij de demonstratie:

    • Wat is er te zien in je programma?

    • Welke interacties zijn er?

    • Hoe reageren verschillende onderdelen van het programma op elkaar?

  • Over de code:

    • Welke classes zitten er in je programma?

    • Hoe wordt interactie gecommuniceerd met een class die daarop moet reageren?

    • Welke code ben je trots op?

    • Welke code zou je nog willen verbeteren als je daar tijd voor had?

  • Als je een feedbackmoment tijdens de les gemist hebt:

    • Welke feedback heb je gekregen van klasgenoten nadat je daarom gevraagd had?

    • Hoe heb je die feedback gebruikt om je project te verbeteren?

Je hoeft geen gelikte presentatie voor te bereiden: neem even de tijd om over deze vragen na te denken, start een schermopname en vertel over je programma. Je filmpje hoeft niet langer te zijn dan 10 minuten, en je hoeft zeker niet meer dan 30 minuten aan het hele proces te besteden. Je webcam hoeft er niet bij aan als je dat niet wilt (dus je kan het gewoon in je pyjama doen). Voor het maken van een schermopname met geluid kun je bijvoorbeeld deze website gebruiken.

Om je een beetje op weg te helpen, kiezen we elk blok een thema voor de opdracht: deze keer is het thema boeken. Kies een boek dat je de afgelopen tijd hebt gelezen (voor school of voor je eigen plezier (of allebei)) en maak een creatieve, interactieve versie van de omslag. Zie hier een voorbeeld op basis van Under the Whispering Door van TJ Klune, met de originele omslag links en een interactieve adaptatie in Processing aan de rechterkant: Voorbeeld van een interactieve boekomslag waar huizen uit de lucht vallen en op elkaar gestapeld worden. Mocht je de laatste tijd alleen serieuze literatuur met oersaaie omslagen gelezen hebben, neem dan je favoriete kinderboek als inspiratie. Daar gebeurt vast genoeg op de omslag om iets van te kunnen maken!

Je programma en het filmpje lever je in op app.q-highschool.nl. Je kunt meerdere bestanden tegelijk inleveren door een .zip bestand van te maken. Kijk bij Meerdere bestanden inleveren als je daar hulp bij nodig hebt. De deadline hiervoor is donderdag 29 juno, 16:00. Als het je niet lukt om de opdracht voor de deadline af te ronden, dan kun je uitstel aanvragen. Als je van die mogelijkheid gebruik wilt maken, moet je dat voor maandag 12 juno, 16:00 bij je docent laten weten. Als je uitstel krijgt, is de nieuwe deadline donderdag 13 julij, 16:00.

Beoordeling#

Aan het eind van de module krijg je natuurlijk ook een beoordeling, daarvoor bekijken we het project dat je hebt ingeleverd. Daarbij letten we op een aantal dingen, met de belangrijkste bovenaan:

  • De structuur van je programma:

    • Bestaat het programma uit logische onderdelen, met voor elk “ding” een eigen class?

    • Communiceren die dingen op een logische manier met elkaar?

    • Wordt input van de gebruiker op de juiste manier afgehandeld?

  • Hoeveel werk je hebt verzet:

    • Hoeveel onderdelen zitten er in je programma?

    • Hoeveel interactie is er met de gebruiker?

    • En: hoeveel van de code heb je zelf geschreven?

  • Je programma werkt en ziet er netjes uit:

    • Crasht je programma soms? Of staan er foutmeldingen in de Console? (Dat is dus niet goed…)

    • Reageert het programma goed op input van de gebruiker?

    • Ziet je programma er netjes uit? (Maar: het hoeft er allemaal niet perfect uit te zien, sommige dingen zijn veel te moeilijk om in 7 weken voor elkaar te krijgen!)

  • De kwaliteit van de code:

    • Is de code netjes geschreven? (Tip: gebruik Edit > Auto Format om je code er netjes uit te laten zien!)

    • Gebruik je logische en duidelijke variabelenamen?

    • Heb je commentaar geschreven om uit te leggen wat er gebeurd?

  • De creativiteit van je project:

    • Heb je elementen op een originele manier getekend?

    • Heb je creatieve interacties in je programma ingebouwd?

In tegenstelling tot veel ander schoolwerk is het bij deze module dus geen probleem om code van het internet te gebruiken in je project (mits je de bron vermeld), maar voor de beoordeling kijken we natuurlijk naar de code die je zelf hebt geschreven: als je elke class van internet hebt gehaald, is er geen enkel bewijs dat je zelf het programma op die manier had kunnen organiseren. Zorg er dus wel voor dat jouw project uiteindelijk goed laat zien dat je ook echt de leerdoelen gehaald hebt!

Als je te weinig eigen code in je programma gebruikt, dan kunnen we natuurlijk ook niet beoordelen of jij zelf kunt programmeren. In dat geval wordt je project als Niet Beoordeelbaar (NB) aangemerkt, en krijg je dus geen beoordeling voor deze module. Om dat te voorkomen, raden we je aan om zelf een solide basis te leggen: zorg dat je de belangrijke onderdelen van je programma een eigen class geeft en bouw de interactie in, al is het maar dat iets van kleur veranderd. Daarna kun je code van anderen lenen om je project verder aan te kleden en er fantastisch uit te laten zien.

Het eindcijfer voor je project wordt bepaald aan de hand van de volgende tabel:

Cijfer

Criteria

10

Het project toont duidelijk aan dat je beide leerdoelen op een hoog niveau hebt bereikt: op de structuur valt niets aan te merken, in verschillende situaties kies je steeds de beste oplossing en je verantwoordt die keuzes in je video. Het programma is uitgebreid en er zijn meerdere creatieve interacties; het werkt zoals je verwacht, ook in meer uitzonderlijke gevallen; en zowel de code als het programma ziet er netjes en verzorgd uit. Vrijwel alle code heb je zelf geschreven.

9

Het project toont duidelijk aan dat je beide leerdoelen op een hoog niveau hebt bereikt: op de structuur valt niets aan te merken, in verschillende situaties kies je steeds de beste oplossing en je verantwoordt die keuzes in je video. Het programma is uitgebreid en er zijn meerdere creatieve interacties; het werkt zoals je verwacht, ook in meer uitzonderlijke gevallen; en het ziet er netjes en verzorgd uit.

8

Het project toont duidelijk aan dat je beide leerdoelen op een hoog niveau hebt bereikt: op de structuur valt weinig aan te merken en je verantwoordt die keuzes in je video. Het programma heeft meerdere interacties, ook tussen verschillende objecten, en werkt in de meeste gevallen goed. De kern van je programma en de structuur heb je vrijwel geheel zelf geschreven (dus alleen voor het tekenen van bepaalde dingen heb je code van andere bronnen gebruikt).

7

Het project toont duidelijk aan dat je beide leerdoelen hebt bereikt: de structuur zit goed in elkaar, maar je keuzes zijn misschien niet altijd duidelijk uitgelegd. Het programma bevat interactie met de gebruiker en tussen objecten en werkt in de meeste gevallen goed. De kern van het programma heb je zelf geschreven en eventueel geïntegreerd met code uit andere bronnen.

6

Het project toont aan dat je beide leerdoelen hebt bereikt: de structuur zit over het algemeen goed in elkaar, maar er zijn wel verbeteringen mogelijk of je hebt je keuzes onvoldoende verantwoord. Het programma bevat interactie met de gebruiker, maar verder is het relatief eenvoudig zonder interactie tussen objecten, of die heb je volledig uit een bron overgenomen.

5

Het project toont onvoldoende aan dat je beide leerdoelen hebt bereikt: de structuur zit niet goed in elkaar, of het programma is te eenvoudig om de structuur te kunnen beoordelen. Er is bijvoorbeeld geen interactie met de gebruiker, of het programma crasht regelmatig.

4

Het project toont aan dat je beide leerdoelen niet hebt bereikt: de structuur zit niet goed in elkaar en in het programma is geen enkele creativiteit en/of interactiviteit te vinden.

NB

Er is niet voldoende eigen werk om een inschatting te maken van jouw eigen vaardigheden, of er is sprake van plagiaat.

ND

Het project is niet ingeleverd.

Code van goede kwaliteit (netjes geschreven, duidelijke variabelenamen etc.) en een creatief project kunnen de doorslag geven om voor een project dat tussen een 7 en een 8 hangt, een 8 te krijgen, of om van die 8 toch meer een 8.5 te maken.