aboutsummaryrefslogtreecommitdiff
path: root/Info/11/NTG/Intro/slides.md
diff options
context:
space:
mode:
authorFlorian Fischer <florian.fischer@muhq.space>2024-09-14 13:32:47 +0200
committerFlorian Fischer <florian.fischer@muhq.space>2024-09-14 13:32:47 +0200
commit51b5fe614a364f3fb2778e997715c2b96d745620 (patch)
tree59860b80900fb0d61dc1464405d61158ff5d791a /Info/11/NTG/Intro/slides.md
parentd9b44d4edd61574130b2b7b6197b19cff11dac50 (diff)
downloadunterricht-51b5fe614a364f3fb2778e997715c2b96d745620.tar.gz
unterricht-51b5fe614a364f3fb2778e997715c2b96d745620.zip
add 11 NTG intro lesson
Diffstat (limited to 'Info/11/NTG/Intro/slides.md')
-rw-r--r--Info/11/NTG/Intro/slides.md184
1 files changed, 184 insertions, 0 deletions
diff --git a/Info/11/NTG/Intro/slides.md b/Info/11/NTG/Intro/slides.md
new file mode 100644
index 00000000..3576804d
--- /dev/null
+++ b/Info/11/NTG/Intro/slides.md
@@ -0,0 +1,184 @@
+---
+author: Florian Fischer
+theme: metropolis
+aspectratio: 169
+header-includes: |
+ \makeatletter
+ \beamer@ignorenonframefalse
+ \makeatother
+---
+
+
+## Organisatorisches
+
+**Name**: Herr Fischer
+
+### Material
+
+* Papier, Order/Schnellhefter, Tablet
+* 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)
+
+## Logins {.standout}
+
+Ab diesem Jahr Login mit dem eigenen Microsoft Account.
+
+vorname.nachname
+
+\faIcon{desktop} Startet eure Rechner und meldet euch an
+
+## Umfrage
+
+::: {.columns align=center}
+:::: {.column width=50%}
+\vspace{0.2cm}
+![](img/mentimeter_qr_code.png)
+::::
+
+:::: {.column width=55%}
+\large
+**[https://www.menti.com/al8bhhx74siu](https://www.menti.com/al8bhhx74siu)**
+::::
+:::
+
+## \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.
+::::
+:::
+
+
+## \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 Nutzer Namen 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.