gf2:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
gf2:start [2024/09/09 11:21] marrocgf2:start [2025/06/09 13:36] (aktuell) marroc
Zeile 1: Zeile 1:
 ======= Informatik Grundlagenfach 2. Jahr  2024/2025 ======= ======= Informatik Grundlagenfach 2. Jahr  2024/2025 =======
 +<callout type="success" title="G. JavaScript">
 +{{fa>angle-double-down}}<button collapse="coll7" type="link">Bereich ausklappen/einklappen </button>
 +<collapse id="coll7">
 +In diesem kurzen Ausblick geht es darum, herauszufinden, was Javascript ist und wie dies verwendet wird.
 +[[JavaScript|gf2:JavaScript]]
 +</collapse>
 +</callout>
 +<callout type="success" title="F. Kryptografie">
 +{{fa>angle-double-down}}<button collapse="coll6" type="link">Bereich ausklappen/einklappen </button>
 +<collapse id="coll6">
 +In diesem Kapitel geht es darum, Nachrichten zu verstecken bzw. zu verschlüsseln, sodass diese für unberechtigte Drittpersonen nicht gelesen werden können. 
 +  - [[gf2:KryptoEinleitung|Einleitung]]
 +  - [[gf2:KryptoStegano|Steganografie]]
 +  - [[gf2:KryptoTeil1|Kryptografie und Kryptoanalyse - Teil 1]] (Kryptografie und Kryptoanalyse von der Antike bis heute, ein Abriss, Transposition)
 +  - [[gf2:KryptoTeil2|Kryptografie und Kryptoanalyse - Teil 2]] (Substitution monoalphabetisch)
 +  - [[gf2:KryptoTeil3|Kryptografie und Kryptoanalyse - Teil 3]] (Substitution polyalphabetisch)
 +  - [[gf2:Schluesseltausch|Schlüsseltausch (Diffie-Hellman)]]
 +  - [[gf2:Asymetrie_u_Signatur|Asymmetrischer Schlüsselaustausch und die Signaturen]]
 +  - [[gf2:Lernziele_Krypto|Lernziele]]
 +</collapse>
 +</callout>
 +
 <callout type="primary" title="A. Nimm-Spiele gewinnen, Binärzahlen"> <callout type="primary" title="A. Nimm-Spiele gewinnen, Binärzahlen">
 {{fa>angle-double-down}}<button collapse="coll1" type="link">Bereich ausklappen/einklappen </button> {{fa>angle-double-down}}<button collapse="coll1" type="link">Bereich ausklappen/einklappen </button>
 <collapse id="coll1"> <collapse id="coll1">
-Spiele einige Runden dieses [[https://www.mathematix.ch/Pearls|Nim-Spiel]] gegen Juan und versuche ihn zu besiegen. Die Regeln sind einfach: \\ \\ +In diesem ersten Einstiegskapitel geht es um Gewinnstrategie, eine etwas besondere Art des Zählens und damit verbunden mit MODULO Rechnung.  
- +[[gf2nimspiel|Nim-Spiel]]
-  * 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 vorwenn 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? +
- +
-<WRAP nicebox green> +
-**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."\\ +
-</WRAP> +
-**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. +
-<WRAP nicebox green> +
-**Auftrag 3**\\ +
-  - 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! +
-  - Berechne den Elferrest von  +
-    - 200 +
-    - 500 +
-    - 700  +
-    - 1000 +
-    - 1'000'000. +
-  - Berechnen Sie die folgenden Modulos: +
-    - $2^2$; $2^4$;$2^8$;$2^{12}$;$2^{100}$ mod 3 +
-    - $2^2$; $2^{20}$;$2^{100}$ mod 5 +
-    - $3^{20}$ mod 5, was kann man daraus für die Endziffer von 320 schließen? +
-   +
-</WRAP> +
- +
-=== Lösung: Wie schlägt man Juan? === +
- +
-  - Man schreibt die Anzahl der Perlen in jeder Zeile in Binärschreibweise +
-  - Die Summe der Bits in jeder Spalte muss gerade sein, wenn Juan drankommt. Ist dies der Fall, so ist man in einer Gewinnstellung+
-  [[https://www.alraft.de/altenhein/spiele/nim-spiel/grundlagen.html | Nützlicher Link]]+
 </collapse> </collapse>
 </callout> </callout>
Zeile 71: Zeile 40:
 </collapse> </collapse>
 </callout> </callout>
-<hidden>+
 <callout type="primary" title="C. Datenbanken"> <callout type="primary" title="C. Datenbanken">
 {{fa>angle-double-down}}<button collapse="coll3" type="link">Bereich ausklappen/einklappen </button> {{fa>angle-double-down}}<button collapse="coll3" type="link">Bereich ausklappen/einklappen </button>
Zeile 86: Zeile 55:
   - [[gf2:Datenbanken:Einleitung|Einleitung zu den Datenbanken]]   - [[gf2:Datenbanken:Einleitung|Einleitung zu den Datenbanken]]
   - [[gf2:Datenbanken:Definition|Entwurf und Modellierung]]   - [[gf2:Datenbanken:Definition|Entwurf und Modellierung]]
-  - [[gf2:Datenbanken:SQL|SQL-Structured Quere Language]]+  - [[gf2:Datenbanken:SQL|SQL-Structured Query Language]]
   - [[gf2:datenbanken:herausforderungen|Verschiedene Datenbanktypen und deren Herausforderungen]]   - [[gf2:datenbanken:herausforderungen|Verschiedene Datenbanktypen und deren Herausforderungen]]
   - [[gf2:Datenbanken:Lernziele|Lernziele für die Datenbankprüfung]]   - [[gf2:Datenbanken:Lernziele|Lernziele für die Datenbankprüfung]]
Zeile 98: Zeile 67:
  
   * In Minecraft kann man einen kleinen Agenten programmieren, der dir die Bauarbeit abnehmen kann. \\ [[gf2:agent|Hier]] findest du eine Erklärung zur Programmierung des Agenten. \\ \\   * In Minecraft kann man einen kleinen Agenten programmieren, der dir die Bauarbeit abnehmen kann. \\ [[gf2:agent|Hier]] findest du eine Erklärung zur Programmierung des Agenten. \\ \\
-  * Auf [[gf2:bloecke|dieser Seite]] sind die wichtigsten Blöcke zusammengefasst. \\ \\+  * Mit Hilfe von Minecraft können die Programmierkonzepte wiederholt und das Wissen erweitert werden. >>[[gf2:pythonaufgabenkonzepte|Programmierkonzepte in Python]] \\ \\ 
 +  * [[gf2:ProgrammierkonzepteTraining|Hier]] <color #22b14c>gibt es ein Training zu Python in Minecraft und den Programmierkonzepten</color> 
 +  * Lernziele finden Sie [[gf2:lernzieleprogrammieren|hier]]
  
-  - Auf [[gf2:programmierkonzepte|dieser Seite]] findest du noch einmal eine Zusammenstellung der Programmierkonzepte, die du mithilfe von Minecraft gelernt hast. 
-  - Die [[gf2:lernziele|Lernziele]] findest du hier. 
 </collapse> </collapse>
 </callout> </callout>
 +
 <callout type="primary" title="E. Minecraft-Projekt erstellen"> <callout type="primary" title="E. Minecraft-Projekt erstellen">
 {{fa>angle-double-down}}<button collapse="coll5" type="link">Bereich ausklappen/einklappen </button> {{fa>angle-double-down}}<button collapse="coll5" type="link">Bereich ausklappen/einklappen </button>
Zeile 109: Zeile 79:
 Nun soll die Python-Programmierung, die wir im letzten Kapitel gelernt haben, in einem konkreten Minecraft-Projekt angewendet werden.\\  Nun soll die Python-Programmierung, die wir im letzten Kapitel gelernt haben, in einem konkreten Minecraft-Projekt angewendet werden.\\ 
 \\  \\ 
 +<hidden>
 [[gf2:projekte:minecraft:start|Hier]] findest du die Details zum **Projekt der 2.D2**.  \\ [[gf2:projekte:minecraft:start|Hier]] findest du die Details zum **Projekt der 2.D2**.  \\
- +</hidden> 
-[[gf2:projekte:minecraft:startd1|Hier]] findest du die Details zum **Projekt der 2.D1**.  +[[gf2:projekte:minecraft:startd1|Hier]] findest du die Details zum **Projekt**.  \\  
 +**<color #7092be> --> Auf [[gf2:bloecke|dieser Seite]] sind die wichtigsten Blöcke zusammengefasst.</color>** \\ \\
 </collapse> </collapse>
 </callout> </callout>
 +<hidden>
 <callout type="success" title="F. Kryptografie"> <callout type="success" title="F. Kryptografie">
 {{fa>angle-double-down}}<button collapse="coll6" type="link">Bereich ausklappen/einklappen </button> {{fa>angle-double-down}}<button collapse="coll6" type="link">Bereich ausklappen/einklappen </button>
  • gf2/start.1725873665.txt.gz
  • Zuletzt geändert: 2024/09/09 11:21
  • von marroc