Informatik Schuljahr 2023/24, 2eNP, 2dNP, 2pG

Ich entschuldige mich für das teilweise Sprachkauderwelsch, aber die deutschen Begriffe klingen in der Informatik oft etwas seltsam …

5. Bits and Bytes: Wie funktioniert ein Computer?

Lernziele

Leicht aktualisiert, Erstellen einer logischen Schaltung mit Logisim kann auch drankommen. Voraussichtlich findet in diesem Fall der Hauptteil der Prüfung auf Papier statt, der Logisim-Teil als letzte Aufgabe am Computer. Wer Logisim nicht installiert hat, muss das dann in der Prüfung nachholen.

lernziele-bits-and-bytes.pdf

Stoff

Logisim Download: https://sourceforge.net/projects/circuit/

Lösungen einiger Aufgaben (eventuell muss man noch das “numeric python package” numpy installieren; das sollte in VS Code im Terminal der Befehl pip install numpy erledigen): loesungen-bits-and-bytes-bis-aufgabe-15.py

Einige Links:

Zum Bau des 4-Bit-Addierers, einige Logisim-Screenshots

Zum Bau des 4-Bit-Addierers, einige Logisim-Screenshots

Drehen von Bauteilen (Pins, And, Or, …) durch Anklicken (im Konstruktionsmodus) und Menüpunkt “Facing” im Fenster links.

Folgende Abbildung: XOR

Folgende Abbildung: Halbaddierer HA: Addiert zwei Bits (= 1-stellige Binärzahlen)

Folgende Abbildung: Volladdierer VA: Addiert drei Bits (= 1-stellige Binärzahlen)

Folgende Abbildung: 4-Bit-Addierer: Addiert zwei 4-stellige Binärzahlen, https://de.wikipedia.org/wiki/Carry-Ripple-Addierer

Die Hexadezimalanzeigen sind optional. Man findet sie in Logisim unter “Input/Output”. Zum Anschliessen benötigt man Splitter, die man unter “Wiring” findet.

4. Webprojekt: Webseiten erstellen mit HTML und CSS

Das Ziel ist, dass du eine Website (= mehrere, thematisch zusammengehörende Webseiten) erstellst, die dann lokal im Schulnetz für alle zugänglich ist. Am Ende der Projektphase stellst du deine Website in der Klasse in einer kurzen Präsentation vor.1)

Bemerkungen für nächstes Mal (auskommentiert):

3. Python-Programmierkurs

2. Algorithmisches Denken: Vom Problem zum Pseudo-Code zum Python-Programm

1. HTML-Seite mit Visual Studio Code erstellen (1 Doppellektion)

Lernziele Python-Prüfung

Allgemein: Wer in den Lektionen gut mitgearbeitet hat, sollte in der Prüfung gut abschneiden können.

Die Prüfung findet auf Papier statt und wird vom Stil her ähnlich aussehen wie das unten verfügbare Wiederholungsblatt nach den Herbstferien (siehe 3.4).

Der Schwerpunkt liegt auf dem Leseverständnis von Python-Programmen.

Bitte anklicken

Bitte anklicken

Wissen (angegeben ist meist das abstrakte Konzept und die konkreten Begriffe bzw. Zeichen, die in der Programmiersprache Python dafür verwendet werden):

Grundkenntnisse der Programmierung am Beispiel der Programmiersprache Python, genauer:

  • Kenntnis der wesentlichen Kontrollstrukturen in Computerprogrammen:
    • if (else) statements (bedingte Anweisung/Verzweigung); if, else, elif (Doppelpunkte beachten)
    • while loops (“Solange”-Schleife, bedingte Wiederholung); while (Doppelpunkt beachten)
    • Funktionen (mit und ohne Rückgabewert); def, return (Doppelpunkt beachten)
    • Code-Blöcke/Blockstruktur: Bedeutung von Einrückungen in Python (vier/acht/zwölf/etc. Leerschläge am Zeilenanfang)
  • Variablen (= Speicherplätze mit Namen, deren Inhalt sich während des Programmablaufs ändern kann)
  • Ein- und Ausgabe (input, print)
  • Unterscheidung zwischen Datentyp “Zahl” (genauer integer (= ganze Zahl) und float (= Kommazahl) und Datentyp “Zeichenkette” (= string)
  • Umwandlung von integer in string (per str) und von (als ganze Zahl auffassbarem) string in Zahl (per int)
  • Rechnen mit Zahlen (insbesondere Symbole für Rechenzeichen, d.h. +, -, *, /, //, %, **.
  • Rechnen mit Strings: String + String, Zahl * String
  • Unterschied zwischen Zuweisungszeichen = und Vergleichszeichen ==; weitere Vergleichszeichen sind <, , >, >=.
  • Logisches Oder (or) und logisches Und (and)
  • Turtle-Grafik, Grundfunktionen (forward, left, right)
  • (nur Klassen 2dNP und 2eNP): Grundlagen zu Listen: Definition einer Liste, Zugriff auf Elemente, Länge einer Liste, Schleifen über Listen
  • algorithmisches Denken: Vom Problem zum Algorithmus (den man etwa in Pseudocode oder in einer Programmiersprache wie Python angeben kann), siehe Abschnitt 2, insbesondere 2.1 unten.

Können

  • (kleine) Python-Programme, die die oben aufgeführten Konzepte verwenden, verstehen können.
  • “Computer spielen” können:
    • Ausgabe eines Programms ermitteln können.
    • In einer Tabelle eintragen können, wie sich die Variablen während eines Programmablaufs ändern.
  • Fehler in Python-Programmen finden und korrigieren können (oder statt Fehlern Lücken in einem Programm-Code ausfüllen (“Lückenprogramm” statt “Lückentext”))
  • Herausfinden können, was ein Python-Programm tut.
  • (vermutlich maximal zwei Aufgaben am Ende:) selbst ein (kleines) Python-Programm oder eine Funktion schreiben können, das ein vorgegebenes Problem löst, und dabei algorithmische Denkfähigkeit demonstrieren (etwa Ausgabe aller Quadratzahlen von $1^2$ bis $n^2$ für eine am Programmanfang definierte Variable n).

Biber-Wettbewerb

1)
Code aus dem Internet und KI dürfen verwendet werden (bei grösseren Codefragmenten mit Quellenangabe), jedoch musst du in der Lage sein, mir deinen Code zu erklären (im Zweifelsfall Zeile für Zeile).