Informatik Grundlagenfach 2. Jahr 2024/2025

A. Nimm-Spiele gewinnen, Binärzahlen

Bereich ausklappen/einklappen
Spiele einige Runden dieses Nim-Spiel gegen Juan und versuche ihn zu besiegen. Die Regeln sind einfach:

  • Man darf beliebig viele Perlen nehmen, aber nur aus einer Zeile.
  • Wer die letzte Perle nehmen muss, hat verloren.

Leitfragen

  • Was ist die Gewinnstrategie gegen Juan?
  • Wie gehst du vor, wenn du das Spiel beginnst und «Juan» als Zweites spielt?
  • Welche Strategie hast du, wenn der Gegenspieler «Juan» das Spiel beginnt?
  • Welche wichtigen Beobachtungen machst du? Welche Erklärungen gibt es dafür?

Auftrag 1
Beantworten Sie die Leitfragen ausführlich!
Weitere Fragen könnten sein:

  • Gibt es Situationen, in denen es nicht eindeutig ist, was der nächste eigene Zug ist?
  • Wie muss wann entschieden werden?

Auftrag 2
Welche Aussagen sind falsch und warum?

  • A1: „Wenn ich am Zug bin, dann nehme ich immer Perlen der untersten Reihe, sodass die Reihen gleichlang werden.“
  • A2: „Wenn ich wählen kann, dann soll Juan starten, so gewinnt man fast immer.“
  • A3: „Es ist quasi unmöglich, langfristig zu gewinnen. Das Spiel ist nicht fair.“

Was ist Modulo und wie hilft es bei Nim-Spielen?
Modulo ist eine math. Rechenoperation, mit welcher der Rest einer Division zweier Zahlen berechnet werden kann.
Beispiel:
$(17 : 3) = 5$ Rest 2 und dies kann geschrieben werden als $17 mod 3 = 2$

In vielen Varianten des Nim-Spiels ist Modulo ein zentrales Konzept für die Gewinnstrategie: Pearls before Swine: Hier verwendet man folgende Strategie: wenn die Nim-Summe zu Beginn eines Zuges `0` ist, befindet sich der Spieler in einer verlierenden Position, vorausgesetzt, der andere Spieler spielt optimal. Wir addieren die einzelnen Spalten der Binärzahlen undn summieren ohne übertrag - das ergebnis ist dann 0 oder 1. Dieses Weglassen des übertrags ist nichts anderes als Modulo 2 zu rechnen. Denn Beispielsweise ist ja 5 mod 2 = 1 und 4 mod 2 = 0.
Da die Modulo-Operation uns dieses Jahr noch mehrfach begegnen wird, gibt es hier einige Übungen dazu. Versuchen Sie auch herauszufinden, wie Ihr Taschenrechner Modulo rechnet.

Auftrag 3

  1. Denken Sie sich sechs natürliche Zahlen aus und berechne deren Fünferreste. Mindestens zwei davon sind gleich. Warum muss das so sein? Erklären Sie!
  2. Berechne den Elferrest von
    1. 200
    2. 500
    3. 700
    4. 1000
    5. 1'000'000.
  3. Berechnen Sie die folgenden Modulos:
    1. $2^2$; $2^4$;$2^8$;$2^{12}$;$2^{100}$ mod 3
    2. $2^2$; $2^{20}$;$2^{100}$ mod 5
    3. $3^{20}$ mod 5, was kann man daraus für die Endziffer von 320 schließen?

Lösung: Wie schlägt man Juan?

  1. Man schreibt die Anzahl der Perlen in jeder Zeile in Binärschreibweise
  2. Die Summe der Bits in jeder Spalte muss gerade sein, wenn Juan drankommt. Ist dies der Fall, so ist man in einer Gewinnstellung.

B. Ein kleiner Einblick in Computer-Netzwerke

Bereich ausklappen/einklappen
Ein Computernetzwerk ist ein System, in dem mehrere Computer oder digitale Geräte miteinander verbunden sind, um Daten auszutauschen und Ressourcen wie Drucker oder Internetzugang gemeinsam zu nutzen. Es ermöglicht die Kommunikation zwischen den Geräten, sei es über Kabel oder drahtlos. Das Ziel dieser kurzen Einheit ist es, sich die wichtigsten grundlegenden Elemente gemeinsam anzuschauen. Folgende Fragen werden wir klären:

C. Datenbanken

Bereich ausklappen/einklappen
Eine Datenbank ist eine Sammlung von zusammenhängenden Informationen (Daten), die üblicherweise auf einem Computersystem gespeichert sind. Datenbanken sind in unserer digitalisierten Welt allgegenwärtig.

Beispielsweise:

  • Datenbank der Schüler/innen (Adressen, Noten, Absenzen, Wahlfächer etc.)
  • Alle Artikel und Einträge von Wikipedia, Instagram etc. werden in einer Datenbank gespeichert und die Seite verwendet die Daten, um eine Webseite für den entsprechenden Benutzer darzustellen.
  • Bei der künstlichen Intelligenz geht es darum, ein System mit sehr vielen Daten darauf zu trainieren, eine bestimmte Aufgabe zu erledigen (z.B. ChatGPT für Texte, Midjourney für Bilder, Amper Music für Musik etc.).
  • Daten sind ein riesiges Geschäft im Marketing und in der Werbung (Data Driven Marketing): je mehr Daten man über potenzielle Kunden gesammelt hat, desto optimiertere und personalisiertere Werbung kann man ihm anbieten (z.B. Google Ads)

Wir werden uns im Folgenden anschauen, wie Datenbanken aufgebaut sind und wir beschäftigen uns mit der Verwaltung eines konkreten Sozialen Netzwerks, welches die Daten der Benutzer speichert und verwendet.

D. Grundlagen und Vertiefung der Programmierung

Bereich ausklappen/einklappen
  • Um die Grundlagen der Programmierung zu wiederholen, bzw. dies zu vertiefen, werden wir das Spiel Minecraft Education verwenden.
    Hier findest du eine Einführung und allgemeine Informationen zu Minecraft

  • In Minecraft kann man einen kleinen Agenten programmieren, der dir die Bauarbeit abnehmen kann.
    Hier findest du eine Erklärung zur Programmierung des Agenten.

  • Auf dieser Seite sind die wichtigsten Blöcke zusammengefasst.

  1. Auf dieser Seite findest du noch einmal eine Zusammenstellung der Programmierkonzepte, die du mithilfe von Minecraft gelernt hast.
  2. Die Lernziele findest du hier.

E. Minecraft-Projekt erstellen

Bereich ausklappen/einklappen
Nun soll die Python-Programmierung, die wir im letzten Kapitel gelernt haben, in einem konkreten Minecraft-Projekt angewendet werden.

Hier findest du die Details zum Projekt der 2.D2.

Hier findest du die Details zum Projekt der 2.D1.

F. Kryptografie

Bereich ausklappen/einklappen
In diesem Kapitel geht es darum, Nachrichten zu verstecken bzw. zu verschlüsseln, sodass diese für unberechtigte Drittpersonen nicht gelesen werden können.
  1. Kryptografie und Kryptoanalyse - Teil 1 (Kryptografie und Kryptoanalyse von der Antike bis heute, ein Abriss, Transposition)
  2. Kryptografie und Kryptoanalyse - Teil 2 (Substitution monoalphabetisch)
  3. Kryptografie und Kryptoanalyse - Teil 3 (Substitution polyalphabetisch)