Informatica. 2 e semester: les 8. Software & binaire bomen. Jan Lemeire Informatica 2 e semester februari mei Parallel Systems: Introduction
|
|
- Jozef ten Wolde
- 6 jaren geleden
- Aantal bezoeken:
Transcriptie
1 Informatica 2 e semester: les 8 Software & binaire bomen Jan Lemeire Informatica 2 e semester februari mei 2016 Parallel Systems: Introduction
2 Leibniz droom De Calculus ratiocinator Een logisch denkend apparaat Om met de regels van de logica ondubbelzinnig te kunnen vaststellen of een statement waar of vals is Deductief systeem waarin alle regels afgeleid zijn van een kleine verzameling axiomas Leibniz was één van de eerste die begreep dat als je filosoferen, denken, redeneren, in formele regels kunt gieten, je dit ook door een apparaat kunt Informatica II: les 6 laten doen.
3 Vandaag 1. Theoretische informatica 2. Software 3. Android app, Java applets, Executable jars 4. Overzicht datastructuren 5. Binaire bomen
4 Waarmaken van Leibniz s droom (9) Artificiële intelligentie (8) Communicatie & internet (7) Operating system (6) Computatietheorie & Software (5) Efficiënt productieproces (4) Hardware architectuur Elektronica: (2) relais -schakeling, (3)geheugen (1) Digitaal & binair (0) Het idee Informatica deel III: technologie, historiek en economische aspecten
5 Hoofdstuk 6: Computatietheorie Jan Lemeire Pag. 5 / 83
6 George Boole Logica herleid tot Booleaanse algebra Boole zette een belangrijke stap met het ontwikkelen van een algebra voor het rekenen met statements over waar/onwaar. Informatica II: les 6
7 Gottlob Frege Beschrijft hoe wiskundigen en logici denken 1879: de universele taal van de logica 1903: brief van Betrand Russel die hem op een onvolledigheid wijst Extra-ordinaire verzameling = verzameling dat een element is van zijn eigen Vb: verzameling van alle dingen die geen spreeuw zijn Maar: de verzameling E van alle ordinaire verzamelingen En wat is E? Ordinair of extra-ordinair Eind 19e eeuw dacht men dat alle natuurwetten binnen handbereik waren (positivisme). Zo begreep men met de Maxwell-vergelijkingen electriciteit en magnetisme. De relativiteitstheorie van Einstein en de kwantummechanica maakte een einde aan dit optimism in de fysica. Maar ook in de logica bleek nietinformatica zo iets te bestaan II: les als 6 een mooie verzameling regels die niet tot contradicties leidt.
8 David Hilbert Wir mussen wissen; wir werden wissen We moeten weten; we zullen weten Elke logische of mathematische vraag is oplosbaar (en zal opgelost worden) Nodig: een expliciete procedure om vanuit premises na te gaan of een conclusie volgt of niet (Hilbert s beslissingsprobleem) Hilbert s beslissingsprobleem zou leiden tot een doorbraak in de theoretische informatica. Informatica II: les 6
9 Alan Turing Hilbert s procedure: algoritme! Als we een mechanische lijst van regels hebben om de oplossing van een mathematisch probleem op te lossen, zouden wiskundigen geen werk meer hebben Bestaat er zo n algoritme? Om tegendeel te bewijzen moest Turing een machine maken dat een algoritme kan uitvoeren Alan Turing wierp zich op Hilbert s probleem. Hij bedacht dat er hiervoor een algoritme gemaakt moest worden (die nagaat of een statement klopt of niet), en vervolgens een machine die het algoritme kan uitvoeren. De Turing Informatica II: les 6 machine werd geboren, een theoretisch model van een computer.
10 De Turing machine Data: oneindige lange tape voor het lezen of schrijven van 0/1/spatie Kan 1 vakje naar links of rechts bewogen worden Staat (toestand): een aantal binaire variabelen Gedragsregels: Staat Gelezen bit Nieuwe staat Te schrijven bit > < _ > 1 1 HALT Bewegen Deze machine is alleen maar van theoretisch nut. Ze is bijvoorbeeld niet Informatica II: les 6 gemakkelijk programmeerbaar.
11 Voorbeeld Applet van studenten ten/turing Machine.html 5-state B.B. : met input _11 stopt machine, voor andere inputs niet (gebruik underscore ipv 0!!) Java applet:
12 Oplossing van Hilbert s beslissingsprobleem? Met de machine nagaan of een logisch statement waar of vals is: Programma runnen Als de machine stopt is statement bewezen (waar). Halting problem (tegelijkertijd ontdekt door Alonzo Church en Alan Turing) Gegeven een Turing machine en programma, ga na of dit programma zal stoppen. Hier bestaat geen algoritme voor die dit kan nagaan Hilbert s beslissingsprobleem is onoplosbaar Het resultaat van Turing was weer een knak voor het optimisme van de wetenschap. Je kan niet van alles bewijzen of het waar of niet waar is. Hieruit onstond mede de moderne relativistische kijk op de wereld. De wetenschap kan niet alles oplossen/verklaren De VUB blijft echter geloven dat wetenschap veel kan oplossen. Scienta Vincere Tenebras! Informatica II: les 6
13 De universele computer Elke computatie kan er op uitgevoerd worden = Turing Machine Kan alles berekenen wat berekenbaar is rekenen ook om logisch te denken universeel Turing s resultaten blijken wel belangrijk voor de informatica. Misschien wel het belangrijkste resultaat van Turing is het idee van een universele computer. Eén computer (hardware) die alles kan berekenen wat maar te berekenen valt. Dit was revolutionair, omdat velen in die tijd niet konden geloven dat je met 1 machine totaal verschillende berekeningen kan doen. Alsof je met een Informatica II: les 6 wasmachine ook kan autorijden.
14 Misvattingen omtrent computers Howard Aiken, bouwde de eerste computer voor IBM in 1944 en zei in 1956: If it should turn out that the basic logics of a machine designed for the numerical solution of differential equations coincide with the logics of a machine intended to make bills for a department store, I would regards this as the most amazing coincidence I have ever encountered Studie van 1947: slechts zes elektronische digitale computers zullen voldoende zijn om al het rekenwerk van de gehele Verenigde Staten te kunnen doen."
15 Basisprincipe 1 universele computer kan elke andere computer simuleren Zo is je programma ook maar data die zegt wat de computer moet doen. Voor dat programma heb je geen aparte machine nodig, toch? Nogal logisch, niet? Dit kan je ook toepassen op programmeertalen: je wilt een taal waarmee je alle mogelijke algoritmes kan programmeren, een universele programmeertaal. Als je met 1 computer een andere kan simuleren (nabootsen), kan je alles doen wat die andere ook kan. Als die andere universeel is, is de jouwe ook universeel. Hiermee bewijs je de equivalentie van universele computers. En ook de compleetheid van programmeertalen. Java & Python zijn complete Informatica II: les 6 talen, je kan er alles mee programmeren wat je maar kan bedenken.
16 Computatietheorie: bewijzen dat een programma correct is Heel omslachtig! Enkel mogelijk voor eenvoudige algoritmes. Dus: ad-hoc testen noodzakelijk, zorgvuldig programmeren, goed opdelen, Anderzijds zijn er nog vele gaten in de theoretische informatica. Zo zou het toch handig zijn om te bewijzen dat je programma correct is. Dit blijkt heel omslachtig te zijn, zelfs voor simple programma s. Informatica blijft dan ook gedeeltelijk een praktische wetenschap. Maar wij ingenieurs malen daar toch Informatica II: les 6 niet om, he? Als het maar nuttig is, die computer.
17 Hoofdstuk 6: Software Jan Lemeire Pag. 17 / 83
18 Informatica II: les 8 software: weg met de kabeltjes
19 software Programmeertalen Een processor biedt een aantal instructies aan die hij begrijpt en kan uitvoeren. Deze instructies zijn binair en noemt men machinecode. Voor de leesbaarheid biedt assembler mnemonische afkortingen aan voor de binaire instructies, alsook Informatica variabelen II: en les labels 8 van codelijnen. De assembler zet alle afkortingen om naar binaire machinecode die dan uitgevoerd kunnen worden.
20 Voorbeeldprogramma (zie hfst 4) Scanner scanner = new Scanner(System.in); System.out.print("Geef een getal:"); int x = scanner.nextint(); int m = x; int t = 0; do { System.out.println(m); m = m * x; t++; } while (m < 1000 && t < 20);
21 In assembler (javacode vanaf lijn 3) lw $t0, $s0 # load word mv $t1, $t0 # move value mv $t2, 0 l1: sw $t0, $s1 # store word mul $t1, $t1, $t0 # multiply add $t2, $t2, 1 lt # addition $t3, $t1, 1000 # less than lt $t4, $t2, 20 # less than and $t5, $t3, $t4 # and beq $t5, 1, l1 # jump to l1 if equal Lezen van toetsenbord en schrijven naar scherm gebeurt door te lezen en schrijven naar geheugenadressen $s0 en $s1. Variabelen x, m en t staan in registers $t0, $t1 en $t2. Voor de conditie hebben we 3 extra registers nodig ($t3, $t4 en $t5). l1 is een label van een instructie, om er later naar toe te kunnen springen. Resultaat van een bewerking komt in eerste operand.
22 3 e generatietaal Onafhankelijk van de hardware beschrijving van het algoritme Gebruik van variabelen ipv geheugenadressen Geen JUMP, enkel for/while/if/switch Jumps leidt tot spagetticode, je mag van overal naar overal springen Functies/methodes mogelijk Omzetting naar assembler: compileren Checkt je code op syntaxfouten! Programmeren in assembler is niet produktief. Het is redelijk omslachtig, je maakt snel fouten en de code is heel onleesbaar. Daarom heeft men programmeertalen ontwikkeld die minder code vergen, meer aansluiten bij algoritmes, meer gestructureerd zijn, leesbaarder en minder foutgevoelig. De Nederlander Informatica Edgser II: les Dijkstra 8 was het voornaamste genie achter de 3 e generatietalen.
23 Edsger Dijkstra (NL) Welke constructies moet een programmeertaal minimaal bevatten? While/for Goto is onnodig. In oude talen kon je zeggen spring naar lijn 111, naar elke willekeurige lijn van je programma. Dit leidde echter tot onoverzichtelijke spaghetti -code. Dijkstra toonde aan dat een while voldoende is Functies In het begin waren er om praktische redenen veel beperkingen op het gebruik van functies. Recursie Hier was veel tegenkanting tegen, omdat het praktisch tamelijk duur is (vergt veel van de processor)
24 Programma => computer broncode Applicatie (executable.exe) Operating System (Windows, Linux, Mac, ) Hogere taal compileren Machinetaal uitvoeren Hardware (Intel of AMD processor) Nieuwe compilatie nodig voor elk systeem (operating system + hardware)!
25 Java: via virtuele machine Java code (.java file) Java applicatie (.class of jar-file) Java Virtual Machine Operating System (Windows, Linux, Mac, ) Hardware (Intel of AMD processor) compileren Specifieke tussentaal die iets hoger is dan assembler uitvoeren Tijdens het uitvoeren wordt instructies van de class-files omgezet naar machinetaal Javacode werkt op elk operating system! Je moet wel de virtuele machine installeren
26 Ideaal voor internet Java applicatie (.class of jar-file) Java Virtual Machine Operating System (Windows, Linux, Mac, ) Jou code staat op webserver INTERNET Via virtuele machine runt hij op elke lokale machine ( client ) Hardware (Intel of AMD processor) Doordat Javacode via een virtuele machine (die wel specifiek is voor elk systeem) Informatica tijdens II: het les uitvoeren 8 wordt omgezet naar machinetaal, kan je programma overal uitgevoerd worden.
27 Python & Mathlab Geïnterpreteerde talen Je code wordt tijdens het uitvoeren omgezet naar machinetaal. Je moet Python/Matlab dus geïnstalleerd hebben Javacode wordt wèl gecompileerd, java-files worden omgezet naar class-files. Javacode wordt dus gecontroleerd op fouten. Maar Python en Matlab niet, waardoor je programma zal crashen bij fouten met de types van variabelen bijvoorbeeld
28 4e generatietaal High-level specification languages: programmeren wat je wilt, niet hoe het moet gebeuren Vb: GUI aanmaken met een tool Te integreren in Eclipse Google Windowbuilder Pro Visual Editor (Nog) niet echt succesvol Enkel voor specifieke applicaties (zoals GUIs) Mijn mening: nog geen artificiële intelligentie => computer kan nog niet begrijpen wat je wilt Een GUI aanmaken kan via een tool waarbij je niets moet programmeren. Je bouwt als het ware je applicatie door aan te geven hoe deze er uit moet zien. Informatica II: les 8 Dit werkt echter nog niet voor algemene applicaties
29 Tool om GUIs te maken Kan je toevoegen aan Eclipse!
30 Object-georiënteerde talen Worden als 3 e generatietalen aanzien Toch is de code-organisatie fundamenteel verschillend De code is opgesplitst in klasses ipv functies. Vergt een andere manier van denken Is dè uitdaging van dit semester, zowel voor jullie als voor ons (lesgevers)
31 Voor ingenieur: welke taal? moet handig en efficiënt zijn, geschikt voor de taak Python Matlab High-level (doet veel voor u) Java Kleine projecten C/C++ Grote projecten Low-level (kort bij de hardware) Zonder al te diep in te gaan over wat nu de beste taal is (een eeuwige steeds-hoogoplopende discussie onder informatici), een kleine poging tot conclusies. C/C++ zullen velen later nog zien, het is de meest-gebruikte taal die kort bij de hardware staat, daarvoor uitermate geschikt voor het programmeren van systemen (chips, Informatica II: les 8 robots, kritische applicaties, )
32 Wat met je Javaproject? Niet in boek Project als applet in website App for Android Android = java Executable jar-file Eclipse: Export => Java => Runnable JAR file Je kiest klasse met de main() die uitgevoerd moet worden
33 Applets
34 Java applets Boek 1 p. 49 Niet te kennen Kan je toevoegen aan html-webpagina s <applet code="be.ac.vub.ir.util.jappletwithpanel archive="../causallearningwithkde.jar" height="360" width="900"> <param name="panel" value="be.ac.vub.ir.statistics.estimators.kde2dpanel" > </applet> Steek al je files in een jar-file In Eclipse: File menu -> export -> Java -> Jar file Je browser heeft een java-console waarin de System output komt (System.out & System.err) Informatica II: les 8 Jan Lemeire Pag. 36 / 83
35 Voorbeeld import javax.swing.japplet; public class CannonDemoApplet extends JApplet { public void init(){ String opt = getparameter("option"); if (opt!= null && opt.equals("ammo")) getcontentpane().add(new CannonPanel(true)); else getcontentpane().add(new CannonPanel(false)); } } Informatica II: les 8 Jan Lemeire Pag. 37 / 83
36 Opgelet Zorg dat beeldjes en audiofiles ook in de jar komen Zet ze bij je packages Laden van beeldjes: zie website Informatica II: les 8 Jan Lemeire Pag. 38 / 83
37 JApplet De browser communiceert met de applet via public void init( ) initializes variables and objects Voeg GUI componenten toe aan contentpane: getcontentpane().add() public void paint( Graphics g ) to draw screen public void start() called when the applet is visible. It is called after the init method and each time the applet is revisited in a Web page. public void stop() called when applet is no longer visible public void destroy() when hosting window is closed (exit). Overschrijf methodes als nodig Informatica II: les 8 Jan Lemeire Pag. 39 / 83
38 Overzicht datastructuren
39 Raadseltje raadsel package be.ac.vub.ir.data.functions.functionscharts
40 p. 3 De big-o notatie O(0) << O(log(n)) << O(n) Informatica II: les 8 Jan Lemeire Pag. 42 / 83
41 Performantie datastructuren p. 2 Datastructuur Random access (opvragen i de element) Find (via naam) Toevoegen / verwijderen Array O(0) ++ O(n) O(log(n)) als gesorteerd O(n) - ArrayList O(0) ++ O(n) O(log(n)) als gesorteerd O(n) - Linked list O(n) - O(n) -- O(0) ++ Binaire boom n.v.t. O(log(n)) + O(0) ++ Hashtabel n.v.t. O(0) ++ O(0) ++ Zolang binnen grootte Informatica II: les 8 Jan Lemeire Pag. 43 / 83
42 Bomen
43 p. 62 Bomen (hoofdstuk 7) Arrays: basis ArrayList: flexibele grootte van array Linked Lists: flexibel toevoegen en verwijderen van elementen Maar: doorlopen van lijst is traag (bvb zoeken van element) Nodig: flexibele structuur om elementen in op te zoeken Informatica II: les 8 Jan Lemeire Pag. 45 / 83
44 Binaire boom Informatica II: les 8 Jan Lemeire Pag. 46 / 83
45 Alle mogelijkheden afgaan = aanmaken boom (les 8) Hfst 5 Initial UP LEFT UP LEFT DOWN UP LEFT RIGHT Oplossing puzzel zoeken Informatica II: les 8 LEFT DOWN DOWN LEFT RIGHT Jan Lemeire Pag. 47 / Geen binaire boom, kan meer of minder takken hebben
46 p. 63 Geordende binaire boom Zoeken kan snel Flexibel: toevoegen & verwijderen Informatica II: les 8 Jan Lemeire Pag. 48 / 83
47 Elke node is een object class Node<T>{ T data; Node<T> left, right; } Node(T data){ this.data = data; this.left = null; this.right = null; } Informatica II: les 8 Jan Lemeire Pag. 49 / 83
48 Boom object public class BinaryTree<T> { Node<T> root; Comparator<T> comparator; } public BinaryTree(Comparator<T> comparator){ this.comparator = comparator; root = null; } Informatica II: les 8 Jan Lemeire Pag. 50 / 83
49 Definiëren van ordening java.util Interface Comparator<T> Method Summary boolean int compare(t o1, T o2) Compares its two arguments for order. Returns a negative integer, zero, or a positive integer as the first argument is less than, equal to, or greater than the second. equals(object obj) Indicates whether some other object is "equal to" this comparator. Informatica II: les 8 Jan Lemeire Pag. 51 / 83
50 p. 65 IntegerComparator class IntegerComparator implements Comparator<Integer> public int compare(integer val1, Integer val2) { return val1 - val2; } } Informatica II: les 8 Jan Lemeire Pag. 52 / 83
51 Aanmaken van boom IntegerComparator comparator = new IntegerComparator(); BinaryTree<Integer> tree = new BinaryTree<Integer>(comparator); korter: BinaryTree<Integer> tree = new BinaryTree<Integer>(new IntegerComparator()); Informatica II: les 8 Jan Lemeire Pag. 53 / 83
52 Nog korter: via anonymous class BinaryTree<Integer> tree = new BinaryTree<Integer>( new Comparator<Integer>() public int compare(integer val1, Integer val2) { return val1 - val2; } } ); Informatica II: les 8 Jan Lemeire Pag. 54 / 83
53 Operaties op bomen
54 Belangrijke operaties 7.3 Zoeken element 7.5 Toevoegen element (opbouwen boom) 7.6 Verwijderen element 7.7 Doorlopen van boom (bvb printen) Informatica II: les 8 Jan Lemeire Pag. 56 / 83
55 Binaire bomen
56 Recursie zonder recursie? Staartrecursie 1 recursieve oproep Kan ook geprogrammeerd worden met een while Boomrecursie Meer dan 1 recursieve oproep (vb fibonacci) Is minder evident om zonder recursie te programmeren, bij Mergesort zien we hoe dit kan. Aanpak zoals bij breadth-first search. Jan Lemeire Pag. 58 / 83
57 p Zoeken element public boolean contains(t object){ return find(root, object); } private boolean find(node<t> current, T object){ if (current == null) return false; else if (comparator.compare(current.data, object) == 0) return true; else if (comparator.compare(object, current.data) < 0) return find(current.left, object); else return find(current.right, object); } Tijd ~ diepte boom Idealiter: log 2 n Behalve als ongebalanceerd (zie verder) Informatica II: les 8 Jan Lemeire Pag. 59 / 83
58 Staartrecursie Met while: public boolean containswithoutrecursion(t object){ Node<T> current = root; while (current!= null){ if (comparator.compare(current.data, object) == 0) return true; // gevonden! else if (comparator.compare(object, current.data) < 0) current = current.left; else current = current.right; } return false; // niet gevonden } Informatica II: les 8 Jan Lemeire Pag. 60 / 83
59 p Zoektijd binaire boom Als gebalanceerd n => n/2 => n/4 => n/8 => => 1 Of: 1.2 x = n x = aantalzoekstappen = log 2 n Informatica II: les 8 Jan Lemeire Pag. 61 / 83
60 Ongebalanceerde boom aantalzoekstappen = log 4 n aantalzoekstappen = log 1.33 n Gemiddelde is slechter dan log 2 n! Informatica II: les 8 Jan Lemeire Pag. 62 / 83
61 Zoektijd log 2 n log 4 n log 1.33 n n/2 10 3,3 1,7 8, ,6 3,3 16, ,0 5,0 24, ,3 6,6 32, ,9 10,0 48, ,9 10,0 48, ,3 11,6 56, ,6 13,3 64, ,9 14,9 72, /2 *2,433 Informatica II: les 8 Jan Lemeire Pag. 63 / 83
62 Verschil in zoektijd Eigenschap logaritmes : Verschil in aantal stappen: log d n = log 2 n log 2 d Verandering van basis stappenratio = log d n log 2 n = 1 log 2 d stappenratio = 1 log = = 2.43 stappenratio = 1 log 2 4 = 1/2 2 t.o.v t.o.v. 4 Besluit: logaritmisch << lineair Informatica II: les 8 Jan Lemeire Pag. 64 / 83
63 p. 102 Ongebalanceerde boom 2 Vast aantal (k-1) nodes links, de rest rechts k << n Rechterboom heeft n/k => n/2k stappen Totaal n/2k + log(k 1) n/2k lineair Informatica II: les 8 Jan Lemeire Pag. 65 / 83
64 p Toevoegen element public void add(t object){ Node<T> newnode = new Node<T>(object); if (root == null) root = newnode; else add(root, newnode); } private void add(node<t> current, Node<T> newnode){ if (comparator.compare(newnode.data, current.data) < 0){ // moet links komen if (current.left == null) current.left = newnode; else add(current.left, newnode); } else { // rechts if (current.right == null) current.right = newnode; else add(current.right, newnode); } Informatica II: les 8 } Jan Lemeire Pag. 66 / 83
65 Volgorde van toevoegen bepaalt boom! Wat als ik toevoeg in die volgordes? {k, l, g, i, x, q, r, a, e, f, c, z} {a, c, e, f, g, i, k, l, q, r, x, z} {i, z, q, l, k, f, e, g, c, x, a, r} Informatica II: les 8 Jan Lemeire Pag. 67 / 83
Waarmaken van Leibniz s droom
Waarmaken van Leibniz s droom Artificiële intelligentie Communicatie & internet Operating system Economie Computatietheorie & Software Efficiënt productieproces Hardware architectuur Electronica: relais
Nadere informatieInformatica 2e semester
Informatica 2 e semester: les 8 Software & binaire bomen Jan Lemeire Informatica 2 e semester februari mei 2017 Vandaag 1. Overzicht datastructuren 2. Binaire bomen 3. Theoretische informatica 4. Software
Nadere informatieInformatica. Deel II: les 8. Software & binaire bomen. Jan Lemeire Informatica deel II&III februari mei Parallel Systems: Introduction
Informatica Deel II: les 8 Software & binaire bomen Jan Lemeire Informatica deel II&III februari mei 2014 Parallel Systems: Introduction Waarmaken van Leibniz s droom (10) Artificiële intelligentie (9)
Nadere informatieInformatica. Deel II&III: les 8. Software & binaire bomen. Jan Lemeire Informatica deel II&III februari mei Parallel Systems: Introduction
Informatica Deel II&III: les 8 Software & binaire bomen Jan Lemeire Informatica deel II&III februari mei 2015 Parallel Systems: Introduction Leibniz droom De Calculus ratiocinator Een logisch denkend apparaat
Nadere informatieInformatica. Deel II: les 10. Bomen. Jan Lemeire Informatica deel II februari mei Informatica II: les 9
Informatica Deel II: les 10 Bomen Jan Lemeire Informatica deel II februari mei 2012 Informatica II: les 9 De volgende revolutie Internet! Jan Lemeire Pag. 2 / 37 Technologie Netwerk laat toe dat computers
Nadere informatieInformatica 2e semester
Informatica 2 e semester: les 8 Software & binaire bomen Jan Lemeire Informatica 2 e semester februari mei 2018 Informatica 2e semester: HOC 8 Vandaag 1. Overzicht datastructuren 2. Binaire bomen 3. Chips
Nadere informatieInformatica 2e semester
Informatica 2 e semester: les 8 Software & binaire bomen Jan Lemeire Informatica 2 e semester februari mei 2019 Vandaag 1. Non-zero sum games 2. Leren 3. Deel III: slimme algoritmen versus intelligentie
Nadere informatieInformatica 2e semester
Informatica 2 e semester: les 9 OS & Sorteren Jan Lemeire Informatica 2 e semester februari mei 2018 Informatica 2e semester: HOC 9 Vandaag 1. Software 2. Het gebruik van static 3. Sorteren 4. Besturingssystemen
Nadere informatieInformatica. Deel II&III: les 7. AI linked lists - chips. Jan Lemeire Informatica deel II februari mei Parallel Systems: Introduction
Informatica Deel II&III: les 7 AI linked lists - chips Jan Lemeire Informatica deel II februari mei 2015 Parallel Systems: Introduction Hoofdstuk 9: Artificiële intelligentie Jan Lemeire Pag. 2 / 77 Waarmaken
Nadere informatieInformatica. Deel II: les 9 OS & AVL. Jan Lemeire. Informatica deel II. februari mei Informatica II: les 9
Informatica Deel II: les 9 OS & AVL Jan Lemeire Informatica deel II februari mei 2014 Hoofdstuk 8: Operating Systems Jan Lemeire Pag. 2 / 64 Bedrijfscomputers Initieel waren er voornamelijk bedrijfscomputers
Nadere informatieInformatica 2e semester
Informatica 2 e semester: les 9 OS & Sorteren Jan Lemeire Informatica 2 e semester februari mei 2017 Informatica 2e semester: HOC 9 Vandaag 1. Software 2. Het gebruik van static 3. Sorteren 4. Besturingssystemen
Nadere informatieInformatica 2e semester
Informatica 2 e semester: les 9 Software, Sorteren en OS Jan Lemeire Informatica 2 e semester februari mei 2019 Informatica 2e semester: HOC 9 Vandaag 1. Software (deel III) 2. Sorteren 3. Het gebruik
Nadere informatieHoofdstuk 6. Geordende binaire bomen
Hoofdstuk 6 Geordende binaire bomen Eerder bespraken we hoe gelinkte lijsten een zeer flexibele structuur geven. Het zoeken in een gelinkte lijst was echter niet optimaal, aangezien je enkel de lijst van
Nadere informatieInformatica. Deel II: les 2. Leibniz - erven - digitaal. Jan Lemeire Informatica deel II februari mei Parallel Systems: Introduction
Informatica Deel II: les 2 Leibniz - erven - digitaal Jan Lemeire Informatica deel II februari mei 2013 Parallel Systems: Introduction Leibniz 1646 1716 Jan Lemeire Pag. 2 / 48 Calculemus! Berechnen wir!
Nadere informatieWaarmaken van Leibniz s droom
Waarmaken van Leibniz s droom Artificiële intelligentie Communicatie & internet Operating system Economie Computatietheorie & Software Efficiënt productieproces Hardware architectuur Electronica: relais
Nadere informatieModelleren en Programmeren
Modelleren en Programmeren Jeroen Bransen 11 december 2015 Ingebouwde datastructuren Meer boomstructuren Access specifiers Gebruikersinvoer Codestijl Packages SAT-solver Ingebouwde datastructuren Ingebouwde
Nadere informatieInformatica. Deel II: les 1. Java versus Python. Jan Lemeire Informatica deel II februari mei 2014. Parallel Systems: Introduction
Informatica Deel II: les 1 Java versus Python Jan Lemeire Informatica deel II februari mei 2014 Parallel Systems: Introduction Arabidopsis (zandraket) Arabidopsis (zandraket) MMIQQA Multimodal Microscopic
Nadere informatieProgrammeren: Visual Basic
PETERSTUYVESANT COLLEGE INFORMATICA 2009-2010 Programmeren: Visual Basic Algemene Kennis: 01. Programmeren Programmeren is het schrijven van een computerprogramma, een concrete verzameling instructies
Nadere informatieWaarmaken van Leibniz s droom
Waarmaken van Leibniz s droom Artificiële intelligentie Communicatie & internet Operating system Economie Computatietheorie & Software Efficiënt productieproces Hardware architectuur Electronica: relais
Nadere informatiehttp://www.liacs.nl/home/kosters/java/
sheets Programmeren 1 Java college 2, Walter Kosters De sheets zijn gebaseerd op de hoofdstukken 2 tot en met 6 van: D. Bell en M. Parr, Java voor studenten, Prentice Hall, 2002 http://www.liacs.nl/home/kosters/java/
Nadere informatieHoofdstuk 0. Van Python tot Java.
Hoofdstuk 0. Van Python tot Java. In dit eerste hoofdstuk maken we de overstap van Python naar Java. We bespreken de verschillen en geven wat achtergrondinformatie. In het volgende hoofdstuk gaan we dieper
Nadere informatieVakgroep CW KAHO Sint-Lieven
Vakgroep CW KAHO Sint-Lieven Objecten Programmeren voor de Sport: Een inleiding tot JAVA objecten Wetenschapsweek 20 November 2012 Tony Wauters en Tim Vermeulen tony.wauters@kahosl.be en tim.vermeulen@kahosl.be
Nadere informatieInformatica. Deel II: les 1. Java versus Python. Jan Lemeire Informatica deel II februari mei 2015. Parallel Systems: Introduction
Informatica Deel II: les 1 Java versus Python Jan Lemeire Informatica deel II februari mei 2015 Parallel Systems: Introduction Arabidopsis (zandraket) Arabidopsis (zandraket) MMIQQA Multimodal Microscopic
Nadere informatieElementary Data Structures 3
Elementary Data Structures 3 Ferd van Odenhoven Fontys Hogeschool voor Techniek en Logistiek Venlo Software Engineering 29 september 2014 ODE/FHTBM Elementary Data Structures 3 29 september 2014 1/14 Meer
Nadere informatieDeel 1: Arduino kennismaking. Wat is een microcontroller, structuur van een programma, syntax,
Deel 1: Arduino kennismaking Wat is een microcontroller, structuur van een programma, syntax, Wat is een microcontroller Wat is een microcontroller? Microcontroller = kleine dedicated computer. - Beperkt
Nadere informatieZelftest Inleiding Programmeren
Zelftest Inleiding Programmeren Document: n0824test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INLEIDING BIJ DE ZELFTEST INLEIDING PROGRAMMEREN Deze
Nadere informatieeerste voorbeelden in Java
Beginselen van programmeren 2 eerste voorbeelden in Java vereisten: een editor: om programma in te tikken en te bewaren een Java compiler: zet ingetikte (bron-) programma om naar byte-code een Java Virtuele
Nadere informatieInleiding Programmeren 2
Inleiding Programmeren 2 Gertjan van Noord November 26, 2018 Stof week 3 nogmaals Zelle hoofdstuk 8 en recursie Brookshear hoofdstuk 5: Algoritmes Datastructuren: tuples Een geheel andere manier om te
Nadere informatieVisual Basic.NET. Visual Basic.NET. M. den Besten 0.3 VB. NET
Visual Basic.NET M. den Besten 0.3 VB. NET Inhoud Voorwoord Deel 1 Visual Basic.NET 1.1 Inleiding...13 1.2 De programmeertaal Visual Basic.NET...14 1.3 Microsoft Visual Basic 2010 Express Edition...15
Nadere informatiepublic boolean equaldates() post: returns true iff there if the list contains at least two BirthDay objects with the same daynumber
Tentamen TI1310 Datastructuren en Algoritmen, 15 april 2011, 9.00-12.00 TU Delft, Faculteit EWI, Basiseenheid Software Engineering Bij het tentamen mag alleen de boeken van Goodrich en Tamassia worden
Nadere informatieInformatica. Deel II&III: les 9. OS, Hashing & Mappen. Jan Lemeire. Informatica deel II&III. februari mei Informatica II: les 9
Informatica Deel II&III: les 9 OS, Hashing & Mappen Jan Lemeire Informatica deel II&III februari mei 2015 Vandaag 1. Besturingssystemen 2. Java applets 3. Static in java 4. Hashing en Mappen Hoofdstuk
Nadere informatieModelleren en Programmeren
Modelleren en Programmeren Jeroen Bransen 9 december 2015 Foreach String arrays Boomstructuren Interfaces Ingebouwde datastructuren Quiz Foreach Foreach Speciale versie van for om iets voor alle elementen
Nadere informatieUniversiteit van Amsterdam FNWI. Voorbeeld van tussentoets Inleiding programmeren
Universiteit van Amsterdam FNWI Voorbeeld van tussentoets Inleiding programmeren Opgave 1: Wat is de uitvoer van dit programma? public class Opgave { static int i = 0 ; static int j = 1 ; int i = 1 ; int
Nadere informatiePython (gem=1,86) Java (gem=1,57) Enquete cursus informatica 1e bachelors oefeningen beter aansluiten bij project?
Enquete cursus informatica 1e bachelors 216-217 Python (gem=1,86) Java (gem=1,7) 3 3 2 2 1 1 3 2 1-1 -2-3 3 2 1-1 -2-3 2 Combinatie python va (gem=1,6) 1 Hoe is de overgang python2va 1 1 3 2 1-1 -2-3 3
Nadere informatieModule Limieten van de berekenbaarheid : antwoorden
Module Limieten van de berekenbaarheid : antwoorden Gilles Coremans 2018 This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International license. Dit werk is gebaseerd
Nadere informatieZelftest Informatica-terminologie
Zelftest Informatica-terminologie Document: n0947test.fm 01/07/2015 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTIE Deze test is een zelf-test, waarmee u
Nadere informatieDatastructuren. Analyse van algoritmen. José Lagerberg. FNWI, UvA. José Lagerberg (FNWI, UvA) Datastructuren 1 / 46
Datastructuren Analyse van algoritmen José Lagerberg FNWI, UvA José Lagerberg (FNWI, UvA) Datastructuren 1 / 46 Datastructuren en Algoritmen Datastructuren, 6 ECTS eerstejaars Bachelor INF Datastructuren,
Nadere informatiePlanning. 1. Mini College. 2. Introductiecursus Imperatief Programmeren. 3. Crash and Compile (vanaf 17:00 uur)
Planning 1. Mini College 2. Introductiecursus Imperatief Programmeren 3. Crash and Compile (vanaf 17:00 uur) Geschiedinis van de Codemonkeys imperatief programmeren voor beginners Geschiedenis van de Codemonkey
Nadere informatiestart -> id (k (f c s) (g s c)) -> k (f c s) (g s c) -> f c s -> s c
Een Minimaal Formalisme om te Programmeren We hebben gezien dat Turing machines beschouwd kunnen worden als universele computers. D.w.z. dat iedere berekening met natuurlijke getallen die met een computer
Nadere informatieJava virtuele machine JVM
Implementatie Java Java virtuele machine JVM Java programma vertaald naar byte code instructies Byte code instructies uitgevoerd door JVM JVM is processor architectuur kan in principe in hardware worden
Nadere informatieAls een PSD selecties bevat, deelt de lijn van het programma zich op met de verschillende antwoorden op het vraagstuk.
HOOFDSTUK 3 3.1 Stapsgewijs programmeren In de vorige hoofdstukken zijn programmeertalen beschreven die imperatief zijn. is het stapsgewijs in code omschrijven wat een programma moet doen, net als een
Nadere informatieOpdrachten herhalen. public void tekenscherm (object o, PEA pea) { int x; x = 1; zolang de voorwaarde geldig is
Opdrachten herhalen public void tekenscherm (object o, PEA pea) { int x; x = 1; while ( x
Nadere informatieTree traversal. Bomen zijn overal. Ferd van Odenhoven. 15 november 2011
15 november 2011 Tree traversal Ferd van Odenhoven Fontys Hogeschool voor Techniek en Logistiek Venlo Software Engineering 15 november 2011 ODE/FHTBM Tree traversal 15 november 2011 1/22 1 ODE/FHTBM Tree
Nadere informatieAssembly en Assemblers. Processoren 5 januari 2015
Assembly en Assemblers Processoren 5 januari 2015 Doel van vandaag Ik heb al losse eindjes over assembly verteld en een voorbeeldprogramma doorlopen. vandaag: algemeen + systematisch overzicht Programmeertalen
Nadere informatieJavascript oefenblad 1
Leer de basis van Javascript. Javascript oefenblad 1 Niels van Velzen Javascript oefenblad 1 Pagina 2 Inleiding Javascript is niet altijd even makkelijk. Vooral aan het begin is het even wennen hoe de
Nadere informatieObjectgericht programmeren 1.
Objectgericht programmeren 1 joost.vennekens@kuleuven.be http://www.cs.kuleuven.be/~joost/dn Objectgericht ontwerpen 35% Objectgericht ontwerpen 65% OP1 Informatiesystemen 50% Databanken 50% OP1 Evaluatie
Nadere informatieProgrammeren in Java
4 september 2015 Even voorstellen Naam: Wessel Oele(39) Email: W.Oele@hr.nl Website: http://med.hro.nl/oelew Kop van Zuid Rotterdam, 3 juni 2007 Overzicht van modules programmeren in Java In totaal 4 modules
Nadere informatieProgrammeren in Java 3
7 maart 2010 Deze les Zelf componenten maken Concurrency (multithreading): werken met threads levenscyclus van een thread starten tijdelijk onderbreken wachten stoppen Zelf componenten maken Je eigen component:
Nadere informatieInformatica. Objectgeörienteerd leren programmeren. Van de theorie met BlueJ tot een spelletje met Greenfoot... Bert Van den Abbeele
Informatica Objectgeörienteerd leren programmeren Van de theorie met BlueJ tot een spelletje met Greenfoot... Bert Van den Abbeele http://creativecommons.org/licenses/by-nc-nd/3.0/legalcode Objectgeörienteerd
Nadere informatieIMP Uitwerking week 13
IMP Uitwerking week 13 Opgave 1 Nee. Anders moet bijvoorbeeld een venster applicatie een subklasse zijn van zowel Frame en WindowListener. Als de applicatie ook een button of een menu heeft, dan moet het
Nadere informatieHOOFDSTUK 3. Imperatief programmeren. 3.1 Stapsgewijs programmeren. 3.2 If Then Else. Module 4 Programmeren
HOOFDSTUK 3 3.1 Stapsgewijs programmeren De programmeertalen die tot nu toe genoemd zijn, zijn imperatieve of procedurele programmeertalen. is het stapsgewijs in code omschrijven wat een programma moet
Nadere informatieInleiding Programmeren 2
Inleiding Programmeren 2 Gertjan van Noord November 28, 2016 Stof week 3 nogmaals Zelle hoofdstuk 8 en recursie Brookshear hoofdstuk 5: Algoritmes Datastructuren: tuples Een geheel andere manier om te
Nadere informatieJava Programma structuur
Java Programma structuur public class Bla // div. statements public static void main(string argv[]) // meer spul Voortgezet Prog. voor KI, week 4:11 november 2002 1 Lijsten Voorbeelden 2, 3, 5, 7, 13 Jan,
Nadere informatieModelleren en Programmeren
Modelleren en Programmeren Jeroen Bransen 13 november 2013 Organisatie Docenten Jeroen Bransen Michael Moortgat Docenten Jeroen Bransen Imperatief programmeren (Java) Tot de kerst (ongeveer) Michael Moortgat
Nadere informatieEen gelinkte lijst in C#
Een gelinkte lijst in C# In deze tutorial ga demonstreren hoe je een gelinkte lijst kan opstellen in C#. We gaan een klasse schrijven, die een gelijkaardige functionaliteit heeft als een ArrayList, namelijk
Nadere informatieAPPLICATIEBOUW 1E COLLEGE: INTRODUCTIE. Onderdeel van SmartProducts
APPLICATIEBOUW 1E COLLEGE: INTRODUCTIE Onderdeel van SmartProducts EVEN VOORSTELLEN DOCENT Fjodor van Slooten N208 (Horstring Noord) F.vanSlooten@utwente.nl Assistentie door: Hans Tragter, Marc Schreiber,
Nadere informatieBEGINNER JAVA Inhoudsopgave
Inhoudsopgave 6 Configuratie Hallo wereld! Praten met de gebruiker Munt opgooien Voorwaarden Lussen......6 Configuratie Met deze Sushi kaarten ga je een simpel spel maken met één van de meest populaire
Nadere informatieInformatica. 2 e semester: les 9. OS & Sorteren. Jan Lemeire Informatica 2 e semester februari mei Informatica II: les 9
Informatica 2 e semester: les 9 OS & Sorteren Jan Lemeire Informatica 2 e semester februari mei 2016 Vandaag 1. Besturingssystemen 2. Het gebruik van static 3. Binaire bomen (vervolg) 4. Sorteren Hoofdstuk
Nadere informatieTentamen Programmeren in C (EE1400)
TU Delft Tentamen Programmeren in C (EE1400) 5 april 2012, 9.00 12.00 Faculteit EWI - Zet op elk antwoordblad je naam en studienummer. - Beantwoord alle vragen zo nauwkeurig mogelijk. - Wanneer C code
Nadere informatieModelleren en Programmeren
Modelleren en Programmeren Jeroen Bransen 13 december 2013 Terugblik Fibonacci public class Fibonacci { public static void main(string[] args) { // Print het vijfde Fibonaccigetal System.out.println(fib(5));
Nadere informatieModule 4 Hoofdstuk 1. Programmeertalen
Module 4 Hoofdstuk 1 Programmeertalen Programmeertalen Een programmeertaal is een taal waarin de opdrachten worden geschreven die een computer moet uitvoeren Reeksen van die opdrachten of instructies vormen
Nadere informatieLessen Java: Reeks pag. 1
Lessen Java: Reeks 2 1-3-2016 pag. 1 Primitieve types type grootte waardes byte 8 bits 128, 127 short 16 bits 32768, 32767 int 32 bits 2 31, 2 31 1 long 64 bits 2 63, 2 63 1 type grootte waardes float
Nadere informatieAlgoritme noteren? Algoritmen voor de computer worden vastgelegd met behulp van een programmeertaal.
Programmeertalen Algoritme noteren? Algoritmen voor de computer worden vastgelegd met behulp van een programmeertaal. Taal // machine De geschiedenis van de programmeertalen loopt parallel met de geschiedenis
Nadere informatieProgrammeren in Java 3
26 september 2007 Deze les korte herhaling vorige les Unified Modelling Language notatie van een class afleiding pointers abstracte classes polymorphisme dubieuze(?) constructies interfaces Meer over class
Nadere informatieDatastructuren: stapels, rijen en binaire bomen
Programmeermethoden Datastructuren: stapels, rijen en binaire bomen week 12: 23 27 november 2015 www.liacs.leidenuniv.nl/ kosterswa/pm/ 1 Inleiding In de informatica worden Abstracte DataTypen (ADT s)
Nadere informatieAndroid Development CCSS2011
Android Development Voor dummies, door dummies... Challenges in Computer Science Seminar LIACS, Universiteit Leiden 15 Februari 2011 Inhoud 1 Introductie 2 Development Environment 3 Programmeren voor Android
Nadere informatieDatatypes Een datatype is de sort van van een waarde van een variabele, veel gebruikte datatypes zijn: String, int, Bool, char en double.
Algemeen C# Variabele Een variabele is een willekeurige waarde die word opgeslagen. Een variabele heeft altijd een datetype ( De soort waarde die een variabele bevat). Datatypes Een datatype is de sort
Nadere informatieProgrammeren met Arduino-software
Programmeren met Arduino-software De software waarin we programmeren is Arduino IDE. Deze software is te downloaden via www.arduino.cc. De programmeertaal die hier gebruikt wordt, is gebaseerd op C en
Nadere informatieSyntax- (compile), runtime- en logische fouten Binaire operatoren
Inhoud Syntax- (compile), runtime- en logische fouten Binaire operatoren Operaties op numerieke datatypen Evaluatie van expressies, bindingssterkte Assignment operaties en short-cut operatoren Controle
Nadere informatieInformatica 2e semester
Informatica Les 6 Basis- & slimme algoritmen Jan Lemeire Informatica 2 e semester februari mei 2019 Vandaag 1. Iets met functie 2. Interfaces en abstracte klasses 3. Newton s algoritme 4. Oefening op interfaces
Nadere informatie6,1. Samenvatting door een scholier 1809 woorden 28 oktober keer beoordeeld. Informatica
Samenvatting door een scholier 1809 woorden 28 oktober 2005 6,1 16 keer beoordeeld Vak Methode Informatica Turing informatica samenvatting. hst3: algoritme:een beschrijving van stappen die gedaan moeten
Nadere informatieObjectgeorïenteerd werken is gebaseerd op de objecten die door het systeem gemanipuleerd worden.
Herhaling Objectgeorïenteerd werken is gebaseerd op de objecten die door het systeem gemanipuleerd worden. De basisbouwsteen is het object; een geïntegreerde eenheid van data en operaties werkend op deze
Nadere informatieTentamen Computersystemen
Tentamen Computersystemen baicosy6 2e jaar bachelor AI, 2e semester 21 oktober 213, 9u-11u OMHP D.9 vraag 1 Van een Single Cycle Harvard machine hebben de componenten de volgende propagation delay time:
Nadere informatieAlgoritmen abstract bezien
Algoritmen abstract bezien Jaap van Oosten Department Wiskunde, Universiteit Utrecht Gastcollege bij Programmeren in de Wiskunde, 6 april 2017 Een algoritme is een rekenvoorschrift dat op elk moment van
Nadere informatieProgrammeren in Java les 3
4 september 2015 Deze les korte herhaling vorige week loops methodes Variabelen Soorten variabelen in Java: integer: een geheel getal, bijv. 1,2,3,4 float: een gebroken getal, bijv. 3.1415 double: een
Nadere informatieExamen Datastructuren en Algoritmen II
Tweede bachelor Informatica Academiejaar 2012 2013, tweede zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele
Nadere informatieInformatica: C# WPO 11
Informatica: C# WPO 11 1. Inhoud Pass by reference (ref, out), recursie, code opdelen in verschillende codebestanden 2. Oefeningen Demo 1: Swapfunctie Demo 2: TryParse(int) Demo 3: Recursion Tree Demo
Nadere informatieModelleren en Programmeren
Modelleren en Programmeren Jeroen Bransen 6 december 2013 Terugblik Programma en geheugen Opdrachten Variabelen Methoden Objecten Klasse Programma en geheugen Opdrachten Variabelen zijn gegroepeerd in
Nadere informatieStacks and queues. Introductie 45. Leerkern 45. Terugkoppeling 49. Uitwerking van de opgaven 49
Stacks and queues Introductie 45 Leerkern 45 6.1 Stacks 45 6.2 Queues 47 6.3 Double-ended queues 48 Terugkoppeling 49 Uitwerking van de opgaven 49 Bijlage: Diagrammen belangrijkste interfaces en klassen
Nadere informatie1e college Introductie Applicatiebouw. Applicatiebouw{ } Onderdeel van SmartProducts
1e college Introductie Applicatiebouw Applicatiebouw{ } Onderdeel van SmartProducts EVEN VOORSTELLEN DOCENT Fjodor van Slooten N208 (Horstring Noord) F.vanSlooten@utwente.nl Assistentie door: Nadia Klomp,
Nadere informatieProgrammeermethoden. Recursie. week 11: november kosterswa/pm/
Programmeermethoden Recursie week 11: 21 25 november 2016 www.liacs.leidenuniv.nl/ kosterswa/pm/ 1 Pointers Derde programmeeropgave 1 Het spel Gomoku programmeren we als volgt: week 1: pointerpracticum,
Nadere informatieAlgoritme noteren? Algoritmen voor de computer worden vastgelegd met behulp van een programmeertaal.
Programmeertalen Algoritme noteren? Algoritmen voor de computer worden vastgelegd met behulp van een programmeertaal. Taal // machine De geschiedenis van de programmeertalen loopt parallel met de geschiedenis
Nadere informatieKleine cursus PHP5. Auteur: Raymond Moesker
Kleine cursus PHP5 Auteur: Raymond Moesker Kleine cursus PHP PHP is platform en CPU onafhankelijk, open source, snel, heeft een grote userbase, het is object georiënteerd, het wordt omarmd door grote bedrijven
Nadere informatieBij dit hoofdstukken horen geen opgaven.
6. Programmeertalen Een computer begrijpt eigenlijk alleen maar binaire code (bestaande uit 1 en 0). Om hem/haar makkelijk opdrachten te geven zijn programmeertalen ontwikkeld. Deze moeten een goed gedefinieerde
Nadere informatieTree traversal. Ferd van Odenhoven. 15 november Fontys Hogeschool voor Techniek en Logistiek Venlo Software Engineering. Doorlopen van bomen
Tree traversal Ferd van Odenhoven Fontys Hogeschool voor Techniek en Logistiek Venlo Software Engineering 15 november 2011 ODE/FHTBM Tree traversal 15 november 2011 1/22 1 ODE/FHTBM Tree traversal 15 november
Nadere informatieModulewijzer Tirdat01
Modulewijzer Tirdat01 W. Oele 25 augustus 2008 1 Inhoudsopgave 1 Inleiding en leerdoelen 3 2 Voorkennis 3 2.1 tirprg01 en tirprg02........................ 3 2.2 tirprg03.............................. 4
Nadere informatieJe gaat leren programmeren en een spel bouwen met de programmeertaal Python. Websites zoals YouTube en Instagram zijn gebouwd met Python.
1 Je gaat leren programmeren en een spel bouwen met de programmeertaal Python. Websites zoals YouTube en Instagram zijn gebouwd met Python. Voordat je leert programmeren, moet je jouw pc zo instellen dat
Nadere informatieWORKSHOP ORANGE PI & PYTHON v september 2017
WORKSHOP ORANGE PI & PYTHON v1.1 21 september 2017 In deze workshop maak je kennis met een zogenaamde bord-computer ter grootte van een bankpas. Een bord-computer kan gebruikt worden als een normale computer
Nadere informatieHoofdstuk 9. Hashing
Hoofdstuk 9 Hashing Het zoeken in een verzameling van één object is in deze cursus al verschillende malen aan bod gekomen. In hoofdstuk 2 werd uitgelegd hoe men een object kan zoeken in een array die veel
Nadere informatieJava Les 3 Theorie Herhaal structuren
Java Les 3 Theorie Herhaal structuren Algemeen Een herhaal structuur een is programmeertechniek waarbij bepaalde Java instructies worden herhaald net zo lang tot een bepaalde voorwaarde is bereikt. Een
Nadere informatiePracticumopgave 3: SAT-solver
Practicumopgave 3: SAT-solver Modelleren en Programmeren 2015/2016 Deadline: donderdag 7 januari 2016, 23:59 Introductie In het vak Inleiding Logica is onder andere de propositielogica behandeld. Veel
Nadere informatieExamen Datastructuren en Algoritmen II
Tweede bachelor Informatica Academiejaar 2014 2015, eerste zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele
Nadere informatieCursus Programmeren en Dataverwerking.
Cursus Programmeren en Dataverwerking http://hay.github.io/codecourse Vanavond (18.00-21.30) Introductierondje Algemene introductie (60-90m) Iets over bits en bytes Iets over programmeurs en programmeertalen
Nadere informatieOEFENINGEN PYTHON REEKS 1
Vraag 1: Expressies & Types OEFENINGEN PYTHON REEKS 1 Python maakt gebruik van enkele vaak voorkomende (data)types. Zo zijn er integers die behoren tot de gehele getallen (VB: 3), zijn er float s die behoren
Nadere informatieHelden van de wiskunde: L.E.J. Brouwer Brouwers visie vanuit een logica-informatica perspectief
Helden van de wiskunde: L.E.J. Brouwer Brouwers visie vanuit een logica-informatica perspectief Herman Geuvers Radboud Universiteit Nijmegen Technische Universiteit Eindhoven 1 Helden van de wiskunde:
Nadere informatieKwis (3) class X { public void a() { System.out.println("x"); public static void main(string[] args) { X x = new X();
Kwis (3) class X { public void a() { System.out.println("x"); class Y extends X { public void a() { System.out.println("y"); class Z extends Y { public void a() { System.out.println("z"); public static
Nadere informatieNSPYRE LEGO MINDSTORMS UITDAGING (JAVA) INLEIDING. DOEL: SIMULATOR:
NSPYRE LEGO MINDSTORMS UITDAGING (JAVA) INLEIDING. Door mee te doen aan deze uitdaging kan je Nspyre laten zien wat je kan. Schrijf jij de beste oplossing dan is deze lego mindstorms nxt 2.0 set voor jou.
Nadere informatieDatastructuren en Algoritmen voor CKI
Ω /texmf/tex/latex/uubeamer.sty-h@@k 00 /texmf/tex/latex/uubeamer.sty Datastructuren en Algoritmen voor CKI Vincent van Oostrom Clemens Grabmayer Afdeling Wijsbegeerte Hoorcollege 5 16 februari 2009 Waar
Nadere informatieWaarmaken van Leibniz s droom
Waarmaken van Leibniz s droom Artificiële intelligentie Communicatie & internet Operating system Economie Computatietheorie & Software Efficiënt productieproces Hardware architectuur Electronica: relais
Nadere informatie