๐ Python Drone
MBO N4 ยท Software Developer ยท LJ2
Fase 1 โ Procedurele fundering ยท Sprint 1โ5
Sprint 1 ยท First Flight
US1: Van jouw taal naar Python
T1: Indentatie & geen accolades
T2: "3" + 5 โ drie talen, drie antwoorden
T3: PEP 8, snake_case & None
US2: Variabelen, input & f-strings
T1: De vier basistypes
T2: input() geeft altijd een string
T3: F-strings & / vs //
US3: venv, pip & eerste verbinding
T1: venv aanmaken & activeren
T2: pip install djitellopy
T3: Wifi drone, import, connect()
US4: Sensordata & assert
T1: Wat geeft get_battery() terug?
T2: assert als bewijs
T3: end() โ verbinding sluiten
Project: Systeemrapport bij opstart
Sprint 2 ยท Beslissingen
US1: Booleans & vergelijken
T1: Vergelijkingsoperatoren
T2: De stille bug: "85" > 20
T3: Truthiness & x is None
US2: if/elif/else & logica
T1: if / elif / else
T2: and / or / not
T3: Chained comparisons & ternary
US3: Guard clause
T1: Opstijgen bij 1% batterij
T2: Conditie omkeren, vroeg afbreken
T3: Melding met de gemeten waarde
US4: Platte guards
T1: Vier niveaus diepe if-boom
T2: Meerdere guards plat achter elkaar
T3: Happy path ongenest onderaan
Project: Veilige takeoff
Sprint 3 ยท Herhaling, Lists & Video
US1: For & range
T1: 8ร move_forward typen
T2: for met range()
T3: break & continue
US2: Lists
T1: 100 losse variabelen โ []
T2: Indexeren, len(), append(), slicing
T3: enumerate() โ index รฉn waarde
US3: Video streaming
T1: Video stream starten en stoppen
T2: Frames verwerken terwijl je vliegt
T3: Frames opslaan als PNG
US4: Challenge โ Routeplanner
Deel 1: Waypoints inlezen
Deel 2: Route valideren
Deel 3: Route uitvoeren
Project: Vluchtplan + videostream
Sprint 4 ยท Datastructuren & Foutafhandeling
US1: Parallelle lijsten โ dict
T1: Parallelle lijsten
T2: Dictionary: sleutel-waarde
T3: .keys(), .values(), .items()
US2: Try/except/finally
T1: Type conversie crasht
T2: Meerdere exceptions tegelijk
T3: Finally: code die ALTIJD loopt
US3: Dispatch-pattern
T1: Lange if/elif-ketens
T2: Dispatch-dict met ord()
T3: De dispatcher-loop
US4: Live control โ keyboard & video
T1: waitKey() als dispatcher
T2: Video opnemen met VideoWriter
T3: Tekst op frames met putText()
Project: Live Keyboard Drone Controller
Sprint 5 ยท Functies & Scope
US1: DRY & functies
T1: Herhaling op meerdere plekken
T2: def โ code een naam geven
T3: Call stack & return values
US2: Parameters & return
T1: print() vs return
T2: Default parameters
T3: Tuple unpacking
US3: Drone-helpers
T1: Alles in รฉรฉn bestand
T2: รรฉn functie, รฉรฉn verantwoordelijkheid
T3: Een eigen module importeren
US4: Scope
T1: Lokale variabelen & NameError
T2: Getal vs lijst als parameter
T3: Geen block scope in Python
Project: Modulaire Drone Console
Fase 2 โ OOP fundament ยท Sprint 6โ9
Sprint 6 ยท De blauwdruk: classes & constructor
US1: Het losse-variabelen-probleem
T1: Losse variabelen lopen uit de hand
T2: De class als blauwdruk
T3: Elk object heeft zijn eigen data
US2: De constructor & self
T1: __init__ dwingt data af
T2: self โ welk object ben ik?
T3: Meerdere parameters en default-waarden
US3: Van dict naar object โ Enemy
T1: Parallelle lijsten lopen uit de pas
T2: Eรฉn object draagt zijn eigen status
T3: Twintig objecten, twintig losse toestanden
US4: De Game โ alles in รฉรฉn object
T1: Losse globals zweven rond je script
T2: Een object mag een ander object bewaren
T3: De toestand in self opslaan
Project: Arcade Dodge โ Player, Enemy & Game
Sprint 7 ยท Methoden: gedrag in je classes
US1: State via een eigen methode
T1: De state die buiten bereik valt
T2: De methode die zichzelf updatet
T3: Wat geeft een methode terug?
US2: Methodes zijn geen functies
T1: Dezelfde actie, maar wie is het slachtoffer?
T2: De methode hoort bij de data
T3: Methodes die samenwerken
US3: Methodes die het spel besturen
T1: Een parameter stuurt de methode aan
T2: Een kogel maken, een grens bewaken
T3: De engine roept jouw methodes aan
US4: Beslissende methodes
T1: De methode die 'nee' zegt
T2: Een vraag die je in een if gebruikt
T3: Guard en query samen
Project: Arcade Dodge v2 โ methodes
Sprint 8 ยท OOP โ Overerving
Beschikbaar na afronding fase 1.
Sprint 9 ยท OOP โ Meesterstuk fase 2
Beschikbaar na afronding fase 1.
Fase 3 โ Gevorderd OOP ยท Sprint 10โ13
Sprint 10 ยท Design patterns
Beschikbaar na afronding fase 2.
Sprint 11 ยท Testing & tooling
Beschikbaar na afronding fase 2.
Sprint 12 ยท Deployment & CLI
Beschikbaar na afronding fase 2.
Sprint 13 ยท Eindproject
Beschikbaar na afronding fase 2.