Informatica. Deel II: les 8. Software & binaire bomen. Jan Lemeire Informatica deel II&III februari mei Parallel Systems: Introduction
|
|
- Adriana Timmermans
- 5 jaren geleden
- Aantal bezoeken:
Transcriptie
1 Informatica Deel II: les 8 Software & binaire bomen Jan Lemeire Informatica deel II&III februari mei 2014 Parallel Systems: Introduction
2 Waarmaken van Leibniz s droom (10) Artificiële intelligentie (9) Communicatie & internet (8) Operating system (7) Computatietheorie & Software (6) Efficiënt productieproces (5) Hardware architectuur Electronica: (3) relais -schakeling, (4)geheugen (2) Digitaal & binair (1) Het idee Informatica deel III: technologie, historiek en economische aspecten
3 Hoofdstuk 7: Software Jan Lemeire Pag. 3 / 65
4 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 laten doen Jan Lemeire Pag. 4 / 65
5 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. Jan Lemeire Pag. 5 / 65
6 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 Informatica II: les 9 Jan Lemeire Pag. 6 / 65
7 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. Jan Lemeire Pag. 7 / 65
8 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 hij een ding maken dat een/elk algoritme kan uitvoeren Alan Turing wierp zich op Hilbert s probleem. Hij bedacht dat er hiervoor een algoritme gemaakt moet worden (die nagaat of een statement klopt of niet), en vervolgens een machine die het algoritme kan uitvoeren. De Turing machine werd geboren, een theoretisch model van een computer. Jan Lemeire Pag. 8 / 65
9 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 Informatica machine II: les 8is alleen maar van theoretisch nut. Ze is bijvoorbeeld niet echt gemakkelijk programmeerbaar. Jan Lemeire Pag. 9 / 65
10 Voorbeeld Applet van studenten 2012 Java applet: Jan Lemeire Pag. 10 / 65
11 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 Turing s van resultaten Turing was weer ook een belangrijk knak in het voor optimisme informatica van de wetenschap. Je kan niet voor 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. Jan Lemeire Pag. 11 / 65
12 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 Misschien wel het belangrijkste resultaat van Turing is echter 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 wasmachine ook kan autorijden. Jan Lemeire Pag. 12 / 65
13 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." Jan Lemeire Pag. 13 / 65
14 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. Informatica II: les 9 Jan Lemeire Pag. 14 / 65
15 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 niet om, he? Als het maar nuttig is, die computer. Jan Lemeire Pag. 15 / 65
16 Vandaag 1. Theoretische informatica 2. Binaire bomen 3. Operaties op bomen 4. Software 5. Zoektijd in bomen
17 Bomen
18 p. 63 Bomen (hoofdstuk 6) 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 Jan Lemeire Pag. 18 / 65
19 Binaire boom Jan Lemeire Pag. 19 / 65
20 Alle mogelijkheden afgaan = aanmaken boom (les 8) p. 108 Initial UP LEFT UP LEFT DOWN UP LEFT RIGHT Oplossing puzzel zoeken LEFT DOWN DOWN LEFT RIGHT Jan Lemeire Pag. 20 / Geen binaire boom, kan meer of minder takken hebben
21 p. 63 Geordende binaire boom Zoeken kan snel Flexibel: toevoegen & verwijderen Jan Lemeire Pag. 21 / 65
22 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; } Jan Lemeire Pag. 22 / 65
23 Boom object public class BinaryTree<T> { Node<T> root; Comparator<T> comparator; } public BinaryTree(Comparator<T> comparator){ this.comparator = comparator; root = null; } Jan Lemeire Pag. 23 / 65
24 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. Jan Lemeire Pag. 24 / 65
25 Voorbeeld Niet in cursus public class Student implements Comparable<Student>{ String voornaam, naam; int rolnummer, score; Vak[] vakken; int[] punten; Student(String voornaam, String naam, int rolnummer){ this.voornaam=voornaam; this.naam=naam; this.rolnummer=rolnummer; vakken = new Vak[4]; public int compareto(student student2) { int ordenaam = this.naam.compareto(student2.naam); if (ordenaam == 0) // beide dezelfde naam return this.voornaam.compareto(student2.voornaam); else return ordenaam; } Jan Lemeire Pag. 25 / 65
26 p. 65 IntegerComparator class IntegerComparator implements Comparator<Integer> public int compare(integer val1, Integer val2) { return val1 - val2; } } Jan Lemeire Pag. 26 / 65
27 Aanmaken van boom IntegerComparator comparator = new IntegerComparator(); BinaryTree<Integer> tree = new BinaryTree<Integer>(comparator); korter: BinaryTree<Integer> tree = new BinaryTree<Integer>(new IntegerComparator()); Jan Lemeire Pag. 27 / 65
28 Niet in cursus Nog korter: via anonymous class BinaryTree<Integer> tree = new BinaryTree<Integer>( new Comparator<Integer>() public int compare(integer val1, Integer val2) { return val1 - val2; } } ); Jan Lemeire Pag. 28 / 65
29 Operaties op bomen
30 Belangrijke operaties 1. Toevoegen element 2. Zoeken element 3. Verwijderen element 4. Doorlopen van boom (bvb printen) 5. Balanceren van de boom Jan Lemeire Pag. 30 / 65
31 Recursie zonder recursie? Staartrecursie kan met while 1 recursieve oproep Boomrecursie niet Meer dan 1 recursieve oproep (vb fibonacci) Jan Lemeire Pag. 31 / 65
32 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); } } Jan Lemeire Pag. 32 / 65
33 Volgorde bepaalt boom! Niet in cursus Wat als {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} Jan Lemeire Pag. 33 / 65
34 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) Jan Lemeire Pag. 34 / 65
35 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 } Jan Lemeire Pag. 35 / 65
36 Hoofdstuk 7: Software Jan Lemeire Pag. 36 / 65
37 software: weg met de kabeltjes
38 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 binaire instructies, variabelen Informatica II: en les 8labels van codelijnen. De assembler maakt de vertaling en zet Jan Lemeire Pag. 38 / 65 alle afkortingen om naar binaire machinecode die dan uitgevoerd kan worden.
39 Machinetaal - assembler Instructies op machineniveau: STO (store): sla waarde op in geheugenvakje met naam x EQ/NE (equal): als gelijk aan/is niet gelijk, spring naar xxx (label) MUL/ADD (multiply/add): vermenigvuldig/voeg toe aan x Informatica JMP II: les 8(jump): spring naar xxx Jan Lemeire Pag. 39 / 65
40 Assembler-instructieformaat Informatieverwerkende instructie OPC OP1 OP2 RES OPeration Code: de aard van de bewerking OPerand addresses: de adressen van de twee gegevens waarop operatie zal worden uitgevoerd RESult address: het adres van het resultaat Stuurinstructies (control instructions) OPC OP1 OP2 NEXT NEXT instruction: het adres in het programmageheugen van de volgende instructie Jan Lemeire Pag. 40 / 65
41 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, leesbaarder en minder foutgevoelig. De Nederlander Informatica II: les Edgser 8 Dijkstra was het voornaamste genie achter de 3 e generatietalen. Jan Lemeire Pag. 41 / 65
42 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, een 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 processor) Jan Lemeire Pag. 42 / 65
43 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)! Jan Lemeire Pag. 43 / 65
44 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 virtual machine installeren Jan Lemeire Pag. 44 / 65
45 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 Java via een virtuele machine (die wel specifiek is voor elk system) tijdens Informatica het II: uitvoeren les 8 wordt omgezet naar machinetaal, kan je programma Jan Lemeire Pag. 45 / 65 overal uitgevoerd worden.
46 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 Informatica als II: het les 8ware je applicatie door aan te geven hoe deze er uit moet zien. Dit werkt echter nog niet voor algemene applicaties Jan Lemeire Pag. 46 / 65
47 Tool om GUIs te maken Jan Lemeire Pag. 47 / 65
48 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) Jan Lemeire Pag. 48 / 65
49 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, robots, kritische applicaties, ) Jan Lemeire Pag. 49 / 65
50 Zoektijd in bomen
51 p. 67 Zoektijd binaire boom Als gebalanceerd n => n/2 => n/4 => n/8 => => 1 Of: 1.2 x = n x = aantalzoekstappen = log 2 n Jan Lemeire Pag. 51 / 65
52 Ongebalanceerde boom aantalzoekstappen = log 4 n aantalzoekstappen = log 1.33 n Gemiddelde is slechter dan log 2 n! Jan Lemeire Pag. 52 / 65
53 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 Jan Lemeire Pag. 53 / 65
54 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 Jan Lemeire Pag. 54 / 65
55 p. 69 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 Jan Lemeire Pag. 55 / 65
56 Gebalanceerde bomen
57 Perfect gebalanceerde bomen p. 67 imbalance # nodes # nodes links links # nodes # nodes rechts rechts 12/11 5/6 4/6 2/2 3/2 1/2 3/2 1/0 0/1 1/1 1/0 0/0 1/0 1/1 1/0 Jan Lemeire Pag. 57 / 65
58 // geeft -1 als niet perfect gebalanceerd, anders aantal nodes public int isperfectgebalanceerd(node<t> node){ if (node == null) return 0; int nlinks = isperfectgebalanceerd(node.left); int nrechts = isperfectgebalanceerd(node.right); if (nlinks < 0 && nrechts < 0) return -1; if (Math.abs(nLinks - nrechts) > 1) { System.out.println("Node "+node.data+" is niet perfect gebalanceerd: "+nlinks+" versus "+nrechts); } return -1; } else { } return nlinks + nrechts + 1; Jan Lemeire Pag. 58 / 65
59 Voorbeelden imbalance # nodes # nodes links links # nodes # nodes rechts rechts imbalance=100% imbalance=60% Promotie node l tot root Jan Lemeire Pag. 59 / 65
60 Operaties op bomen (vervolg)
61 3. Verwijderen van element p mogelijkheden: Element is root Element is niet in boom Element heeft 0 of 1 subboom Element heeft 2 subbomen 5 Jan Lemeire Pag. 61 / mogelijke situaties : a) 2 subbomen: 3, 6 b) 0 of 1 subboom: 1, 2, 4, 5, 7 c) niet aanwezig: 0, 8,
62 4 e geval: promoten van node Meest linkse van rechtersubboom Meest rechtse van linkersubboom Jan Lemeire Pag. 62 / 65
63 public boolean remove(t object){ if (comparator.compare(root.data, object)== 0){ root = createsubtree(root); return true; } else return findnodeandremove(root, object); } p. 72 private boolean findnodeandremove(node<t> current, T object){ if (current == null) return false; if (current.left!= null && comparator.compare(current.left.data, object)== 0){ current.left = createsubtree(current.left); return true; } else if (current.right!= null && comparator.compare(current.right.data, object)== 0){ current.left = createsubtree(current.right); return true; } } else if (comparator.compare(current.data, object) < 0) return findnodeandremove(current.left, object); else return findnodeandremove(current.right, object); Jan Lemeire Pag. 63 / 65
64 private Node<T> createsubtree(node<t> current){ if (current.left == null){ // current.right is the only subtree that we should consider return current.right; } else if (current.right == null){ // current.left is the only subtree that we should consider return current.left; } else { // promote rightmost node of left subtree if (current.left.right == null){ current.left.right = current.right; return current.left; } else { Node<T> rightmostnode=pickrightmostnode(current.left); } } } // he is new root of subtree rightmostnode.right = current.right; rightmostnode.left = current.left; return rightmostnode;
65 private Node<T> pickrightmostnode(node<t> current){ // we expect current.right not to be null if (current.right.right!= null){ return pickrightmostnode(current.right); } else { Node<T> rightmostnode = current.right; current.right = rightmostnode.left; rightmostnode.left = null; return rightmostnode; } }
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&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. 2 e semester: les 8. Software & binaire bomen. Jan Lemeire Informatica 2 e semester februari mei Parallel Systems: Introduction
Informatica 2 e semester: les 8 Software & binaire bomen Jan Lemeire Informatica 2 e semester februari mei 2016 Parallel Systems: Introduction Leibniz droom De Calculus ratiocinator Een logisch denkend
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. 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 2019 Vandaag 1. Non-zero sum games 2. Leren 3. Deel III: slimme algoritmen versus intelligentie
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. 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 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 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: 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 informatieTentamen Programmeren in C (EE1400)
TU Delft Tentamen Programmeren in C (EE1400) 3 feb. 2012, 9.00 12.00 Faculteit EWI - Zet op elk antwoordblad je naam en studienummer. - Beantwoord alle vragen zo nauwkeurig mogelijk. - Wanneer C code gevraagd
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 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 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 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 informatieHoofdstuk 2. Week 4: Datastructuren. 2.1 Leesopdracht. 2.2 Bomen. 2.3 Definitie
Hoofdstuk 2 Week 4: Datastructuren 2.1 Leesopdracht In het hoorcollege komen lijsten en bomen aan de orde. De eerste datastructuur komt in het boek in bladzijden 317-333 aan de orde. In dit dictaat komt
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 informatieModelleren en Programmeren
Modelleren en Programmeren Jeroen Bransen 27 november 2015 Recursie Objecten Constructors Aanpassen variabelen this keyword Recursie Recursie Recursieve functie roept zichzelf (direct of indirect) aan
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 informatieAddendum bij hoofdstuk 5 Generieke implementatie van de zoekalgoritmen
Addendum bij hoofdstuk 5 Generieke implementatie van de zoekalgoritmen De implementatie wordt kort besproken in 5.2.6 1. Programmatie Zoekalgoritme Definitie van boom: we hebben geen binaire boom met exact
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 informatieModule 3: Scratch programmeren: is het logisch of is het niet logisch?
Module 3: Scratch programmeren: is het logisch of is het niet logisch? Inhoudsopgave Module 3: Scratch programmeren: is het logisch of is het niet logisch?...1 Wat is een computerprogramma eigenlijk?...2
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 informatieVan Poort tot Pipeline. Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam
Van Poort tot Pipeline Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam Van Poort tot Pipeline Pipeline processor One cycle machine Calculator File of registers Assembly
Nadere informatieREEKS I. Zaterdag 6 november 2010, 9u
TEST INFORMATICA 1STE BACHELOR IN DE INGENIEURSWETENSCHAPPEN - ACADEMIEJAAR 2010-2011 REEKS I Zaterdag 6 november 2010, 9u NAAM :... VRAAG 1: MINSTENS [5 PUNTEN] Schrijf een methode minstens(), met twee
Nadere informatieVAN HET PROGRAMMEREN. Inleiding
OVERZICHT VAN HET PROGRAMMEREN Inleiding Als je leert programmeren lijkt het nogal overweldigend om die eerste stappen te doorworstelen. Er zijn dan ook heel wat programmeertalen (Java, Ruby, Python, Perl,
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 informatieZelftest Programmeren in Java
Zelftest Programmeren in Java Document: n0883test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INLEIDING BIJ DE ZELFTEST PROGRAMMEREN IN JAVA Deze test
Nadere informatiecompileren & interpreteren - compileren: vertalen (omzetten) - interpreteren: vertolken
compileren & interpreteren - compileren: vertalen (omzetten) - interpreteren: vertolken - belangrijkste punten: - ontleden van de programmatekst - bijhouden van de datastructuren Data Structuren en Algoritmen
Nadere informatieDergelijke functionaliteit kunnen we zelf ook aan eigen code toevoegen.
Indexers in C#.Net In deze tutorial ga ik het hebben over indexers. Bij het gebruik van bijvoorbeeld een ArrayList object, kan je de gegevens uit deze collectie opvragen als ware het een array. // ArrayList
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 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 informatieHOGESCHOOL VAN AMSTERDAM Informatica Opleiding. CPP 1 van 10
CPP 1 van 10 ADSdt 1-2009 TENTAMENVOORBLAD Voor aanvang van het tentamen s.v.p. de tentamengegevens goed doorlezen om eventuele misverstanden te voorkomen!! Naam student : Studentnummer : Groep : Studieonderdeel
Nadere informatieLogica voor Informatica
Logica voor Informatica 13 Programma verificatie Wouter Swierstra University of Utrecht 1 Programmeertalen en logica Bij logische programmeertalen hebben we gezien dat we rechstreeks met (een fragment
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 informatieDatastructuren: stapels, rijen en binaire bomen
Programmeermethoden : stapels, rijen en binaire bomen Walter Kosters week 12: 26 30 november 2018 www.liacs.leidenuniv.nl/ kosterswa/pm/ 1 en Vierde programmeeropgave Othello programmeren we als volgt:
Nadere informatieNAAM: Programmeren 1 Examen 29/08/2012
Programmeren 29 augustus 202 Prof. T. Schrijvers Instructies Schrijf al je antwoorden op deze vragenbladen (op de plaats die daarvoor is voorzien). Geef ook je kladbladen af. Bij heel wat vragen moet je
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 informatieTentamen Object Georiënteerd Programmeren TI1206 29 oktober 2014, 9.00-11.00 Afdeling SCT, Faculteit EWI, TU Delft
Tentamen Object Georiënteerd Programmeren TI1206 29 oktober 2014, 9.00-11.00 Afdeling SCT, Faculteit EWI, TU Delft Bij dit tentamen mag je geen gebruik maken van hulpmiddelen zoals boek of slides. Digitale
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 informatieInformatica. Deel II & III: les 5. Basis- & slimme algoritmen. Jan Lemeire Informatica deel II & III februari mei Parallel Systems: Introduction
Informatica Deel II & III: les 5 Basis- & slimme algoritmen Jan Lemeire Informatica deel II & III februari mei 2016 Parallel Systems: Introduction Oefening Iets met een functie public class IetsMetFunctie
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 informatieEen.NET-besturingssysteemtoolkit. Discovering Cosmos. Sijmen J. Mulder
Een.NET-besturingssysteemtoolkit Discovering Cosmos Sijmen J. Mulder Agenda Boek 1 Cosmos: a very short introduction Boek 2 Modern Operating Systems Pauze Boek 3 The Design and Implementation of the Cosmos
Nadere informatieInformatica 2e semester
Informatica 2 e semester: les 10 Internet & sorteren Jan Lemeire Informatica 2 e semester februari mei 2018 Vandaag 1. Operating Systems (slot) 2. Sorteren (2e deel) 3. Internet: geschiedenis 4. Internet:
Nadere informatieTentamen Objectgeorienteerd Programmeren TI februari Afdeling ST Faculteit EWI TU Delft
I ' Tentamen Objectgeorienteerd Programmeren TI 1200 1 februari 2012 9.00-12.00 Afdeling ST Faculteit EWI TU Delft Bij dit tentamen mag je geen gebruik maken van hulpmiddelen zoals boek of slides. Dit
Nadere informatieThinking of Development
Thinking of Development College 2 Imperatief programmeren Arjan Scherpenisse arjan.scherpenisse@kmt.hku.nl @acscherp Dit college Programmeren, wat is dat dan? De programmeur als vormgever Pseudocode Scratch
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 informatieScala. Korte introductie. Sylvia Stuurman
Korte introductie Sylvia Stuurman Wat is er zo bijzonder aan? Schaalbaar Objectgeoriënteerd (handiger dan Java!) Functioneel Scripts schrijven Gecompileerd: Java bytecode Pagina 2 voor scripts Pagina 3
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 informatieIn BlueJ. Doe onderstaande met muis/menu s:
In BlueJ Doe onderstaande met muis/menu s: Download en unzip het bestand sklok-run.zip en open het in BlueJ Maak een Schaakklok-object Voer herstart() uit voor dit object Vraag de resterende tijd op voor
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 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 informatie