Voortgang Week 1
Praktijk Week 1

Praktijkopdrachten

Pas je OOP-kennis toe in realistische scenario's. Deze opdrachten helpen je de concepten van klassen, objecten, attributen en methoden in de praktijk te brengen.

Belangrijk

Chatbots gebruiken mag. Gebruik het om feedback te krijgen op code of om een concept uit te leggen, niet om opdrachten te laten maken.

Praktijkopdracht 1: Huisdieren Kennel

Doel: Een systeem bouwen dat meerdere huisdieren kan beheren met OOP concepten zoals klassen, objecten, attributen en methoden.

Stappenplan

  1. Maak een klasse Huisdier met attributen: naam, soort (hond/kat/etc.), leeftijd, en energie_level (start op 100)
  2. Voeg een constructor toe die naam, soort en leeftijd accepteert
  3. Voeg een methode speel() toe die 15 energie verbruikt en een bericht teruggeeft
  4. Voeg een methode slaap() toe die 30 energie herstelt (max 100)
  5. Maak minimaal 3 verschillende huisdier-objecten aan
  6. Test alle methoden door ze aan te roepen en de output te printen

Deliverable

Een Python bestand (huisdieren_kennel.py) met:

  • De complete Huisdier klasse
  • Minimaal 3 object-instanties
  • Demonstratiecode die de methoden test

Checklist

  • Klasse heeft correcte naam en syntax
  • Constructor accepteert alle vereiste parameters
  • Alle attributen zijn correct gedefinieerd met self
  • speel() methode vermindert energie correct
  • slaap() methode herstelt energie (max 100)
  • Minimaal 3 objecten aangemaakt
  • Code is getest en werkt

Praktijkopdracht 2: Data Science Student Tracker

Doel: Een klasse maken die Data Science studenten modelleert, gebaseerd op de ADSAI opleiding structuur uit de PowerPoints.

Stappenplan

  1. Maak een klasse ADSAIStudent
  2. Attributen: naam, studentnummer, behaalde_leeruitkomsten (start als lege lijst), studie_uren (start op 0)
  3. Methode studeer(uren): voegt uren toe aan studie_uren, print een bericht
  4. Methode behaal_leeruitkomst(nummer): voegt leeruitkomst nummer toe aan de lijst
  5. Methode status(): toont naam, totale studie-uren en aantal behaalde leeruitkomsten
  6. Maak 2 student-objecten en simuleer hun studieproces

Deliverable

Een Python bestand (adsai_tracker.py) met:

  • De complete ADSAIStudent klasse
  • 2 student-objecten met gesimuleerde studieactiviteiten
  • Output die de voortgang van beide studenten toont

Checklist

  • Klasse heeft alle vereiste attributen
  • studeer() methode werkt correct
  • behaal_leeruitkomst() voegt toe aan lijst
  • status() toont alle relevante informatie
  • 2 objecten aangemaakt met testdata

Praktijkopdracht 3: Energie Systeem Uitbreiden

Doel: De Hond-klasse uit de les uitbreiden met extra functionaliteit, gebaseerd op het energie-systeem concept.

Stappenplan

  1. Begin met de Hond-klasse uit de les (met naam, hoogte, gewicht, energie_level en ren() methode)
  2. Voeg attribuut honger_level toe (start op 0, max 100)
  3. Pas ren() aan: verhoogt ook honger_level met 10
  4. Voeg methode eet() toe: verlaagt honger_level met 30 (min 0) en herstelt 10 energie
  5. Voeg methode status() toe: toont naam, energie_level en honger_level
  6. Test met Bella en Kees: laat ze rennen, eten, en toon hun status

Deliverable

Een Python bestand (hond_uitgebreid.py) met:

  • De uitgebreide Hond klasse
  • Bella en Kees objecten (70cm/28kg en 40cm/25kg)
  • Simulatie die rennen en eten combineert

Checklist

  • honger_level attribuut correct geïmplementeerd
  • ren() beïnvloedt zowel energie als honger
  • eet() werkt correct met grenzen (min 0)
  • status() toont alle relevante info
  • Bella en Kees hebben correcte waarden
  • Simulatie demonstreert alle functionaliteit

Praktijkopdracht 4: OOP Begrippen Documentatie

Doel: Een eigen documentatie maken van OOP begrippen, gebruikmakend van de definities uit de les.

Stappenplan

  1. Maak een Python bestand met docstrings die elk OOP begrip uitleggen
  2. Voor elk begrip (Klasse, Object, Attribuut, Methode, Constructor): schrijf een definitie en een codevoorbeeld
  3. Gebruik de definities uit de les als basis
  4. Bedenk voor elk begrip een eigen voorbeeld (niet de Hond-klasse)
  5. Voeg comments toe die uitleggen wat elke regel doet

Deliverable

Een Python bestand (oop_documentatie.py) met:

  • Docstrings voor elk OOP begrip
  • Een eigen voorbeeld-klasse (niet Hond)
  • Uitgebreide comments

Checklist

  • Alle 5 begrippen zijn gedocumenteerd
  • Definities zijn correct (gebaseerd op les)
  • Eigen voorbeeld-klasse is origineel
  • Comments zijn duidelijk en behulpzaam
  • Code is uitvoerbaar zonder errors