--- author: Florian Fischer theme: metropolis aspectratio: 169 header-includes: | \usetikzlibrary{positioning} --- ## {.standout} \centering Willkommen in der 11. Klasse \faIcon{desktop} Startet schon mal eure Rechner und meldet euch an ## Was erwartet uns dieses Jahr? \centering \begin{tikzpicture}[scale=1.5] \node[circle, fill=black, minimum size=0.1cm] at (1cm, 0) (g) {}; \node[below=of g] {\faIcon{code-branch} Graphen}; \draw[] (0, 0) -- (g); \node[circle, fill=black, minimum size=0.1cm] at (3cm, 0) (cv) {}; \node[below=of cv, align=center] {\faIcon{key} Kodierung \& \\ Verschlüsselung}; \draw[] (g) -- (cv); \node[circle, fill=black, minimum size=0.1cm] at (5cm, 0) (i) {}; \draw[] (cv) -- (i); \node[below=of i, align=center] {\faIcon{network-wired} Internet}; \draw[-Latex] (i) -- (8cm, 0); \node[circle, fill=black, minimum size=0.1cm] at (7cm, 0) (ki) {}; \node[below=of ki, align=center] {\faIcon{brain} KI}; \pause \node[draw] at (4cm, 1cm) (v) {Vertiefung ?}; \end{tikzpicture} ## Mebis Umfrage \large **[https://lernplattform.bycs.de](https://lernplattform.bycs.de)** \vspace{1cm} ![](img/mootimeter.png) ## Organisatorisches - VORSCHLAG **Name**: Herr Fischer ### Material * Tablet, (Papier, Order/Schnellhefter) * [Buch (falls angekündigt)] ### \faIcon{pencil-alt} Noten pro Halbjahr * 1 Kurzarbeit * (angekündigter kleiner Leistungsnachweis) ### \faIcon{comment} Noten * Unterrichtsbeiträge (aus $\approx$ 3 Beobachtungen) * (Schriftliche Abfragen) ## Organisatorisches - Arbeitsauftrag \faIcon{pencil-alt} Notiere deine Gedanken zu den folgenden Punkten: * Das sind meine Ziele für den Informatik-Unterricht - **5 min** * Das muss ich dafür machen? * \only<1>{So sollte der Unterricht gestaltet sein?}\only<2->{\boldred{So sollte der Unterricht gestaltet sein?}} * \only<1>{Das wünsche ich mir von Herr Fischer?}\only<2->{\boldred{Das wünsche ich mir von Herr Fischer?}} \pause \faIcon{hands-helping} Tauscht euch über die letzten beiden Punkte aus - **5min** \pause \faIcon{chalkboard} Sammelt eure Vorstellungen für einen gelungenen Informatik-Unterricht ## Pixelflut 25/26 ::: {.columns align=center} :::: {.column width=50%} \vspace{0.2cm} ![](https://i.redd.it/agcbmqgjn14z.png){.center} :::: :::: {.column width=50%} * Pro Doppelstunde 0-3 Pixel anmalen * 1014 Pixel insgesamt :::: ::: # Wiederholung 10. Klasse ## \faIcon{hands-helping} / \faIcon{chalkboard} Arbeitsauftrag: Modellierung \hfill{} 1/5 ### Diskutiert folgende Aussage: \vspace{1cm} > Jeder Mensch hat ja ein Geburtsdatum, deshalb kann ich die Geburtsdaten als Attributwerte in der Klasse `Mensch` speichern. ## \faIcon{hands-helping} / \faIcon{chalkboard} Arbeitsauftrag: Algorithmik \hfill{} 2/5 ### Diskutiert folgende Aussage: \vspace{1cm} > Wiederholungen mit fester Anzahl (`for`{.java}) sind doch total sinnlos! > Ich kann immer einfach eine Wiederholung mit Bedingung (`while`{.java}) und eine Variable benutzen. ## \faIcon{hands-helping} / \faIcon{chalkboard} Arbeitsauftrag: Felder \hfill{} 3/5 ### Diskutiert folgende Aussage: \vspace{1cm} > Felder/Arrays dienen zur Speicherung verschiedener Datentypen in einer Variable. > Sie sind außerdem leicht an den geschweiften Klammern zu erkennen. ## \faIcon{hands-helping} / \faIcon{chalkboard} Arbeitsauftrag: Code verstehen \hfill{} 4/5 ### Diskutiert folgende Aussage: ::: {.columns} :::: {.column width=45%} ```java int f(int[] zahlen) { int m = zahlen[0]; for (int i = 1; i < zahlen.length; i++) { if (zahlen[i] > m) { m = zahlen[i]; } } return m; } ``` :::: :::: {.column width=55%} \vspace{2.5cm} > Die Funktion `f` berechnet immer etwas anderes, daher folgt das Ergebnis keiner Logik. :::: ::: ## \faIcon{hands-helping} / \faIcon{chalkboard} Arbeitsauftrag: Polymorphismus \hfill{} 5/5 ### Diskutiert folgende Aussage: ::: {.columns} :::: {.column width=45%} ```java class Tier { public void gibLaut() { println("Laut"); } } class Hund extends Tier { public void gibLaut() { println("Wuff"); } } ``` :::: :::: {.column width=55%} ```java Tier tier = new Hund(); tier.gibLaut(); ``` \vspace{1cm} > Der Code gibt `"Laut"` aus, da der Hund als seine Oberklasse `Tier` verwendet wird. :::: ::: # Wiederholung Java ## \faIcon{desktop} Arbeitsauftrag: Wiederholung Java \begin{center} \begin{tikzpicture} \node {\includegraphics[keepaspectratio, width=5cm]{img/whack_a_mole_arcade.jpg}}; \only<2->{ \node[rotate=3] {\includegraphics[keepaspectratio, width=6cm]{img/whack_a_mole_online_ide.jpg}}; } \end{tikzpicture} \end{center} ## \faIcon{desktop} Arbeitsauftrag: Wiederholung Java ### Erklärung * `// TODO n: `{.java} markiert eine Stelle, die in Aufgabe **n** bearbeitet werden muss. * `/* FIXME n: */`{.java} markiert bestehenden Code, der in Aufgabe **n** verändert werden muss. ### Start 1. Öffne die Online-IDE **[www.online-ide.de](www.online-ide.de)** in deinem Browser. 2. Melde dich mit dem von mir erhaltenen Nutzernamen und Passwort an. 3. Öffne das Projekt *WhackAMole*. ## \faIcon{desktop} Aufgabe 1: Felder - 10 min 1/3 ### Erinnerung Relevante Stellen sind mit `// TODO 1:`{.java} und `/* FIXME 1: /*`{.java} markiert. ### Aufgabe 1. *Deklariere* und *Initialisiere* ein Feld `moles`, in dem mehrere Objekte der Klasse `Mole` gespeichert werden sollen. 2. Verwende die *Länge* des Feldes `moles` als Obergrenze für die Zählvariable `i` in den beiden `for`{.java}-Schleifen. 3. Speichere jedes neu erzeugte Objekt der Klasse `Mole` in dem Feld `moles`. ## \faIcon{desktop} Aufgabe 2: Objekte verwenden - 10 min 2/3 1. Setze die Sichtbarkeit neuer Maulwürfe auf `false`{.java}. 2. Behandle alle [nicht]{.underline} zerstörten Maulwürfe in der Methode `run`. 3. Setze die Sichtbarkeit des behandelten Maulwurfs entsprechend. ## \faIcon{desktop} Aufgabe 3: Spiellogik - 10 min 3/3 Implementiere einen Algorithmus, der erkennt, dass keine Maulwürfe mehr übrig sind und beende anschließend das Spiel. **Für Schnelle:** 1. Spaß haben. 2. Implementiere einen Highscore in Abhängigkeit von der Zeit. 3. Färbe zufällig Maulwürfe in einer anderen Farbe, die dann nicht angeklickt werden dürfen.