Voorwoord

Waar dit vak naartoe werkt

De eindterm voor informatica-wetenschappen luidt kortweg:

Je programmeert zelf ontworpen oplossingen voor concrete problemen.

Dit vak behandelt de doelen in het leerplan in drie leereenheden.

Leereenheid 1 gaat over Python, een moderne en veelzijdige programmeertaal die al jaren bij de top drie van meest gebruikte talen hoort.

Leereenheid 2 gaat over datastructuren en algoritmen. Voor eenzelfde probleem bestaan er doorgaans verschillende oplossingen. Het volstaat niet dat je oplossing werkt. Ze hoort ook computationeel efficiënt te zijn en weinig geheugen in te nemen.

Leereenheid 3 gaat over numerieke methoden. Waar een exacte oplossing niet mogelijk is, benadert een numerieke methode het antwoord. Bij zo’n benadering hoor je een inschatting te maken van de afwijking.

Daarnaast staat er onder Extra een reeks over hoe een computer met getallen omgaat. Die hoort niet bij de leerstof en komt niet op een toets of examen.

Hoe een lespagina eruitziet

Een vetgedrukt woord is een vakspecifiek begrip. Het komt onderaan de pagina terug bij de begrippen, soms met een gangbare Engelse term erbij. Cursief is voor nadruk en jargon. code in de tekst staat in het paars. \(\text{wiskunde}\) staat in een ander lettertype.

Leerdoelen staan bovenaan. Deze worden gevolgd door genummerde secties met één idee elk, een conclusie en een begrippenlijst. Onderaan staan steeds enkele oefeningen.

OpmerkingLeerdoelen

Dit zijn leerdoelen.

BelangrijkBelangrijk

Dit is een belangrijk idee.

WaarschuwingOpgelet

Dit is een veelgemaakte fout.

Een antwoord is ingeklapt en open je door er op te klikken.

Dit is een antwoord.

Twee soorten kaders duiden geen leerstof aan: terzijde-blokken en verdieping-blokken.

Dit is een terzijde (een voorbeeld, bedenking…).

Een verdieping moet je eveneens openklappen.

Dit is een verdieping van de leerstof of een uitdagende oefening.

De code op deze site

Deze site bevat interactieve cellen om gaandeweg te experimenteren met de code. Voor oefeningen die moeten worden opgeslagen, gebruiken we een Linux virtuele machine.

Onderstaande cel is om te lezen.

Onderstaande cellen kan je aanpassen en uitvoeren met Run Code. Start Over zet de cellen terug naar wat er eerst stond.

Een codecel toont (print) automatisch de waarde van haar laatste uitdrukking. Dat is een bewuste ontwerpkeuze. Je rekent in een codecel namelijk meestal iets uit. Onderstaande cellen tonen dus hetzelfde, ook al staat er maar één print. Je mag de print op de laatste regel weglaten.

Bij oefencellen staan er nog twee knoppen. Klik je Show Hint aan, dan verschijnt er een hint en verandert de knop in Show Solution. Klik je een tweede keer, dan verschijnt een (mogelijke) uitwerking.

Welk getal maal \(4\) geeft \(20\)?

Over AI

Een taalmodel zoals ChatGPT schrijft de code uit deze lessen moeiteloos en sneller dan de beste programmeur. Net zoals assemblers en compilers, die broncode omzetten in machinetaal, vergemakkelijken en versnellen taalmodellen het ontwikkelen van software.

Een compiler doet exact wat je geprogrammeerd hebt, een taalmodel doet ongeveer wat je bedoelde. Kan je enkel informele vragen stellen, dan moet je de resultaten nemen voor wat ze zijn, en ben je afhankelijk van een dienstverlener (bijvoorbeeld een softwareproducent). Weet je wat er precies moet gebeuren en begrijp je de broncode, dan kan je nagaan of het resultaat aan je vereisten voldoet en het aanpassen naar wens. Dat zijn de kenmerken van een goede ontwerper.

De oefeningen op deze site staan er om na te gaan of je iets zelf kan, en een oplossing die je niet zelf bedacht hebt, zegt daar niets over. Gebruik gerust een model nadat je het zelf geprobeerd hebt, om je oplossing te vergelijken of om iets uitgelegd te krijgen.