100% tevredenheidsgarantie Direct beschikbaar na betaling Zowel online als in PDF Je zit nergens aan vast
logo-home
Samenvatting Hoorcolleges (1) CODE €3,49   In winkelwagen

Samenvatting

Samenvatting Hoorcolleges (1) CODE

1 beoordeling
 89 keer bekeken  3 keer verkocht

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

Voorbeeld 4 van de 50  pagina's

  • 20 april 2020
  • 50
  • 2019/2020
  • Samenvatting
Alle documenten voor dit vak (6)

1  beoordeling

review-writer-avatar

Door: larsvissers • 3 jaar geleden

avatar-seller
roosvanvilsteren
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.

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 roosvanvilsteren. Stuvia faciliteert de betaling aan de verkoper.

Zit ik meteen vast aan een abonnement?

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

Is Stuvia te vertrouwen?

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

Afgelopen 30 dagen zijn er 82013 samenvattingen verkocht

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

Start met verkopen
€3,49  3x  verkocht
  • (1)
  Kopen