100% satisfaction guarantee Immediately available after payment Both online and in PDF No strings attached 4.2 TrustPilot
logo-home
Summary

Summary Computational Thinking (INFOCODE)

Rating
-
Sold
1
Pages
22
Uploaded on
27-05-2021
Written in
2019/2020

Both for the midterm and for the final full fabric of all slides of CODE - a course called computational thinking. Theory and history behind programming in Python

Institution
Course










Whoops! We can’t load your doc right now. Try again or contact support.

Written for

Institution
Study
Course

Document information

Uploaded on
May 27, 2021
Number of pages
22
Written in
2019/2020
Type
Summary

Subjects

Content preview

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
$8.98
Get access to the full document:

100% satisfaction guarantee
Immediately available after payment
Both online and in PDF
No strings attached


Also available in package deal

Get to know the seller

Seller avatar
Reputation scores are based on the amount of documents a seller has sold for a fee and the reviews they have received for those documents. There are three levels: Bronze, Silver and Gold. The better the reputation, the more your can rely on the quality of the sellers work.
IsabelleU Universiteit Utrecht
Follow You need to be logged in order to follow users or courses
Sold
133
Member since
4 year
Number of followers
86
Documents
34
Last sold
1 month ago

3.8

4 reviews

5
2
4
0
3
1
2
1
1
0

Recently viewed by you

Why students choose Stuvia

Created by fellow students, verified by reviews

Quality you can trust: written by students who passed their tests and reviewed by others who've used these notes.

Didn't get what you expected? Choose another document

No worries! You can instantly pick a different document that better fits what you're looking for.

Pay as you like, start learning right away

No subscription, no commitments. Pay the way you're used to via credit card and download your PDF document instantly.

Student with book image

“Bought, downloaded, and aced it. It really can be that simple.”

Alisha Student

Frequently asked questions