Object-Oriented Polynome
1. AI - best practices - leefregels
Niet Copy-Pasten; denken!
Drie afspraken:
- Vermeld je bron en versie!
- bv. https://app.suno.ai, v3
- Vermeld de prompt!
- “A grunge rock song about the major concepts of object oriented programming”
- Testen en verbeteren!
Kudos aan wie er eigen code blijven schrijven!
2. Doel DW4
Jullie ontwikkelen zelfstandig een complexe computerprogram in python.
Voorbeelden:
- rekenmachine
- flashcard trainer
- chatprogramma (
sockets
) - een eigen AI (bv. “OCR”; let op: sterke computer nodig)
- typing trainer
- epidemiologische simulatie
- jukebox
- “Bollywood” film- en acteursdatabank met GUI
- paint-programma
- “game of life”
- “tetris” game
- “snake” game
- “pong” game
- “space invaders” game
- eigen voorstel…
Denk er alvast over na: wij gaan volgende les beginnen!
Onderdelen/Stappenplan:
- concept
- implementatie
- testing
- presentatie (10min; in de klas of als video)
3. OOP
- zie vorige les
- zie stack overflow (bronnen vermelden!)
- zie liedje boven
Voorbeeld: simulatie fysica (electrodynamica) (zie hier)
4. Opdracht: Polynomen
Schrijf een class
“Polynoom” met de volgende functies:
- initialisatie:
def __init__(self, ...)
- nulpunten:
def nulpunten(self)
- visualisatie:
def plot(self)
def find_roots(x,y): s = np.abs(np.diff(np.sign(y))).astype(bool) return x[:-1][s] + np.diff(x)[s]/(np.abs(y[1:][s]/y[:-1][s])+1)
[bron]
Upload na de les!
5. Voorbeeldoplossing
- download hier
- zie commentaren daarin!
- bekijk vooral ook de test-suite onderaan!
vorige les \(\quad\) volgende les