100% tevredenheidsgarantie Direct beschikbaar na betaling Zowel online als in PDF Je zit nergens aan vast
logo-home
Samenvatting Computationeel Denken (INFOCODE) €7,49
In winkelwagen

Samenvatting

Samenvatting Computationeel Denken (INFOCODE)

 62 keer bekeken  1 keer verkocht

Zowel voor de midterm als voor de final volledige stof van alle slides van CODE

Voorbeeld 3 van de 22  pagina's

  • 27 mei 2021
  • 22
  • 2019/2020
  • Samenvatting
Alle documenten voor dit vak (6)
avatar-seller
IsabelleU
SV Computationeel denken midterm
Isabelle van Aard

College 1 – Introductie

Computationeel denken: problemen zo formuleren dat ze door een computer kunnen worden
opgelost (sommige definities zijn te beperkend: “think like a
computer (scientist)”)

Afbeelding: aantal belangrijke aspecten van computationeel denken;
niet volledig: mist bv evaluatie.

Computationeel denken gaat terug op werk Seymour Papert (1980)
‘collaboration of computers and children’; leren door doen

Jeanette Wing (2006) computationeel denken in het Amerikaanse
onderwijs; problem solving skills staan centraal en worden toegepast
in programmeren

➢ Computational thinking is the mental skills and practices for
o designing computations that get computers to do jobs for us, and
o explaining and interpreting the world as a complex of information processes
➢ gebaseerd op eerdere definities, maar (erg) hoog-niveau
o designing komt overeen met omschrijvingen tot nu toe
o explaining and interpreting the world →heel ambitieus en veelomvattend..
➢ CODE gevormd door context; Computationeel denken in inku is ontwerpen en begrijpen van
ICT in relatie tot mens, organisaties en maatschappij

Information Retrieval (IR) houdt zich bezig
met het ontwerpen van zoektechnologie

- als ergens mensen en machines bij
elkaar komen is het hier
- zoektechnologie heeft de wereld
veranderd → Google (alles te
vinden) Spotify (playlist), etc.




College 2 – Achtergrond Python

Vanaf ∼1980: de programmeertaal ABC:

• Ontwikkeld op het CWI in Amsterdam
• Bedoeld als educatieve programmeertaal; Simpel, interactief, Compact, High-level
• Beperkingen van ABC
o Geen communicatie met randapparatuur (printer, muis, geluid)
o Geen grafische output, geen toegang tot bestanden
o Beperkte functionaliteit: te simpel, compact, high-level




1

, • Ontwikkelaar ABC: Guido van Rossum → Nieuwe taal: Python.
• Verbeterde, uitgebreidere versie van ABC (Onderdelen van Pascal en C) Eerste versie in 199
• Van Rossum heeft Python doorontwikkeld tot 2018
o Naam: Monty Python
• ABC zelf is ontwikkeld als verbetering van BASIC en Pascal
• Python heeft invloed gehad op Ruby (mid-jaren ’90)
• Stamboom van programmeertalen (vergelijkbaar met de stamboom van menselijke talen)



Ontwikkeling

• Veel nieuwe functionaliteit sinds 1991
o Omgaan met strings en Unicode Rekenen: hoeveel is 7/2? (antw nieuwere versies: 3,5)
• Fundamentele design-keuzes
o Verschillende manieren om hetzelfde te doen
o Gebruik van functioneel programmeren
• Verschillen Python 2 en Python 3
o Python 2: 2000 tot nu, end-of-life 2020
o Python 3: 2008 tot nu
o Onderling niet compatible
o Beide versies bestaan al ruim 10 jaar naast elkaar
o Erg onhandig voor programmeurs



• Leesbaarheid → Vanuit ABC: Engels in plaats van leestekens; Python is erg leesbaar.
• Scripting-taal: meteen beginnen met de taak
o Niet compileren
o Of: interactieve interpreter (Vanuit ABC)
• Python is wel gecompileerd, maar dit is niet zichtbaar voor de gebruiker
• Design-filosofie: leesbare code en eenvoudig te gebruiken



Twee verschillende manieren van programmeren:

1. Declaratief: voer kennis in over het domein en laat de computer met een algemene
oplossingsstrategie de taak uitvoeren (verdeeld in logisch programmeren en functioneel
programmeren)
i. Functioneel programmeren beschouwt een programma als een verzameling
wiskundige functies die gegeven een bepaalde input altijd dezelfde output geven
Geen side effects zoals nieuwe waardes voor variabelen. Erg handig voor
automatische programma-analyse, zoals bewijzen dat een programma correct is.
Niet altijd handig om te programmeren
ii. Logisch programmeren beschouwt een programma als een verzameling feiten en
regels Feit: het regent. Regel: als het regent word je nat. Conclusie: je wordt nat.
Je kunt het programma een vraag stellen (regent het? of: word je nat? ) en de
computer berekent het antwoord automatisch, gegeven de feiten en regels.
Principe: focus op wat, niet op hoe.
Niet altijd handig om te programmeren

2

, 2. Imperatief/ Procedureel: vertel de computer stap voor stap wat het programma moet doen:
i. Vertel de computer stap voor stap wat het programma moet doen.Veel code
schrijven Vaak eenvoudiger te bedenken dan bij declaratief programmeren.
Minder restrictief paradigma. Bijna alle belangrijke programmeertalen zijn
imperatief Java, JavaScript, C++, C#, PHP, Python → Python heeft ook elementen uit
functioneel programmeren.



➢ Python is een high-level programmeertaal; Ontworpen om leesbaar te zijn voor mensen
➢ De code moet vertaald worden naar low-level code
➢ Low-level code wordt omgezet naar binaire code (0 en 1)
➢ Binaire code wordt omgezet in stroom voor de processor
o 0 is laag voltage (geen stroom), 1 is hoog voltage (wel stroom)
➢ Het resultaat van de verwerking in de electronica is een voltage
➢ Dit wordt terugvertaald naar 0 en 1 → 0 en 1 wordt terugvertaald naar het resultaat voor de
gebruiker
o uitvoer op het scherm, aansturen wifi, geluid…
➢ Het vertalen naar low-level code gebeurt met een grammatica
➢ De grammatica analyseert elke regel programmacode
➢ bv: een rekenexpressie bestaat uit twee getalexpressies en een
operator een getal is 0..9, een operator is + of - of > of ... Python
bevat regels voor het omzetten operator + met twee
getalexpressies wordt omgezet in twee low-level LOAD-instructies
en een ADD-instructie.
➢ Python naar assembly
➢ Low-level code (assembly) wordt omgezet in binary
➢ Binary naar voltages



• Een processor bestaat uit miljoenen transistors
• Transistors zijn gemaakt van halfgeleiders (semiconductors) zoals silicium
(silicon)
• Een halfgeleider wordt op drie punten aangesloten
• De geleiding tussen twee punten hangt af van de stroom op het derde punt
• Hiermee kunnen logische poorten worden gemaakt zoals AND en OR waarmee
berekeningen worden gedaan




3

Voordelen van het kopen van samenvattingen bij Stuvia op een rij:

Verzekerd van kwaliteit door reviews

Verzekerd van kwaliteit door reviews

Stuvia-klanten hebben meer dan 700.000 samenvattingen beoordeeld. Zo weet je zeker dat je de beste documenten koopt!

Snel en makkelijk kopen

Snel en makkelijk kopen

Je betaalt supersnel en eenmalig met iDeal, creditcard of Stuvia-tegoed voor de samenvatting. Zonder lidmaatschap.

Focus op de essentie

Focus op de essentie

Samenvattingen worden geschreven voor en door anderen. Daarom zijn de samenvattingen altijd betrouwbaar en actueel. Zo kom je snel tot de kern!

Veelgestelde vragen

Wat krijg ik als ik dit document koop?

Je krijgt een PDF, die direct beschikbaar is na je aankoop. Het gekochte document is altijd, overal en oneindig toegankelijk via je profiel.

Tevredenheidsgarantie: hoe werkt dat?

Onze tevredenheidsgarantie zorgt ervoor dat je altijd een studiedocument vindt dat goed bij je past. Je vult een formulier in en onze klantenservice regelt de rest.

Van wie koop ik deze samenvatting?

Stuvia is een marktplaats, je koop dit document dus niet van ons, maar van verkoper IsabelleU. Stuvia faciliteert de betaling aan de verkoper.

Zit ik meteen vast aan een abonnement?

Nee, je koopt alleen deze samenvatting voor €7,49. Je zit daarna nergens aan vast.

Is Stuvia te vertrouwen?

4,6 sterren op Google & Trustpilot (+1000 reviews)

Afgelopen 30 dagen zijn er 51292 samenvattingen verkocht

Opgericht in 2010, al 15 jaar dé plek om samenvattingen te kopen

Start met verkopen
€7,49  1x  verkocht
  • (0)
In winkelwagen
Toegevoegd