100% tevredenheidsgarantie Direct beschikbaar na je betaling Lees online óf als PDF Geen vaste maandelijkse kosten 4.2 TrustPilot
logo-home
Samenvatting

Samenvatting Computationeel Denken (INFOCODE)

Beoordeling
-
Verkocht
1
Pagina's
22
Geüpload op
27-05-2021
Geschreven in
2019/2020

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











Oeps! We kunnen je document nu niet laden. Probeer het nog eens of neem contact op met support.

Documentinformatie

Geüpload op
27 mei 2021
Aantal pagina's
22
Geschreven in
2019/2020
Type
Samenvatting

Voorbeeld van de inhoud

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

Maak kennis met de verkoper

Seller avatar
De reputatie van een verkoper is gebaseerd op het aantal documenten dat iemand tegen betaling verkocht heeft en de beoordelingen die voor die items ontvangen zijn. Er zijn drie niveau’s te onderscheiden: brons, zilver en goud. Hoe beter de reputatie, hoe meer de kwaliteit van zijn of haar werk te vertrouwen is.
IsabelleU Universiteit Utrecht
Bekijk profiel
Volgen Je moet ingelogd zijn om studenten of vakken te kunnen volgen
Verkocht
133
Lid sinds
4 jaar
Aantal volgers
86
Documenten
34
Laatst verkocht
1 maand geleden

3,8

4 beoordelingen

5
2
4
0
3
1
2
1
1
0

Recent door jou bekeken

Waarom studenten kiezen voor Stuvia

Gemaakt door medestudenten, geverifieerd door reviews

Kwaliteit die je kunt vertrouwen: geschreven door studenten die slaagden en beoordeeld door anderen die dit document gebruikten.

Niet tevreden? Kies een ander document

Geen zorgen! Je kunt voor hetzelfde geld direct een ander document kiezen dat beter past bij wat je zoekt.

Betaal zoals je wilt, start meteen met leren

Geen abonnement, geen verplichtingen. Betaal zoals je gewend bent via iDeal of creditcard en download je PDF-document meteen.

Student with book image

“Gekocht, gedownload en geslaagd. Zo makkelijk kan het dus zijn.”

Alisha Student

Veelgestelde vragen