Science, Technology, Engineering And Mathematics
All documents for this subject (12)
Seller
Follow
suzannakamerman
Reviews received
Content preview
STEM
H1: What is computational thinking?
Is er een uitvinding geweest die de wereld meer verandert heeft als de computer? Het is een vraag
waardig om over na te denken: computers zijn overal en het niet hebben van een is een sterk nadeel.
1.1 Computers, computers everywhere
Computers zijn in bijna elk aspect van ons leven en we gebruiken ze ook overal en nergens voor. Zelfs
de snelst groeiende criminaliteit is computer gerelateerd. Het punt is dat we niet echt een keuze
hebben over de invloed van de computer op ons leven, de vraag is vooral hoe we ermee omgaan.
1.2 Computer, computer science, and computational thinking
In dit boek gebruiken we de termen ‘computer’ of ‘computer system’ om te refereren naar een
verzameling van computer hardware en software. Computer hardware bevat alle fysieke apparaten
die gezamenlijk het bureaublad (desktop) of laptop vormen. Dit zou geen nut hebben zonder de
software van de computer: dit refereert naar een groep van computer programma’s. Hetgeen wat
een computer onderscheid van andere apparaten is dat het kan reageren op instructies, deze
instructies om een taak uit te voeren heet een program (programma). Je kunt software of een
programma ook een code noemen. Deze programma’s kunnen alles doen vanaf het regelen van je
bankaccount tot het weergeven van je boek. Om een app te gebruiken hoef je hem alleen maar te
downloaden. Programma’s worden vaak ook een application (applicatie) genoemd, omdat het met
die term erkent dat een programma alleen een manier is om de computer hardware toe te passen op
een specifiek doel. De mensen die deze programma’s creëren zijn programmers (programmeurs) of
software developer (software ontwerper) en ze lossen met hun programma’s problemen op.
De studie van computer science omvat alle problemen rondom computers van hardware tot
software, de fundamentele theorieën en de technologie die bij de gebruiker terechtkomt. Binnen het
vakgebied zijn ook weer sub gebieden te vinden die allen hun eigen focuspunt hebben.
Dit boek gaat over computational thinking: de beste manier om dit te beschrijven is de manier hoe
computer wetenschappers denken, de wijze waarop ze redeneren. We gaan in op de meest
bruikbare concepten van de niet-wetenschapper om deze te helpen computers effectiever toe te
passen in zijn of haar eigen veld. Zonder computers zouden we namelijk vele ontdekkingen niet
gedaan hebben. Computers geven ons namelijk de mogelijkheid om dingen te bestuderen die eerst
te klein, te groot, de ver, te snel of gewoon te complex waren.
1.3 From abacus to machine
In de geschiedenis van de computer starten we met de
abacus (telraam), waarvan de oudste ooit gevonden
rondom de vijfde eeuw voor christus is gemaakt. Er zijn
verschillende variaties, maar we starten hier met de
‘Chinese abacus’ (zie plaatje hiernaast). De kralen onderin
het geheel hebben de waardes van rechts naar links 1, 10,
100 enzovoorts. Bovenin hebben de kralen ieder een
waarde van 5, 50, 500 enzovoorts. Alleen de kralen tegen de bar in het midden aangeduwd hebben
waarde. De moderne computers hebben vier concepten geleend van deze abacus:
1. Storage (opslagruimte) → hoewel de abacus maar 1 nummer kan opslaan, hebben beide de
computer en de abacus gemeen dat ze opslagruimte hebben. In de opslagruimte moet
natuurlijk ook iets opgeslagen worden: dit noemen we data.
1
, 2. Representation (vertegenwoordiging) → de kralen op de abacus representeren een
bepaalde waarde. De computer gebruikt verschillende technologieën om de informatie op te
slaan. Deze voornamelijk elektronische signalen kunnen vertaald worden naar de informatie
die de computer representeert.
3. Calculation (berekening) → zowel de computer als de abacus kunnen berekeningen
uitvoeren. De abacus heeft daarvoor de mens nodig en de computer hardware, de software.
4. User interface → de term user interface refereert naar de wijze waarop de mens
communiceert met de machine. Bij de abacus bestaat de interface uit het gebruik van vingers
en handen om de locatie van de kralen te veranderen. Op de computer gebruik je een
graphical user interface (GUI), omdat een groot gedeelte van de interactie bestaat uit het
gebruik van grafische tekeningen en symbolen.
Hoewel er dus wel overeenkomsten zijn met, noemen we de abacus nooit
een computer. Dit omdat de mogelijkheden van de abacus beperkt zijn en
het een ruwe interface heeft. De reden dat de abacus is gemaakt was om de
rekenmogelijkheden van de mens te verbeteren. John Napier maakte zo ook
de Napier’s bones (zie links) waarmee hij zelfs wortels kon berekenen. De
eerste mechanisme rekenmachines waren Pascaline gemaakt door Blaise
Pascal in 1643 en Leibniz’ calculator rond 1674 door Gottfried Leibniz. Beide
verbeterde de interface, doordat je nu kon draaien aan duimwielen. Ook
gingen berekeningen hierdoor sneller en konden de berekeningen langer zijn.
Niet alle apparaten werden gebruikt voor rekenkunde: de Antikythera mechanism uit de eerste
eeuw voor Christus werkte op tandwielen en werd waarschijnlijk gebruikt om de locatie van de zon,
maan en planeten accuraat te bepalen.
1.4 The first software
De apparaten beschreven in de vorige paragraaf waren niet programmable (programmeerbaar). Je
kon de positie van de kralen of wieltjes verzetten, maar je kon er geen andere berekeningen mee
uitvoeren als bedoeld. Een programmeerbaar apparaat kan losgemaakt worden van de hardware om
zo opgeslagen te worden voor hergebruik. Het programma instrueert het apparaat dus wat het moet
uitvoeren en verschillende apparaten creëren een ander resultaat.
De eerste programmeerbare machine is een weefgetouw om kleding mee te weven: Joseph-Marie
Jacquard bouwde rond 1805 de Jacquard loom. Het gebruikte papierenkaarten met gaten erin. De
gaten waren hierbij de code voor verschillende patronen. Door de kaarten te verwisselen kon je een
ander patroon maken. Rond 1843 kwam de eerste computer software door Charles Babbage: hij
maakte de Analytical Engine. Met het concept van de punched cards kon de Analytical Engine een
opvolging van verschillende wiskundige bewerkingen uitvoeren. Dit was echter zo ingewikkeld om te
maken dat Babbage in zijn hele leven nooit zijn eigen ontwerp in het echt heeft gezien. Een leuk
feitje: de vrouw Ada Lovelace was geïnteresseerd in het werk van Babbage en heeft daarom ook
programma’s voor de Analytical Engine gemaakt.
1.5 What makes it a modern computer?
Een van de breed geaccepteerde definities van de moderne computer vereisen drie eigenschappen
van dit rekenapparaat:
1. Het moet elektronisch zijn en niet volledig mechanisch.
2. Het moet digitaal zijn en niet analoog.
3. Het moet gebruik maken van het stored program concept (opgeslagen programma).
De Analytical Engine voldoet aan geen van deze drie, dus spoelen we de tijd door naar 1890 waar
Herman Hollerith een rekenmachine ontwierp. Hij liep op elektriciteit, dus kan hij als de eerste
rekenende hardware gerekend worden. Hij startte een bedrijf op die deze apparaten bouwde en in
2
,1924 veranderde dit in IBM Corporation wat vandaag de dag een van de grootste producenten in
computers is. Voor we naar de eerste moderne computer gaan willen we twee problemen
aanstippen: ten eerste moet een computer dus digitaal zijn. Tot 1930 werd alles analoog opgeslagen
door gebruik te maken van mechanische tandwielen of elektrische signalen. Hierbij werd de
informatie opgeslagen door de oneindige mogelijkheden en veranderingen met tandwielen. Een
digitaal systeem maakt hier geen gebruik van en richt zich voornamelijk op een paar keuzes. Neem
een klassiek horloge: door de nummers en de wijzers kun je alle mogelijke soorten tijd aangeven,
maar heb je een digitaal horloge kun je alleen maar kiezen tussen 09:30 en 09:31.
Elke moderne computer moet ten minste een van de vier volgende essentiële onderdelen bezitten:
1) Input device (invoerapparaat) → dit biedt een manier voor de data in de computer. In het
eenvoudige voorbeeld van een scherm, toetsenbord en desktop is de input device het
toetsenbord. In het geval van een tablet is het onder andere liquid crystal display (LCD).
2) Output device (uitvoerapparaat) → dit biedt een manier voor de computer om de
bevindingen en informatie te delen met de gebruiker. De meest gebruikelijke is een scherm,
maar ook speakers en printers vallen hieronder.
3) Memory (geheugen) → de input moet vervolgens worden opgeslagen in het element bekend
als geheugen. Deze geheugenchips falen bijna nooit in tegenstelling tot het menselijke brein.
4) Processor (verwerker) → om iets met de voorgaande onderdelen te kunnen moet de
computer de informatie verwerken. Dit is niet meer beperkt tot een paar berekeningen, want
hedendaagse computers kunnen triljoenen operaties per seconde verwerken.
De input device en de output device zijn samen de hardware van de computer. Sommige apparaten
zijn zo ontworpen dat ze beide functies ondersteunen. Denk hierbij aan een DVD waarbij je er
informatie vanaf kunt kijken, maar ook erop kunt zetten. De term I/O refereert hierbij naar het feit
dat het voor beide te gebruiken is. Het geheugen en de processor zijn beide veel minder zichtbaar als
de I/O apparaten. Om terug te vallen op het eenvoudige voorbeeld met de drie onderdelen: zowel
geheugen als processor zitten beide in de desktop verwerkt. Het feit dat ze minder zichtbaar zijn is
ook een voordeel: doordat het klein is kunnen ze ook in de I/O apparaten verwerkt worden.
Hoe krijgt de processor instructies over de uit te voeren berekeningen? Oftewel; hoe werken
hardware en software samen? Het antwoord is dat de computer processor antwoord op bepaalde
instructies bekend als machine instructions. Verschillende processoren reageren op verschillende
instructies net zoals wij mensen verschillende talen kennen.
Input devices kunnen de instructies naar de computer transporteren. Dit kan via het toetsenbord als
de gebruiker de instructies kent, maar de software kan ook gedownload worden. Het programma is
niet beschikbaar voor de processor totdat het programma in het geheugen staat. Dit is bekend als
het stored program concept – het derde en laatste concept van de computer. Het punt van het
geheugen is namelijk dat het zowel de data als de instructies om die data te verwerken opslaat. Het
stored program concept vereist ook dat de computer de instructies van het geheugen naar de
processor kan verplaatsen om zo de instructies ook daadwerkelijk uit te voeren. Gewoonlijk wordt
het terughalen van de informatie uit het geheugen geregeld door de processor zelf.
1.6 The first modern computer
In de vorige paragraaf hebben we vastgesteld dat een moderne computer (1) elektronisch is, (2)
digitaal is en (3) gebruik maakt van het stored program concept. Nu gaan we onderzoeken waarom
het niet zo makkelijk is om te bepalen welke uitvinding in aanmerking komt voor de eerste computer.
De transitie van mechanische rekenmachines naar de moderne computer vond voornamelijk plaats
door de machines bekend als differential analyzers die differentiaalvergelijkingen konden oplossen.
Dit is wanneer twee factoren in de wiskunde van elkaar afhangen (dus de hoeveelheid water wat
door de rivier stroomt is afhankelijk van de grootte van de rivier). In 1912 was er een analysator die
deels werkte door elektriciteit en in 1931 kwam er een artikel uit waarbij er een analysator werd
3
, beschreven die grotendeels elektronisch werkte. Toch vallen deze allen niet onder een moderne
computer, omdat de elektriciteit afhankelijk was van analoge circuits.
Geïnspireerd door de analysatoren, maakten in 1946 John Mauchly en Peter Eckert de ENIAC
(Electronic Numerical Integrator and Computer). In 1947 werd er patent op gevraagd en ging deze
door als de eerste computer. De ENIAC voldoet aan de criteria van de moderne computer: het is
digitaal, elektrisch en later kwam het stored program concept er ook in. De ENIAC vulde een
volledige ruimte en werkte op 19.000 vacuümbuizen (geheugenapparaat) en 1000 grote relays
(elektrische schakelaars). Toch was dit niet de eerste computer, omdat in 1973 het patent ongeldig
werd verklaart. Dit kwam vooral omdat er werd ontdekt dat vroeger werk nog geen volledig patent
had gekregen. In 1937 hadden John Atanasoff en Chuck Berry de ABC Computer gemaakt waar Des
Moines Register (krant) een artikel over had geplaatst in 1941. Ook werd ontdekt dat de beide
ontwerpers in 1940 langs waren geweest bij een US Patent Office. Toch mag de ABC Computer niet
de eerste computer genoemd worden, omdat het de stored program concept mistte en het alleen
maar ontworpen was om lineaire vergelijkingen op te lossen. Om drie redenen was hij wel belangrijk:
1) Het was de eerste volledig elektronische en programmeerbare rekenmachine.
2) Het was de eerste die een elektronische geheugen bevatte.
3) Het was de eerste die binaire nummers gebruikte.
Een andere opvatting is dat Konrad Zuse in 1945 de eerste computer bouwde: de Z4. Het was in ieder
geval de eerste commerciële computer, maar ook deze miste het stored program concept. Zuse is
ook bekend als de maker van de programmeertaal.
De titel ‘eerste moderne computer’ behoord misschien wel tot de Manchester Small-Scale
Experimental Machine, ook wel bekend als Baby of SSEM, gebouwd in Juni 1948. Hij was de eerste
die ook het stored program concept gebruikte, eerder als de ENIAC later dat jaar in september.
Met al die nieuwe en ingewikkeldere systemen werd het gebruik van de cryptische computertaal
inefficiënt en vermoeiend, wat leidde tot de uitvinding van high-level programming languages. Dit
zijn programmeertalen die meer lijken op het Engels en minder op een geheimcode.
1.7 Moore’s law
Tussen 1950 en 1960 waren verschillende natuurkundigen, waaronder Jack Kilby en Robert Noyce,
bezig met technologie die de vacuümbuizen en de relays konden vervangen. Het idee was om op de
silicon wafers (dunne plak van siliconen) elektrische switches, nu bekend als transistors, aan te
brengen zodat ze gecombineerd kunnen worden tot één chip. Deze devices heten integrated circuits
en de technologie die ervoor zorgt dat de siliconen zo functioneren heet semiconductor technology.
Robert Noyce was samen met Gordon Moore een van de grootste fabrikanten van computer
processoren. De integrated circuits maken het mogelijk om ontzettend snelle computers mee te
dragen in een tas. Moore bestudeerde de ontwikkeling en in publiceerde in 1965 een artikel waarin
hij voorspelde dat het aantal componenten in een chip verdubbelde in elke 18 maanden. Dit werd
bekend als de Moore’s law en is wonderlijk accuraat gebleken. Deze groei is voor wiskundigen
bekend als de exponential growth (exponentiële groei). Een belangrijk bijkomend voordeel is van de
Moore’s law is dat de componenten steeds dichter op elkaar zitten, waardoor de elektriciteit minder
ver hoeft te reizen, wat de circuits weer sneller maakt. In de laatste 15 jaar is de snelheid en
capaciteit zo 1000 keer verbeterd.
1.8 Summary
Het denken van computerwetenschappers wordt vaak gedicteerd door de technologieën die zij
gebruiken. In dit hoofdstuk wordt ingegaan op de basisuitvindingen die hebben geleid tot de
computerhardware en -software die tegenwoordig in gebruik zijn. De computers hebben de
afgelopen 50 jaar de eigenschap gekregen dat ze nog meer problemen kunnen oplossen. Deze
toename is een rechtstreeks gevolg van de wet van Moore.
4
The benefits of buying summaries with Stuvia:
Guaranteed quality through customer reviews
Stuvia customers have reviewed more than 700,000 summaries. This how you know that you are buying the best documents.
Quick and easy check-out
You can quickly pay through credit card or Stuvia-credit for the summaries. There is no membership needed.
Focus on what matters
Your fellow students write the study notes themselves, which is why the documents are always reliable and up-to-date. This ensures you quickly get to the core!
Frequently asked questions
What do I get when I buy this document?
You get a PDF, available immediately after your purchase. The purchased document is accessible anytime, anywhere and indefinitely through your profile.
Satisfaction guarantee: how does it work?
Our satisfaction guarantee ensures that you always find a study document that suits you well. You fill out a form, and our customer service team takes care of the rest.
Who am I buying these notes from?
Stuvia is a marketplace, so you are not buying this document from us, but from seller suzannakamerman. Stuvia facilitates payment to the seller.
Will I be stuck with a subscription?
No, you only buy these notes for $5.89. You're not tied to anything after your purchase.