Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

1 Inleiding

1.1Leeswijzer

Dit is een opdracht waar je één of twee maanden aan gaat werken. De opdracht bestaat uit meerdere hoofdstukken. Je docent vertelt welke hoofdstukken je moet maken.

Een hoofdstuk bevat uitleg en opdrachten. In de opdracht staat wat je code moet doen. Lees dit aandachtig door, voordat je begint te coderen. Bij een opdracht staan tips die je kunt gebruiken als je er niet uitkomt. Bekijk de tips één voor één van boven naar beneden en probeer na elke tip of je verder met de opdracht komt.

1.2Webshop

Je webshop bevat een plaatje en informatie van de producten die je verkoopt. Bezoekers kunnen filteren welke producten ze willen zien. Ze kunnen bestellen door je een mailtje te sturen.

Je webshop heeft een paar functionele beperkingen. Dat maakt de startcode een stuk eenvoudiger. De eerste beperking is dat bezoekers niet kunnen inloggen op je webshop. De webshop houdt geen winkelmand, geen oude bestellingen en geen voorraad bij. De tweede beperking is dat bezoekers niet kunnen betalen via je webshop. In de plaats daarvan sturen bezoekers een mailtje (of appje) met wat ze willen bestellen. Met een betaalverzoek (of Tikkie) kun jij zorgen dat ze betalen voordat je de bestelling opstuurt. Als je wilt, dan kun je een deel van de ontbrekende functies erbij maken in hoofdstuk 8 (uitbreidingen).

1.3Voorkennis en naslagmateriaal

Voor deze opdracht heb je basiskennis nodig van SQL. Basiskennis van SQL betekent dat je opdrachten gemaakt hebt met SELECT, WHERE, JOIN en GROUP BY.

Voor hoofdstuk 6 (filters) heb je tevens basiskennis nodig van Python. Je hebt basiskennis als je geoefend hebt met variabelen, selectie (if-jes), iteratie (for-loop), functies en lijsten.

Voor hoofdstuk 7 (client) heb je tevens basiskennis nodig van HTML en CSS. Je komt in dit hoofdstuk ook in aanraking met JavaScript.

1.4Tools

Voordat je kunt programmeren moet je bekend zijn met het gereedschap (de tools) die je voor deze opdracht gaat gebruiken.

Je kunt deze opdracht maken in GitHub Codespaces. Dit is een professionele online omgeving die door veel programmeurs gebruikt wordt. GitHub CodeSpaces werkt op alle computers met een moderne browser, ook op Chromebooks. Een account op GitHub is gratis en daarmee kun je 60 uur per maand gebruik maken van Codespaces. Je docent geeft misschien aan dat je een andere programmeeromgeving moet gebruiken voor deze opdracht.

1.5Werkwijze

Je werkt op de volgende manier aan de opdrachten.

1.6Inleveren

1.7Beoordeling

De opdracht die je inlevert wordt grotendeels per team beoordeeld, maar je docent kan hiervan afwijken als teamleden geen gelijkwaardige bijdrage hebben geleverd. Een netjes uitgevoerde opdracht waarvan je alle basisstappen begrepen hebt, zal in de meeste gevallen beoordeeld worden met een voldoende. Om een hoog cijfer te halen moet je creatieve en complexe uitbreidingen toevoegen.

Minimale eisen

Er gelden minimale eisen waaraan je opdracht moet voldoen:

Opdrachten die niet voldoen aan de minimale eisen krijgen het cijfer 1,0.

Test

Een beperkt deel van je eindcijfer wordt bepaald door een test.

Als je de test geen enkele keer maakt, dan is je score voor de test 0 punten.

Beoordelingsmodel

Een concept beoordelingsmodel staat hieronder. Je docent kan het beoordelingsmodel tijdens het nakijken aanpassen.

OnderdeelPunten havoPunten vwoToelichting
Code
Stijl55- Netjes uitgelijnd,
- helder commentaar,
- logische naamgeving van variabelen,
- logische volgorde van opdrachten,
- consistente code.
Basistest2015- Score op test met multiple-choice vragen over de basisopdrachten (hoofdstuk 2 tot en met 7, zonder uitbreidingen)
Functionaliteit
Gebruikerservaring55- Geen slordigheden in opmaak
- Logische indeling / producten vindbaar
Basisfunctionaliteit2015- Hoofdtuk 3: minimaal 5 artikelen met plaatjes, prijs en beschrijving,
- hoofdtuk 4: 1:n relatie,
- hoofdtuk 5: n:m relatie,
- hoofdtuk 6: filters,
- hoofdtuk 7: client aanpassingen.
- Punten per hoofdstuk is totaal aantal punten gedeeld door aantal hoofdstukken dat gemaakt moest worden. Voor een hoofdstuk krijg je alle punten als het geheel volgens de opdracht is gemaakt.
Uitbreidingen
Eenvoudige uitbreidingen1520- Eenvoudige uitbreidingen zijn uitbreidingen van één of twee sterren. Elke ster is een punt.
Ingewikkelder uitbreidingen1520- Ingewikkelder uitbreidingen zijn uitbreidingen van drie of vier sterren. Elke ster is een punt.
Proces
Planning55Uit de commits en/of tijdens de les blijkt dat het stappenplan gevolgd is en dat er regelmatig is gewerkt.
Samenwerking55Uit de commits en/of tijdens de les blijkt dat het werk gelijk verdeeld is onder teamleden. Als één teamlid beduidend minder doet, dan is dat een gezamenlijke verantwoordelijkheid van het team om dat op te lossen of te melden bij de docent. Maak vanaf het begin afspraken en spreek elkaar daarop aan. Als je er niet uitkomt, dan meld je dat zo snel mogelijk bij je docent.

Cijfer = N-term + 9 * behaalde punten / maximale punten