
<p><strong>Simulationsprogramm zur Visualisierung der Vorgänge in einem Computer </strong></p><p>Masterarbeit zur Erlangung des </p><p><strong>Master of Advanced Studies ZFH in </strong><br><strong>Informatik </strong></p><p>vorgelegt von </p><p><strong>Christian Kaegi </strong></p><p>geboren am 05.01.1969 von Bauma, Kanton Zürich </p><p>eingereicht </p><p><strong>Dipl. Ing. Walter Eich </strong></p><p>Stetten, 28.8.2015 </p><p>ZHAW - Masterarbeit - Christian Kaegi - 28.8.2015 - v2.0.3 </p><p><strong>Inhaltsverzeichnis </strong></p><p></p><ul style="display: flex;"><li style="flex:1"><strong>1. Zusammenfassung </strong></li><li style="flex:1"><strong>9</strong></li></ul><p></p><ul style="display: flex;"><li style="flex:1"><strong>2. Einleitung </strong></li><li style="flex:1"><strong>11 </strong></li></ul><p></p><p>11 12 12 12 12 <br>2.1 Ausgangslage 2.2 Motivation 2.3 Fragestellungen 2.4 Abgrenzung 2.5 Zielsetzung </p><p><strong>3. Von der abstrakten Theorie zur erleb- und fassbaren Simulation </strong></p><p>3.1 Problemanalyse </p><p><strong>13 </strong></p><p>13 13 14 15 15 16 17 18 19 19 20 21 22 22 23 24 25 26 26 27 30 32 36 36 <br>3.1.1 Definition der Zielgruppe 3.1.2 Personas 3.1.3 Beispiele von existierenden Lösungen und Lösungsansätzen <br>3.1.3.1 Little Man Computer 3.1.3.2 Der Bonsai-Modellrechner 3.1.3.3 Der Murmelrechner 3.1.3.4 Paper Processor 3.1.3.5 WDR-1-Bit-Computer 3.1.3.6 Ein 8-Bit Computer Marke Eigenbau 3.1.3.7 Ein einfacher 4-Bit Computer für den Klassenraum 3.1.3.8 Visuelle Simulation einer 6502 CPU auf Transistorebene 3.1.3.9 Simulationen mit Logisim 3.1.3.10 Weitere Simulationsprogramme <br>3.1.4 Fazit <br>3.2 Lösungsansatz 3.3 Die Komponenten <br>3.3.1 Befehls-, Daten- und Adressbus 3.3.2 Logikgatter 3.3.3 Speicher 3.3.4 Auswahlschaltungen 3.3.5 Arithmetik 3.3.6 Taktgeber <br>3.4 Simulation in Logisim bauen </p><ul style="display: flex;"><li style="flex:1">3.4.1 Befehlssatz </li><li style="flex:1">38 </li></ul><p>40 41 <br>3.4.1.1 Erläuterung der Befehle 3.4.1.2 Zeichencode <br>3.5 Anforderungen an das Simulationsprogramm 3.6 Technologie-Evaluation <br>3.6.1 Zielplattform <br>43 44 44 44 44 45 46 46 47 48 49 <br>3.6.2 Java 3.6.3 Actionscript 3.6.4 Javascript/HTML 3.6.5 Dart 3.6.6 Haxe 3.6.7 Entscheid <br>3.7 Design und Implementierung <br>3.7.1 Wichtige Elemente der Companion-Website </p><ul style="display: flex;"><li style="flex:1">3.7.2 User Interface </li><li style="flex:1">51 </li></ul><p>52 52 <br>3.7.2.1 Grafikelemente 3.7.2.2 Grafiken in Adobe Illustrator erstellen </p><p></p><ul style="display: flex;"><li style="flex:1">„Simulationsprogramm zur Visualisierung der Vorgänge in einem Computer“ </li><li style="flex:1">Seite 2 von 71 </li></ul><p></p><p>ZHAW - Masterarbeit - Christian Kaegi - 28.8.2015 - v2.0.3 </p><p>3.7.2.3 Zusätzliche Grafikebenen 3.7.2.4 Navigation <br>54 55 </p><ul style="display: flex;"><li style="flex:1">3.7.3 Software Design </li><li style="flex:1">55 </li></ul><p></p><ul style="display: flex;"><li style="flex:1">3.7.3.1 MVC Framework </li><li style="flex:1">55 </li></ul><p>3.7.4 Vorgehensweise bei der Implementierung <br>3.8 Tests und Validierung <br>57 57 58 58 58 59 59 59 60 60 <br>3.9 Ergebnisse und Zusammenfassung <br>3.9.1 Plattformunterschiede <br>3.9.1.1 Flash 3.9.1.2 Neko 3.9.1.3 Mac OS 3.9.1.4 HTML5 3.9.1.5 iOS 3.9.1.6 Android <br>3.9.2 Vergleich der Ergebnisse <br>3.10 Fazit und Ausblick <br>3.10.1 Zielerreichung <br>61 62 62 62 64 65 <br>3.10.2 Technische Hürden 3.10.3 Ausblick <br>3.11 Persönliches Fazit </p><p><strong>4. Schlussfolgerungen 5. Quellen </strong><br><strong>66 67 </strong></p><ul style="display: flex;"><li style="flex:1"><strong>71 </strong></li><li style="flex:1"><strong>6. Selbständigkeitserklärung </strong></li></ul><p></p><p></p><ul style="display: flex;"><li style="flex:1">„Simulationsprogramm zur Visualisierung der Vorgänge in einem Computer“ </li><li style="flex:1">Seite 3 von 71 </li></ul><p>ZHAW - Masterarbeit - Christian Kaegi - 28.8.2015 - v2.0.3 </p><p><strong>Abbildungsverzeichnis </strong></p><p>Abb. 1: (Quelle: fotolia.de, [3]) Abb. 2: (Quelle: fotolia.de, [4]) Abb. 3: (Quelle: fotolia.de, [5]) <br>14 14 14 <br>Abb. 4: <a href="/goto?url=https://community.dur.ac.uk/m.j.r.bordewich/" target="_blank">Little Man Computer Simulation (Quelle: https://community.dur.ac.uk/m.j.r.bordewich/ </a></p><ul style="display: flex;"><li style="flex:1">LMC.html, besucht: 10.5.2015) </li><li style="flex:1">15 </li></ul><p>16 17 <br>Abb. 5: <a href="/goto?url=http://www.inf-schule.de/infschule/softwarewerkzeuge/" target="_blank">Bonsai Simulationsprogramm (Quelle: http://www.inf-schule.de/infschule/softwarewerkzeuge/ </a>bonsai, besucht 10.5.2015) </p><p>Abb. 6: <a href="/goto?url=http://www.inf-schule.de/rechner/bonsai/einfuehrung/ausblick" target="_blank">Bonsai-Lerncomputer (Quelle: http://www.inf-schule.de/rechner/bonsai/einfuehrung/ausblick, </a>besucht 10.5.2015) </p><p>Abb. 7: <a href="/goto?url=http://www.inf-schule.de/rechner/bonsai/murmelrechner/" target="_blank">Akteure für das Rollenspiel (Quelle: http://www.inf-schule.de/rechner/bonsai/murmelrechner/ </a></p><ul style="display: flex;"><li style="flex:1">einfachermurmelrechner/akteure, besucht: 10.5.2015) </li><li style="flex:1">17 </li></ul><p></p><ul style="display: flex;"><li style="flex:1">18 </li><li style="flex:1">Abb. 8: <a href="/goto?url=https://sites.google.com/site/kotukotuzimiti/" target="_blank">Paper Processor (Quelle: https://sites.google.com/site/kotukotuzimiti/, besucht 10.9.2015) </a></li></ul><p>Abb. 9: <a href="/goto?url=https://sites.google.com/site/kotukotuzimiti/" target="_blank">Instructionset für den Paper Processor (Quelle: https://sites.google.com/site/kotukotuzimiti/, </a></p><ul style="display: flex;"><li style="flex:1">besucht 10.5.2015) </li><li style="flex:1">19 </li></ul><p></p><ul style="display: flex;"><li style="flex:1">19 </li><li style="flex:1">Abb. 10: <a href="/goto?url=http://wdr-1-bit-computer.talentraspel.de" target="_blank">WDR-1-Bit-Computer (Quelle: http://wdr-1-bit-computer.talentraspel.de, besucht 18.5.2015) </a></li></ul><p>Abb. 11: <a href="/goto?url=http://www.instructables.com/id/" target="_blank">8-Bit Computer Marke Eigenbau (Quelle: http://www.instructables.com/id/ </a></p><ul style="display: flex;"><li style="flex:1">How-to-Build-an-8-Bit-Computer/, besucht 18.5.2015) </li><li style="flex:1">20 </li></ul><p>20 21 <br>Abb. 12: <a href="/goto?url=http://repository.cmu.edu/cgi/viewcontent.cgi?article=1595&context=-" target="_blank">CHUMP lab kit (Quelle: http://repository.cmu.edu/cgi/viewcontent.cgi?article=1595&context=- </a>compsci, besucht 16.5.2015) </p><p>Abb. 13: <a href="/goto?url=http://www.visual6502.org" target="_blank">Visual Transistor-level Simulation of the 6502 CPU (Quelle: http://www.visual6502.org, </a>besucht 18.5.2015) </p><p>Abb. 14: Tetris-Simulation in Logisim (Quelle: https://www.youtube.com/watch?v=YCBa1NH4ORE, </p><ul style="display: flex;"><li style="flex:1">besucht 9.5.2015) </li><li style="flex:1">22 </li></ul><p>23 25 <br>Abb. 15: Struktur eines Computers mit 6 Ebenen (Quelle: [31], S.22) Abb. 16: Architektur des geplanten Simulationsprogramms Abb. 17: <a href="/goto?url=https://de.wikipedia.org/wiki/Logikgatter" target="_blank">Typen von Logikgattern und Symbolik (Quelle: https://de.wikipedia.org/wiki/Logikgatter, </a></p><ul style="display: flex;"><li style="flex:1">besucht 04.07.2015) </li><li style="flex:1">26 </li></ul><p>26 27 28 28 <br>Abb. 18: NAND-Gatter (erstellt in Logisim) Abb. 19: Gatter und die entsprechenden Umsetzungen mit NAND-Gattern (erstellt in Logisim) Abb. 20: 1-Bit Speicher (erstellt in Logisim, ([37], S.24)) Abb. 21: 4-Bit Speicher (erstellt in Logisim, ([37], S.40)) </p><p></p><ul style="display: flex;"><li style="flex:1">„Simulationsprogramm zur Visualisierung der Vorgänge in einem Computer“ </li><li style="flex:1">Seite 4 von 71 </li></ul><p>ZHAW - Masterarbeit - Christian Kaegi - 28.8.2015 - v2.0.3 </p><p>Abb. 22: 4-Bit Register (erstellt in Logisim, ([37], S. 40)) Abb. 23: 4-Bit RAM (erstellt in Logisim, ([37], S. 52)) Abb. 24: 4-Bit Enabler (erstellt in Logisim, ([37], S. 40)) Abb. 25: 4x2 Multiplexer (erstellt in Logisim) <br>29 29 30 31 31 32 32 33 34 34 35 35 <br>Abb. 26: 4x2 Multiplexer, 4 Datenbits (erstellt in Logisim) Abb. 27: 2x4 Dekoder (erstellt in Logisim, ([37], S. 48)) Abb. 28: Komparator (erstellt in Logisim, [38]) Abb. 29: 4-Bit Zähler (erstellt in Logisim, [38]) Abb. 30: Halbaddierer (erstellt in Logisim, ([37], S. 79)) Abb. 31: Volladdierer (erstellt in Logisim, ([37], S. 79)) Abb. 32: 4-Bit Addierer (erstellt in Logisim, ([37], S. 79)) Abb. 33: ALU „Arithmetic Logic Unit“ (erstellt in Logisim, [34]) Abb. 34: <a href="/goto?url=http://de.f-alpha.net/elektronik/digitale-elektronik/flip-flop/los-gehts/" target="_blank">Taktsignal (Quelle: http://de.f-alpha.net/elektronik/digitale-elektronik/flip-flop/los-gehts/ </a></p><ul style="display: flex;"><li style="flex:1">experiment-8-master-slave/, besucht 19.6.2015) </li><li style="flex:1">36 </li></ul><p>37 38 40 <br>Abb. 35: Fehler auf den Leitungen (erstellt in Logisim) Abb. 36: Fertige Vorlage für das Simulationsprogram (erstellt in Logisim) Abb. 37: Programm in hexadezimaler Form für Logisim (erstellt in Textmate) Abb. 38: ASCII-Tabelle (Quelle: http://worldpowersystems.com/J/codes/X3.4-1963/page5.JPG, </p><ul style="display: flex;"><li style="flex:1">besucht 21.6.2015) </li><li style="flex:1">42 </li></ul><p>Abb. 39: Ebenen rsp. Detailstufen nach dem Babuschka-Prinzip, hier am Beispiel von Akkumulator </p><ul style="display: flex;"><li style="flex:1">und ALU </li><li style="flex:1">48 </li></ul><p>49 50 <br>Abb. 40: Navigation: Top-Down und Bottom-Up Abb. 41: Punkte malen Abb. 42: <a href="/goto?url=http://www.papierexpert.de/shop-c13-Kleinmengen-unter-" target="_blank">Palette mit Kopierpapier (Quelle: http://www.papierexpert.de/shop-c13-Kleinmengen-unter- </a></p><ul style="display: flex;"><li style="flex:1">Palette, besucht 19.6.2015) </li><li style="flex:1">50 </li></ul><p>51 52 53 53 54 <br>Abb. 43: Wireframe für iPad Abb. 44: Eine frühe Version, erstellt in Adobe Illustrator Abb. 45: Links mit Anti-Aliasing, rechts mit Kantenglättung Abb. 46: Pixelgenaue Grafik - kristallklar und scharf: das Anti-Aliasing ist weg Abb. 47: Anzeige des Datenflusses und Ausblenden gerade nicht beteiligter Komponenten </p><p></p><ul style="display: flex;"><li style="flex:1">„Simulationsprogramm zur Visualisierung der Vorgänge in einem Computer“ </li><li style="flex:1">Seite 5 von 71 </li></ul><p>ZHAW - Masterarbeit - Christian Kaegi - 28.8.2015 - v2.0.3 </p><p></p><ul style="display: flex;"><li style="flex:1">Abb. 48: Die fertige Hauptnavigation </li><li style="flex:1">55 </li></ul><p></p><ul style="display: flex;"><li style="flex:1">56 </li><li style="flex:1">Abb. 49: PureMVC - Konzeptionelles Diagramm (Quelle: [83]) </li></ul><p>Abb. 50: Kompiler-Anweisung: Skalierungsfaktor für iOS auf 2 setzen, für alle restlichen Zielplattformen </p><ul style="display: flex;"><li style="flex:1">auf 1 lassen </li><li style="flex:1">58 </li></ul><p></p><ul style="display: flex;"><li style="flex:1">59 </li><li style="flex:1">Abb. 51: Mac OS: Text wird nicht innerhalb des Textrahmens umgebrochen </li></ul><p>Abb. 52: Zum Vergleich: In Flash stimmt der Text- </p><ul style="display: flex;"><li style="flex:1">umbruch, die « und » Zeichen sind ebenfalls vorhanden </li><li style="flex:1">59 </li></ul><p>Abb. 53: iPad: Änderung der Hintergrundfarbe und Textfarbe im Textfeld lässt den Text verschwinden 60 </p><ul style="display: flex;"><li style="flex:1">Abb. 54: Bei den anderen Plattformen funktioniert die Änderung der Textfeldfarben </li><li style="flex:1">60 </li></ul><p>Abb. 55: Lösung des Textfeld-Hintergrundfarbe-Problems: Vermeidung rsp. Nutzung einer zusätzlichen </p><ul style="display: flex;"><li style="flex:1">Bitmapgrafik </li><li style="flex:1">60 </li></ul><p>63 64 <br>Abb. 56: Nach dem Konvertieren von Haxe zu iOS ist der Programmcode nicht mehr wirklich lesbar Abb. 57: Code-Ausschnitt der automatisch erstellten Javascript-Datei </p><p></p><ul style="display: flex;"><li style="flex:1">„Simulationsprogramm zur Visualisierung der Vorgänge in einem Computer“ </li><li style="flex:1">Seite 6 von 71 </li></ul><p>ZHAW - Masterarbeit - Christian Kaegi - 28.8.2015 - v2.0.3 </p><p><strong>Tabellenverzeichnis </strong></p><p>Tab. 1: Beispiel eines Rechenverfahrens für den Murmelrechner Tab. 2: Zuweisung der untersuchten Lösungen zu den 6 Ebenen des Computers Tab. 3: Logikgatter im Vergleich <br>18 23 27 39 39 40 41 42 42 47 58 61 <br>Tab. 4: Beispiel von Programmzeilen Tab. 5: Beispiel von Programmzeilen, zusätzlich mit Assemblerbefehlen Tab. 6: Bedeutungen des Opcodes Tab. 7: Bedeutung des Daten- und Adressteils in Zusammenhang mit dem Opcode Tab. 8: Eigener Zeichencode Tab. 9: WELCOME! mit eigens erstelltem Zeichencode Tab. 10: Vergleich der Technologien nach der Evaluation Tab. 11: Übersicht: auf welchen Plattformen läuft der kompilierte Haxe-Code? Tab. 12: Vergleich der Ergebnisse der Applikation auf den verschiedenen Zielplattformen </p><p></p><ul style="display: flex;"><li style="flex:1">„Simulationsprogramm zur Visualisierung der Vorgänge in einem Computer“ </li><li style="flex:1">Seite 7 von 71 </li></ul><p>ZHAW - Masterarbeit - Christian Kaegi - 28.8.2015 - v2.0.3 </p><p><strong>Abkürzungen </strong></p><p><strong>Abkürzung </strong></p><p>API GUI </p><p><strong>Erklärung </strong></p><p>Application Programming Interface Graphical User Interface Integrated Development Environment Model-View-Controller Native Development Kit Portable Network Graphics Random Access Memory Read Only Memory <br>IDE MVC NDK PNG RAM ROM SDK SVG SWF UI <br>Software Development Kit Scalable Vector Graphics Small Web Format User Interface </p><ul style="display: flex;"><li style="flex:1">VM </li><li style="flex:1">Virtual Machine </li></ul><p></p><p></p><ul style="display: flex;"><li style="flex:1">„Simulationsprogramm zur Visualisierung der Vorgänge in einem Computer“ </li><li style="flex:1">Seite 8 von 71 </li></ul><p></p><ul style="display: flex;"><li style="flex:1">ZHAW - Masterarbeit - Christian Kaegi - 28.8.2015 - v2.0.3 </li><li style="flex:1">Zusammenfassung </li></ul><p></p><p><strong>1. Zusammenfassung </strong></p><p>Unser Alltag ist geprägt von Informations- und Kommunikationstechnologie: Nebst Computer und Smartphone sind es aber auch weniger offensichtliche Geräte, die wir täglich nutzen: die Kaffeemaschine, der RFID- Chip im Autoschlüssel, die Informationsanzeige am Bahnhof etc. Mit den sogenannten „Wearables“, die immer mehr an Bedeutung gewinnen, hält noch mehr Technologie im Alltag Einzug. Daher wird es in Zukunft immer wichtiger zu verstehen, wie die Grundprinzipien eines Computers funktionieren. Die vorliegende Arbeit nimmt sich diesem Thema an. Die Basis bildet ein Simulationsprogramm, welches die Vorgänge in einem Computer visuell darstellt. Dabei geht es in erster Linie darum zu vermitteln, was genau „ein Computer versteht nur 0 oder 1“ in der Praxis bedeutet. Auf spielerische Art und Weise wird erleb- und fassbar gemacht, wie Bus, Logikgatter, Register, Taktgeber etc. zusammenhängen. </p><p>Dazu werden Gespräche mit Informatikpädagogen geführt, die bestätigen, wie wichtig dieses Verständnis ist. Diverse bestehende Lösungen werden genauer beleuchtet: von spielerischen Varianten mit Murmeln oder Papier bis zu selbstgebauter Hardware und Simulationsprogrammen. Im Laufe der Evaluation wird klar, dass zwar viele verschiedene Lösungen mit ganz unterschiedlichen Schwerpunkten existieren, aber keine, welche die Vorgänge in ihrer Gesamtheit, von der einzelnen Instruktion bis zur aktivierten Leitung in einem Logikgatter, visuell darstellt. In Logisim, einer Software zur Erstellung digitaler Schaltungen und Simulationen für Lernzwecke, wird eine 4-Bit CPU erstellt, die als Basis dient, um anschliessend das eigentliche Simulationsprogramm zu bauen. Eine wichtige Anforderung ist die Verwendbarkeit auf möglichst vielen Plattformen. Dazu werden fünf Programmiersprachen unter die Lupe genommen, die in Frage kommen: Java, Actionscript, Javacript/HTML, Dart und Haxe. Jede Sprache wird genau betrachtet, die Vor- und Nachteile werden abgewogen, bis schliesslich Haxe als Favorit feststeht. Als nächstes werden anhand von Wireframes die Informationsarchitektur und das Layout festgelegt. Dabei wird bereits berücksichtigt, dass die Applikation auf Tablets mit Touchscreen bedienbar sein soll und die Navigationselemente entsprechend gestaltet werden müssen. In Adobe Illustrator werden die Grafiken erstellt und anschliessend in Adobe Photoshop als Bitmapgrafiken weiterverarbeitet. Bei der Implementierung wird zuerst ein geeignetes MVC Framework gesucht. Mit PureMVC wird eine viel versprechende Lösung gefunden, die nicht nur für Haxe verfügbar ist, sondern auch für eine Reihe anderer Sprachen. Somit soll die spätere Portierung, falls nötig, einfacher sein, weil grosse Teile der Architektur übernommen werden können. Im Laufe der Umsetzung wird klar, dass Haxe sein vollmundiges Versprechen – „With Haxe, you can easily build cross-platform tools targeting all the mainstream platforms natively“ [72] – in der Praxis leider nicht ganz halten kann. Auf jeder der verwendeten Zielplattformen (Flash, Neko, Mac OS, HTML 5, iOS und Android) tauchen Probleme auf. In einer Vergleichstabelle wird abgewogen, wie gravierend diese Mängel sind und ob dadurch der Einsatz von Haxe weiterhin in Frage kommt oder nicht. Am Schluss bleibt nur HTML als Zielplattform übrig, die mit Einschränkung empfohlen werden kann. Und dies auch nur auf dem Desktop Computer – auf den Tablets hält die Performanz dem Vergleich mit den nativen Versionen nicht stand. Das Simulationsprogramm verlangt der jeweiligen Plattform mit seinen schnellen Grafikwechseln einiges ab, sodass man vor einer weiteren Entwicklung des Programms zuerst das weitere Vorgehen überdenken muss. </p><p></p><ul style="display: flex;"><li style="flex:1">„Simulationsprogramm zur Visualisierung der Vorgänge in einem Computer“ </li><li style="flex:1">Seite 9 von 71 </li></ul><p></p><ul style="display: flex;"><li style="flex:1">ZHAW - Masterarbeit - Christian Kaegi - 28.8.2015 - v2.0.3 </li><li style="flex:1">Zusammenfassung </li></ul><p></p><p>Als Schlussfolgerung muss das erstellte Simulationsprogramm als Prototyp angesehen werden. Aufgrund der Ergebnisse mit Haxe und den Anforderungen an die Leistung der jeweiligen Plattform, speziell bei Tablet Computern, muss die Lösung als ganzes neu überdacht werden. Mit Haxe ist man in einer Sackgasse angelangt, und so kommt Java als mögliche Alternative wieder in Betracht, jetzt aber nicht mehr als eine ganzheitliche Lösung für Desktop und Tablets, sondern als ausgewachsene Applikation für den Desktop einerseits und als abgespeckte und vereinfachte Variante für iOS und Android andererseits . Diese vereinfachten Varianten könnten dafür wieder mit Haxe umgesetzt werden. Mit PureMVC hat man zum Glück ein Framework, dass für alle in Frage kommenden Sprachen eingesetzt werden kann. </p><p></p><ul style="display: flex;"><li style="flex:1">„Simulationsprogramm zur Visualisierung der Vorgänge in einem Computer“ </li><li style="flex:1">Seite 10 von 71 </li></ul><p></p><ul style="display: flex;"><li style="flex:1">ZHAW - Masterarbeit - Christian Kaegi - 28.8.2015 - v2.0.3 </li><li style="flex:1">Ausgangslage </li></ul><p></p><p><strong>2. Einleitung </strong></p><p>Die Informatik ist heutzutage allgegenwärtig. Die Informations- und Kommunikationstechnologien dringen immer tiefer in unseren Alltag ein: neben Computer, Smartphone, Navigationsgerät tauchen neue Begriffe auf wie „M2M“ (Machine-to-Machine) und „Wearables“. Die Geräte werden dabei immer kleiner und unsichtbarer, Unmengen von Daten werden laufend gespeichert und ausgewertet. Wir verlassen uns immer mehr darauf, dass „es einfach funktioniert“. Oft geht es dabei um überlebenswichtige Aufgaben, wie beispielsweise bei Bordcomputern von Fahrzeugen (vom Motorrad bis zum Flugzeug), medizinischen Überwachungsgeräten, Verkehrsleitsystemen und so weiter. </p><p>Neben den offensichtlichen Computern mit Bildschirm und Tastatur sind wir umgeben von digitaler Technik, ohne uns dessen wirklich bewusst zu sein: Mikrocomputer oder sogenannte digitale Signalprozessoren (DSPs) sind weitverbreitet in unserem täglichen Leben. Man findet sie im Wecker auf dem Nachttisch, in der Kaffeemaschine, in der Temperaturüberwachung im Heizsystem, im RFID-Chip im Autoschlüssel, dem Mikrowellenherd, in der Informationsanzeige am Bahnhof etc. Da diese Systeme eine bestimmte Aufgabe erfüllen und Bestandteil eines Produktes oder Systems sind, nennt man sie „Embedded Systems“. Die Mikrocomputer dieser eingebetteten Systeme haben viel gemeinsam mit einem herkömmlichen PC, allerdings sind hier die Programme meist permanent gespeichert und stellen nur die für das Produkt erforderlichen Funktionen bereit. ([1], S.7) Mit den Wearables, also zum Beispiel in Kleider integrierten Computerchips, wird die ganze Situation noch einmal drastisch gesteigert, Google Glass oder die Smartwatch sind nur der Anfang. Alles wird mit allem vernetzt sein und laufend werden Informationen ausgetauscht. </p><p>In naher Zukunft wird es daher immer wichtiger zu verstehen, wie die Grundprinzipien eines Computers funktionieren. Denn die haben sich in den letzten 50 Jahren kaum verändert. </p><p><strong>2.1 Ausgangslage </strong></p><p>Auf der Suche nach Beispielen, welche die Funktionsweise eines Computers zeigen, stösst man immer wieder auf folgende zwei „Muster“: <br>• <strong>einfach und abstrakt: </strong>Anhand von einfachen Vergleichen wie „Glühlampe ein/aus“, „alles ist 0 oder 1“, <br>„der Computer ist dumm, aber schnell“ wird auf abstrakte Art und Weise vermittelt, wie ein Computer im Prinzip funktioniert. <br>• <strong>technisch und komplex: </strong>Anhand von zum Teil aufwändigen Beispielen werden CPUs simuliert. Zwar technisch einwandfrei, aber für den Einstieg in die Materie zu anspruchsvoll und somit abschreckend. </p><p><strong>Im Lehrplan21 (Modul Medien und Informatik) heisst es unter Zielsetzungen „Informatik“</strong>; </p><p>• „Schülerinnen und Schüler verstehen Grundkonzepte der automatisierten Informationsverarbeitung, nutzen sie zur Entwicklung von Lösungsstrategien in allen Lebensbereichen und zum Verständnis der Informationsgesellschaft ([2], S.2)“. </p><p><strong>... und unter Didaktische Hinweise „Informatik“</strong>: </p><p>• „Be-greifbare“ Informatik: „Informatik gilt als abstraktes Thema. Für eine erfolgreiche Vermittlung in der Volksschule gilt es deshalb, Informatik anschaulich und begreifbar zu vermitteln. Neben dem Lebensweltbezug bei der Wahl der Beispiele ist deshalb darauf zu achten, Informatikkonzepte wenn immer möglich be-greifbar und anschaulich zu vermitteln ([2], S.4)“. </p><p></p><ul style="display: flex;"><li style="flex:1">„Simulationsprogramm zur Visualisierung der Vorgänge in einem Computer“ </li><li style="flex:1">Seite 11 von 71 </li></ul><p></p><ul style="display: flex;"><li style="flex:1">ZHAW - Masterarbeit - Christian Kaegi - 28.8.2015 - v2.0.3 </li><li style="flex:1">Motivation </li></ul><p></p><p><strong>2.2 Motivation </strong></p><p>„Wenn immer möglich be-greifbar und anschaulich zu vermitteln“: Dieser Satz hat den Autor dieses Berichtes in seiner Vermutung bestärkt, dass hier eine grosse Nachfrage nach zusätzlicher, interaktiver Unterstützung im Unterricht besteht. Im Gespräch mit René Moser (Leiter Bildung und ICT) und Roland Boot (Lehrmittel, Unterrichtsfragen) vom Volksschulamt Zürich hat sich diese Vermutung verfestigt und in ein echtes Bedürfnis verwandelt. Dies ging sogar soweit, dass in der Diskussion die Idee entstand, zukünftig eine modulartige Plattform zu schaffen, die auch weitere Aspekte abdecken könnte. </p>
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages71 Page
-
File Size-