Abschnittsübersicht

  • Wir lernen im Kurs "Grundlagen der Digitalisierung" mit dem von-Neumann-Modell ein Konzept für den grundlegenden Aufbau und die prinzipielle Funktionsweise von Informatiksystemen kennen und verstehen die Programmierbarkeit als zentrales Wirkprinzip von Informatiksystemen.

    Stand: 2025-02-12 – Der Kurs wird wieder gepflegt.

    • Werkzeuge für den Unterricht

    • Neben einem Office-Paket (z. B. LibreOffice oder OnlyOffice) werden ein aktueller Browser und ein Internet-Zugang benötigt. Für Hausaufgaben oder zum Nachvollziehen der Unterrichtsbeispiele können Programme des IoSticks benutzt werden. 

    • Arbeitsauftrag aus dem BP 10: Auswirkungen der Digitalisierung untersuchen Aufgabe
      Nicht verfügbar, außer: Sie sind in einer Gruppe
    • In den Klassen 8 und 9 haben wir einige Projekte mit dem Calliope mini durchgeführt.

      1. Beschreiben Sie den grundlegenden Aufbau des Gerätes.
      2. Implementieren Sie auf dem Calliope mini in das vorhandene Programm eine Funktionalität, die den Nachfolger der zufällig bestimmten Zahl bestimmt und ausgibt. Übertragen Sie das Programm auf den Calliope mini und testen Sie es.
      3. Beschreiben Sie den Inhalt der Datei, die auf den Calliope mini übertragen wird.
    • Ein Blick in die Datei zeigt uns eine eigenartige Sprache aus Zahlen. Scheinbar gibt es vorn  eine laufende Nummerierung und dahinter einen Code, den der Calliope direkt versteht.

      Wir wollen also ermitteln, die Computer im Allgemeinen aufgebaut sind und wie sie prinzipiell arbeiten. Prüfen wir nach, ob der von uns gefundene Aufbau des Calliope mini so fundamental ist. Dazu schauen wir uns den Film "Meilensteine der Naturwissenschaft und Technik - Charles Babbage und Konrad Zuse und der Computer" an.

    • Gruppe 1: Erfasst auf einem Zeitstrahl die Daten, die zur Erfindung des Computers führten mit Datum und Erfinder/Entwickler/Forscher

      Gruppe 2: Erfasst den grundlegenden Aufbau des Rechnermodells von John von Neumann.

    • 01 AB von Neumann Lösung 10 Datei
      Nicht verfügbar, außer: Sie sind in 10_1
    • Übungen mit MOPS

      Das Video beschreibt den Aufbau eines von-Neumann-Rechners, aber nicht seine Arbeitsweise. Hier hilft uns ein Simulationsprogramm namens MOPS. Wir analysieren zunächst ein MOPS-Programm im Animationsmodus und erweitern dieses anschließend.

    • Quiz Link/URL
      Nicht verfügbar, außer: Sie sind in 10_1
    • Zusammenfassung

      Wie haben den Aufbau und die grundlegende Funktionsweise eines Informatiksystems nach dem von- Neumann-Modell kennen gelernt und mit MOPS ein Werkzeug zur Simulation maschinennaher Programmierung genutzt.

      Uns ist aufgefallen, dass die Maschinensprache geeignet ist um einen Prozessor zu programmieren. Allerdings ist es eher mühselig, komplexe Algorithmen damit zu entwickeln. Es ist zweckmäßiger eine "höherer" Programmiersprache wie etwa MakeCode zu verwenden. 

      Bild: CC BY-SA 2.0, Smithsonian InstitutionWikimedia Commons contributors, https://commons.wikimedia.org/w/index.php?title=File:Grace_Hopper_and_UNIVAC.jpg&oldid=502905726

      Grace Hopper ist ein frühe Programmiererin, die genau diese Idee hatte. Allerdings gab es 1957 noch keine höheren Programmiersprachen. Daher hat sie im Team die Sprache A0 und kurz darauf die erste höhere Sprache COBOL entwickelt.

  • Hervorgehoben
    • Im von-Neumann-Konzept findet sich die Formulierung: "Ein Computer arbeitet elektronisch und verwendet Binärzahlen." In unseren Simulationen und auch im Rollenspiel haben wir das jedoch nicht realisiert. Schauen wir uns mal genauer an, warum binäre Signale (und die Binärzahlen) für die maschinelle Verarbeitung so sehr geeignet sind.

      1. Warum funktioniert(e) die "mechanischen Computer" von Charles Babbage damals und heute praktisch nicht?
      2. Warum wählte Zuse das Relais als zentrales Bauelement für seinen Computer aus?
      3. Beschreiben Sie, wie man mithilfe von 0 und 1 Dezimalzahlen und Zeichen bilden kann.
      1. Wie funktioniert das Zählen mit zwei Händen von 0 bis 1023?
      2. Wie weit könnten zwei Menschen mit ihren Händen zählen?
      3. Wie funktioniert binäres Addieren?

      Hier geht es zur Mausseite und dem Mausfilm (weit unten) zum Zählen.

    • Binäre Signale lassen sich in sog. Logikschaltungen verarbeiten. Solche Logikschaltungen bestehen aus Grundbausteinen, den Logikgattern.

    • Selbststudium: Grundlagen und Arbeitsmaterial nach Lehrbuch Inf-Schule.de
    • Grenzen der binären Zahlendarstellung

    • Computer müssen auch negative ganze Zahlen darstellen können, also zu 24 sollte es auch eine -24 geben.

      Erste Idee (keine gute): Einerkomplement

      Man könnte die Bitfolge der natürlichen Zahl negieren. Zur Zahl 6[10] = 0110[2] wäre dann -6[10] = 1001[2].
      Damit gibt es allerdings ein Problem: zur Zahl 0[10] = 0000[2] gäbe es eine "negative Null: -0[10] = 1111[2]! Die Null ist jedoch einmalig, zur ihr darf es kein "Gegenstück" geben.

      Lösung: Zweierkomplement

      Die Lösung ist so einfach: Im Dezimalsystem entsteht bei der Addition der positiven und negativen Zahl stets Null. Wir suchen also eine Binärzahl n zu beispielsweise 5[10] = 0101[2], für die gilt 0101[2] + n = 0000[2]. Durch Probieren finden wir -5[10] = 1011[2]. Die Addition ergibt zwar einen Übertrag auf die Stelle 24, aber das blenden wir aus.

      Können wir aus dem Probieren eine Regel entwickeln? Klar: 

      1. Bilde das Einerkomplement der Binärzahl = Negiere die Bitfolge der Binärzahl 
      2. Erhöhe das Ergebnis aus 1.) um eins = Inkrementiere das Ergebnis.

      Gibt es noch unsere "negative" Null?
      Nein, da:

      1. Einerkomplement: 0000[2] → 1111[2]
      2. Inkrement: 1111[2] → 0000[2]

      Im Zweierkomplement sind alle Binärzahlen, bei denen das höchste Bit den Wert 1 hat, negativ. Mit vier Bit lassen sich die Zahlen von -8[10] = 1111[2] bis 7[10] = 0111[2] bilden.

      Probleme bei der Zahldarstellung: 7 + 1 = -8?

      Inkrementiert man 7[10] = 0111[2], so erhält man 1000[2] = -8[10]!

      Der Zahlbereich der ganzen Zahlen ist als endlicher Zahlenkreis darstellbar. In diesem gibt es eine Problemstelle, nämlich den Übergang von der höchsten darstellbaren Zahl zum Nachfolger. Programmierer müssen daher stets auf den Wertebereich des Datentyps achten, um keine fehlerhaften Berechnungen durch den sogenannten Überlauf zu erzeugen.

      Und was ist mit reellen Zahlen?

      Die Abbildung reeller Zahlen auf dem Computer ist defacto unmöglich. Man nutzt Hilfskonstrukte wie die Gleitkommadarstellung. Diese ist jedoch endlich und diskret, d. h. zwischen zwei Zahlen ist eine Lücke. Die Differenz zu nächst möglichen Gleitkommazahl ist ein Fehler, der sich bei umfangreichen Rechnungen auch sehr schnell summieren und zu ernsthaften Konsequenzen führen kann. 

      Das kann man auch schnell selbst ausprobieren: Was passiert in Java/Python, wenn man 0.1 und 0.2 addiert?