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

Samenvatting Hoorcolleges (1) CODE

Beoordeling
3,0
(1)
Verkocht
3
Pagina's
50
Geüpload op
20-04-2020
Geschreven in
2019/2020

Aantekeningen van hoorcollege 1 t/m 10 van CODE voor de midterm.

Voorbeeld van de inhoud

Hoorcollege 1 – Introductiecollege
Computationeel denken = problemen zo formuleren dat ze door een computer kunnen
worden opgelost.
- Decomposition
- Abstraction
- Pattern recognition
- Algorithms
- Evaluation – checken of oplossing klopt

Het begrip gaat terug op werk Seymour Papert (1980)
Jeanete Wing (2006) computationeel denken in Amerikaans onderwijs (K12).
- Problem solving skills staan centraal en wordt toegepast in programmeren.

Computational thinking is the mental skills and practices for
- Designing computations that get computers to do jobs for us and,
- Explaining and interpreting the world as a complex of information processes.
(Denning & Tedre 2019)

Computationeel denken wordt gevormd door de context.
Computationeel denken is hier ontwerpen en begrijpen van ICT in relatie tot mens,
organisaties en maatschappij.

Thema: information retrieval = ontwerpen van zoektechnologie.

Deel 2 – Achtergrond Python
Vanaf 1980: de programmeertaal ABC
- Ontwikkeld op CWI in A’dam
Bedoeld als educatieve programmeertaal
- Simpel
- Interactief
- Compact
- High-level

Beperkingen van ABC
- Onmogelijk om met randapparatuur te communiceren.
- Geen grafische output
- Beperkte functionaliteit
Ontwikkelaar van ABC = Guido van Rossum

Python – verbeterde versie ABC – 1991.
- Gebaseerd op ABC, Pascal en C.
o ABC is ontwikkeld als verbetering van BASIC en Pascal.
Van Rossum  doorontwikkeld tot 2018.

Ontwikkeling
- Veel nieuwe functionaliteit sinds 1991
- Fundamentele design-keuzes

, - Verschillen tussen Python 2 en Python 3

Design-keuzes
- Leesbaarheid
o Engels i.p.v. leestekens
Scripting-taal
- Meteen beginnen met taken
- Niet compileren
- Python is wel gecompileerd, maar dit is niet zichtbaar voor de gebruiker
- Design-filosofie: leesbare code en eenvoudig te gebruiken

Benadering van programmeertalen
- Declaratief – voer kennis in over het domein en laat de computer met een algemene
oplossingsstrategie de taak uitvoeren.
o Logisch – beschouwt een programma als een verzameling feiten en regels.
 Je kunt de computer vragen stellen.
 Focus op wat, niet op hoe.
 Niet altijd handig om te programmeren.
o Functioneel - programma is verzameling wiskundige functies die gegeven een
bepaalde input altijd dezelfde output geven.
 Handig voor automatische programma-analyse.
 Niet altijd handig om te programmeren.
- Imperatief/Procedureel - 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.
o  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 (assembly).
- Low-level code wordt omgezet in stroom voor de processor.
o 0 is laag voltage, 1 is hoog voltage.
- Het resultaat van de verwerking in de elektronica is een voltage.
- Dit wordt terugvertaal naar 0 en 1.
- 0 en 1 wordt terugvertaald naar het resultaat voor de gebruiker.

Grammatica – wat hoort wel/niet bij de taal. Wordt gebruikt om te vertalen naar low-level
code. Grammatica analyseert elke regel programmacode.
Python bevat regels voor het omzetten.

Elektronica
- Processor bestaat uit transistoren.
o Gemaakt van halfgeleiders zoals silicium
o Een halfgeleider wordt op 3 punten aangesloten.
o De geleiding tussen 2 punten hangt af van de stroom op het derde punt.
- Hiermee kunnen logische poorten (AND/OR) gemaakt worden.

,Hoorcollege 2 – Basis Python-syntax
Variabelen = een van belangrijkste programmeerconcepten.
 naam voor bepaalde data in de code.

Computationeel denken = code is een abstractie van een probleem. Variabelen zijn daar
cruciaal voor. Als je een abstractie maakt ben je vaak bezig met een algoritme opstellen:
Algoritme = stappen om een taak uit te voeren.
- Dezelfde taak in verschillende situaties
- Abstracte taak
- Hiervoor zijn variabelen nodig

Variabelen in Python
 naam – waarde
Bijv. a = 3
Beter: naam met duidelijke betekenis  aantal = 3. (a heeft geen betekenis).
Geen declaraties, geen datatype. Python reserveert/verwijst naar een geheugenadres.

Niet elke naam voor een variabele is toegestaan. Variabelen bestaan uit letter, cijfers en _
Het eerste karakter moet een letter of _ zijn. Variabelen zijn hoofdlettergevoelig.
Keywords uit de taal zijn niet toegestaan als variabele naam (if, import, or etc.).
 wel toegestaan maar niet handig: print, input, exit.
 accenten, speciale tekens en ander alfabet mag ook (Arabisch), niet handig.

Python = imperatieve programmeertaal.
- Volgorde is essentieel voor het uitvoeren van het programma.
- Soms maakt volgorde niet uit
- Functies moeten worden uitgevoerd voordat het resultaat gebruikt kan worden.

Datatypes
- Variabelen in Python hebben een type.
- Hoef je er zelf niet bij te zetten, maar het bestaat wel.
- Type = afhankelijk van waarde van de variabele.
o String = “dit is tekst”
o Int: hele getallen
o Float: kommagetallen (2.34)
o Bool: true/false
o Etc.

Gebruik van types
- Soms zijn types belangrijk voor de gebruiker.
o Delen kan bij int en float, niet bij string en bool.
o Lengte berekenen: alleen string
o Waarheidswaarde: alleen bool.
- Andere operaties zijn verschillend gedefinieerd
o Optellen voor ints: wiskundig.
o Optellen string: achter elkaar zetten.
- Gebruiker doet dit meestal vanzelf goed.

, - Code die de lengte van een bool opvraagt komt weinig voor.

Type-conversie
- Soms handmatige conversie nodig
o Combineren van strings en ints in een variabele.
o Locatie = “lokaal” + 23  dit mag niet.
- Conversie-functies: int( ), str ( ), float ( ), bool ( ).
o Int(drieentwintig)  wordt 23.
- Type opvragen met type ( )
o Print (type (1))
- Let op dat conversie niet altijd mogelijk is.

Rekenoperatoren
- Standaard operatoren (optrekken, aftrekken, vermenigvuldigen, delen).
o Modulus (%)
 Wat blijft over als na delen.
o Exponent (**)
 Macht.
o Floor division (//)
 Delen zonder rest (rest wordt weggelaten).
- Je gebruikt operatoren in situaties waar je een getal kan gebruiken.

Haakjes: gebruiken waar nodig.
Prioriteit
1) **
2) *, /, //, %
3) +, -

Getalrepresentatie
- Kommagetallen: twee mogelijkheden
o 1) Fixed point notation: vast aantal bits voor integer-deel en decimaal deel.
Eigenlijk twee losse getallen
 Nadeel: geheugen voor integer-deel is beperkt terwijl decimaal deel
niet gebruikt wordt.
 Het totaal aantal bits voor een getal kan tussendoor niet worden
aangepast.
o 2) Floating point: verschuivende grens tussen integer-deel en decimaal deel.
 Meer bits nodig voor integer-deel: punt schuift op.
 Totaal aantal bits blijft gelijk.

Ints en floats combineren wordt altijd float.
Delen wordt altijd float, ook bij twee ints.
Exponent, modulus wordt float als een van beide getallen float is, anders int.
Integer delen wordt float als een van beide getallen float is.

Precisie van floats:
- Intern: decimalen opgeslagen als breuken in veelvouden van 2.

Documentinformatie

Geüpload op
20 april 2020
Aantal pagina's
50
Geschreven in
2019/2020
Type
SAMENVATTING

Beoordelingen van geverifieerde kopers

Alle reviews worden weergegeven
5 jaar geleden

3,0

1 beoordelingen

5
0
4
0
3
1
2
0
1
0
Betrouwbare reviews op Stuvia

Alle beoordelingen zijn geschreven door echte Stuvia-gebruikers na geverifieerde aankopen.

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.
roosvanvilsteren Universiteit Utrecht
Bekijk profiel
Volgen Je moet ingelogd zijn om studenten of vakken te kunnen volgen
Verkocht
58
Lid sinds
8 jaar
Aantal volgers
40
Documenten
33
Laatst verkocht
2 jaar geleden

2,9

9 beoordelingen

5
1
4
1
3
5
2
0
1
2

Populaire documenten

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