Patroonherkenning
Gebaseerd op:
Wat leer ik ?
- Een patroon leren herkennen
- Een algoritme schrijven gebaseerd op dat patroon
- Een algoritme volgen en verbeteren
Wanneer we een complex probleem ontleden, kunnen we binnen de veelheid van deelproblemen vaak patronen herkennen. De patronen bestaan uit overeenkomsten of kenmerken die sommige kleine delen gelijk hebben.
Patroonherkenning is de 2e hoeksteen van Computational Thinking. Het houdt het vinden van gelijkenissen en/of patronen in bij kleine, ontleedde problemen, wat ons helpt om complexere problemen efficiënter op te lossen.
Wat zijn patronen ?
Beeld je in dat je een reeks katten wil tekenen. Alle katten hebben dezelfde kenmerken. Ze hebben allemaal ogen, een staart en vacht. Ze houden ook allemaal van vis en maken hetzelfde meowende geluid.
Omdat we weten dat alle katten ogen, een staart en vacht hebben, kunnen we een goede poging wagen om een kat te tekenen, simpelweg door deze kenmerken te gebruiken.
Binnen Computational Thinking worden deze kenmerken patronen genoemd. Wanneer we een kat moeten beschrijven, kunnen we dit doen door simpelweg het patroon te volgen. Het enige verschil zijn de specifieke kenmerken per kat.
Een patroon is dus een klasse, een specifiek kat is een object: zie: objecten en klassen in de cursus "programming concepts".
Wat is het nut van zoeken naar patronen ?
Patronen leren vinden is van extreem belang. Patronen maken onze taken makkelijker, omdat we overal dezelfde oplossingsstrategie kunnen gebruiken waar deze patronen voorkomen.
Als we een groot aantal katten willen tekenen, is de kennis dat elke kat ogen, een staart en vacht heeft heel nuttig. We kunnen dan namelijk een stempel vervaardigen, die deze kenmerken bevat. We stempelen een aantal generieke katten, en vervolgens kunnen we ze met de hand specifiek maken, door ze in te kleuren en aan te passen.
Bekijk de parallel met objecten en klassen in de cursus "programming concepts"
Extra materiaal
- filmpje over abstractie en patroonherkkenning door Curriki - veel voorbeelden
Oefening
1a
Worden volgende Engelse woorden voorafgegaan door een "a" of een "an"?
- I see __ elephant.
- She ate __ apple.
- He read __ book.
- I bought __ ice cream cone.
- Michelle bought __ dog.
- We saw __ movie
Kan je, gebaseerd op de antwoorden die je hierboven hebt gegeven een patroon herkennen ? Hoe ziet dat patroon eruit ? En als je het vertaalt naar een algoritme ?
1b
Wanneer je het algoritme dat je net hebt gemaakt toepast op volgende voorbeelden, levert het dan de correcte antwoorden op?
- The teacher tells __ story.
- The dog chases __ cat.
- He eats __ orange
- I waited for __ hour.
- She is carrying __ umbrella.
- I saw a picture of __ unicorn.
Hoe kan je je algoritme verbeteren of preciezer maken ?