Skip to content

Commit

Permalink
Merge pull request #7 from fsi-la-inf/sol/ddi/f21t3
Browse files Browse the repository at this point in the history
Added current version from sol/ddi/f21t3
  • Loading branch information
motrellin authored Jul 17, 2024
2 parents 2a05d7f + 8e8c663 commit 4ddea30
Show file tree
Hide file tree
Showing 5 changed files with 239 additions and 0 deletions.
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
[submodule "authorchapters"]
path = authorchapters
url = https://github.com/motrellin/authorchapters.git
[submodule "lst-robotkarol"]
path = lst-robotkarol
url = https://github.com/motrellin/lst-robotkarol.git
1 change: 1 addition & 0 deletions ddi/sol.tex
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
\chapter{Lösungsversuche}
\input{ddi/sol/f21t3}
229 changes: 229 additions & 0 deletions ddi/sol/f21t3.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,229 @@
\sectionwithauthor[author={Max Ole Elliger},email={[email protected]}]{F21T3}
\subsubsection{Aufgabe 1}
\paragraph{Erlebnis für die SuS}
Die Arbeit mit den Robotern bietet den Schülerinnen und Schülern (SuS) die
Möglichkeit, erarbeitete Algorithmen direkt auszuprobieren, und das nicht nur am
Bildschirm. Dies lässt sich anhand des EIS-Prinzips nach Bruner nachvollziehen:
Während die reine Programmierarbeit eher symbolischen Charakter hat, bietet sich
den SuS durch die Roboter die Möglichkeit, ihre Erarbeitung enaktiv
auszuprobieren.

Im Vergleich dazu bietet eine Simulation eines Roboters diese Möglichkeit nicht
direkt. Viel mehr findet das Ausprobieren (nach dem EIS-Prinzip) ikonisch statt.
\par
\paragraph{Praktische Umsetzung im Unterricht}
Während eine simulierte Umgebung wie Robot Karol einfach am Computer bedient
werden kann, benötigen die Roboter mehr physischen Platz im Klassenzimmer. Je
nach Klassengröße und Platz pro Schreibtisch kann dies ein Problem darstellen.
\par
\paragraph{Anforderungen an die Programmierumgebung}
Mit Blick auf die erste Kompetenzerwartung des Lehrplanauszugs sollte die
Programmierumgebung Möglichkeiten bieten, diese auch ohne Programmierkenntnisse
erforschen zu können, schließlich sollen die SuS Problemstellungen u. a. aus
ihrer Erfahrungswelt analysieren und strukturieren. Dies wird beispielsweise in
Robot Karol durch die Schaltflächen zur Navigation durch die Welt ermöglicht.

Abgesehen davon sollte die Umgebung typische Programmierbausteine beinhalten,
wie z.B. Sequenz, Bedingte Anweisung, Wiederholung mit fester Anzahl oder
Bedingte Wiederholung.

Zudem sollte die Bedienung intuitiv sein, sodass das Testen von Programmen keine
allzu große Hürde bietet.
\par

\subsubsection{Aufgabe 2}
Hier die geforderte Grobplanung:

\begin{table}[H] % TODO Positioning
\centering
\begin{tabularx}{\textwidth}{|c|>{\raggedright\arraybackslash}X|>{\raggedright\arraybackslash}X|}
\hline
Stunde & Beschreibung & Feinziel \\
\hline
1 & Betrachtung von Algorithmen aus der Erfahrungswelt der SuS,
Definition der Begriffe \emph{Algorithmus}, \emph{Anweisung} & Die SuS
sind in der Lage, den Begriff \emph{Algorithmus} anhand von Beispielen
aus ihrer Lebenswirklichkeit zu verdeutlichen. \\
\hline
2 & Einarbeiten in die Programmierumgebung des Roboters, Schreiben
einfacher sequentieller Programme, Begriff \emph{Sequenz} & Die SuS sind
in der Lage, einfache sequentielle Programme in der
Roboterprogrammierumgebung zu schreiben.
\\
\hline
3 & Programme mit bedingten Anweisungen & Die SuS sind in der Lage,
\emph{bedingte Anweisungen} gezielt in Programmen einzusetzen. \\
\hline
4 & Wiederholung mit fester Anzahl & Die SuS sind in der
Lage,\emph{Wiederholungen mit fester Anzahl} gezielt in Programmen
einzusetzen. \\
\hline
5 & Bedingte Wiederholung & Die SuS sind in der
Lage,\emph{bedingte Wiederholungen} gezielt in Programmen einzusetzen.
\\
\hline
6 & Projektarbeit & Die SuS sind in der Lage, mithilfe der erlernten
Programmierelemente größere Aufgabenstellungen zu bewältigen. \\
\hline
\end{tabularx}
\caption{Grobplanung}
\end{table}

\subsubsection{Aufgabe 3}

\paragraph{Aufgabenstellung}
\begin{enumerate}
\item
Nenne die Definition des Begriffs \emph{Algorithmus}!
Verdeutliche den Begriff zudem an einem Beispiel aus dem Alltag!
\item
Im folgenden ist ein Programmausschnitt dargestellt. Nenne die
beiden verwendeten Programmierkonstrukte!
\begin{lstlisting}[language=robotkarol]
wiederhole 5 mal
Schritt()
Drehen()
endewiederhole
\end{lstlisting}
\item
Programmiere folgende Situation für den Roboter: Wenn der
Roboter vor einer Wand steht, dann soll er sich einmal nach
links drehen und einen Schritt laufen. Ansonsten soll er einen
Schritt nach vorne gehen.
\item
Programmiere folgende Situation für den Roboter: Der Roboter
soll sich dauerhaft abwechselnd einmal links drehen und
anschließend nach rechts drehen.
\end{enumerate}
\par
\paragraph{Lösungsvorschlag}
\begin{enumerate}
\item
Eine Algorithmus ist eine \emph{endliche} und \emph{eindeutige} Abfolge von
Anweisungen. Ein Beispiel aus dem Alltag ist ein Backrezept:
Eine Anweisung ist beispielsweise, man solle 200 Gramm Mehl in
eine Schüssel geben. Bekannterweisen besteht ein Rezept nur aus
endlich vielen Anweisungen, und diese sollen in einer klar
vorgegebenen eindeutigen Reihenfolge durchgeführt werden.
\item
\emph{Wiederholung mit fester Anzahl}, \emph{Sequenz}
\item
\begin{lstlisting}[language=robotkarol]
wenn IstWand() dann
LinksDrehen()
Schritt()
sonst
Schritt()
endewenn
\end{lstlisting}

\item
\begin{lstlisting}[language=robotkarol]
wiederhole solange True
LinksDrehen()
RechtsDrehen()
endewiederhole
\end{lstlisting}

\end{enumerate}
\par

\subsubsection{Aufgabe 4}

%TODO Tabelle?

Nach der üblichen Begrüßung und Behandlung organisatorischer Themen sollen alle
SuS eine Anleitung zum Bau eines Papierfliegers niederschreiben. Sie dürfen
dabei nicht selbst ein Exemplar bauen. Nach 10 Minuten tauschen sie Anleitungen
mit einer festgelegten Partnerin oder Partner aus, die nicht direkt daneben
sitzen. Anschließend sollen Papierflieger gemäß den übergebenen Anleitungen
gebaut werden.

Diese vorbereitende Übung soll zu dem Ergebnis führen, dass Anleitungen leicht
missverstanden werden können. Da davon auszugehen ist, dass die Anleitungen
nicht ausreichend detailliert geschrieben werden, wird voraussichtlich kaum ein
Papierflieger den Erwartungen der SuS entsprechen. Dies führt zu einem
Unterrichtsgespräch, welche Eigenschaften gute Anleitungen haben müssen. Hierbei
sollten folgende Eigenschaften gefunden werden:
\begin{itemize}
\item
präzise
\item
möglichst kleinschrittig, Schritt für Schritt
\item
nachvollziehbar für die Leserin/den Leser
\end{itemize}
Mithilfe dieser Sammlung soll nun der Bezug zur Informatik im
Unterrichtsgespräch thematisiert werden. Dabei soll der Unterschied zwischen
Mensch und Computer besprochen werden: Computer haben im Gegensatz zu Menschen
nicht die Möglichkeit, Anweisungen kreativ zu interpretieren.

Anschließend werden die Begriffe \emph{Anweisung} und \emph{Algorithmus}
eingeführt und in Form eines Hefteintrages gesichert:
\begin{quote}
Einen eindeutigen und atomaren Einzelschritt nennen wir
\emph{Anweisung}.
\end{quote}
\begin{quote}
Eine endliche und eindeutige Abfolge von Anweisungen nennen wir
\emph{Algorithmus}.
\end{quote}

Nun sollen die SuS in Partnerarbeit Beispiele für Algorithmen aus dem Alltag
finden. Nach 5 Minuten werden diese in Form eines Unterrichtsgespräches an der
Tafel gesammelt. Dadurch bekommen die SuS Zeit, mit einem Peer über die neuen
Begriffe zu reflektieren und nach Beispielen zu suchen, wobei sie diese im
Anschluss überprüfen können. Zwecks Sicherung werden diese Beispiele dann auch
im Heft festgehalten.

Zum Schluss sollen in Einzelarbeit die folgenden Beispiele dahingehend
analysiert werden, ob Algorithmen dargestellt werden:
\begin{enumerate}
\item
\begin{quote}
Zuerst fahren Sie zwei Kilometer geradeaus. Anschließend
biegen Sie links ab und halten nach 200 Metern. Wenn Sie
nun aussteigen, befinden Sie sich vor dem Bahnhof.
\end{quote}
\item
\begin{lstlisting}
Addiere 1
Addiere 1
Addiere 1
Addiere 1
Addiere 1
...
\end{lstlisting}
\item
\begin{quote}
Schütte als Erstes 200 Gramm Mehl in die Schüssel.
Anschließend kommen ...ähm... 50 Gramm Zucker oder 100
Gramm Salz dazu. Danach einfach kräftig umrühren und
fertig ist der Kuchen!
\end{quote}
\end{enumerate}
Während das erste Beispiel tatsächlich einen Algorithmus darstellt, stellen die
anderen beiden Beispiele Gegenbeispiele dar, wobei Beispiel 2 auf die
Endlichkeit und Beispiel 3 auf die Eindeutigkeit der Anweisungen hinweist.
Dadurch können die SuS den Begriff besser abgrenzen.

Die Ergebnisse werden im Anschluss im Unterrichtsgespräch besprochen, um
sicherzustellen, dass alle SuS die richtigen Ergebnisse haben.

\subsubsection{Aufgabe 5}

\paragraph{Einsatz in der 9. Klasse (Einstieg Programmierung)}
Je nach konkreter zugehöriger Programmierumgebung lassen sich die Roboter auch
für den Einstieg in die Programmierung in 9. Klasse verwenden. Die Roboter
könnten zur Auffrischung des Wissens aus der 7. Klasse verwendet werden, um
anschließend den Übergang zu einer neuen Programmiersprache (z.B. Python oder
Java) zu erleichtern. Falls die zugehörige Programmierumgebung auch
Möglichkeiten zur Objektorientierung bietet, könnte man auch diskutieren, ob man
die Roboter weiterverwendet.
\par
\paragraph{Einsatz im Projekt in der 10. Klasse}
In der 10. Klasse könnten die Roboter auch wieder eingesetzt werden, da diese
verschiedene reale Problemstellungen ermöglichen. Beispielsweise könnte versucht
werden, in Gruppen die Roboter auf ein Rennen vorzubereiten. Dafür sind diese
natürlich auch geeignet.
\par
1 change: 1 addition & 0 deletions lst-robotkarol
Submodule lst-robotkarol added at f7248b
5 changes: 5 additions & 0 deletions macros.sty
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,11 @@
\usepackage{enumitem}

\usepackage{authorchapters/authorchapters}
\usepackage{lst-robotkarol/robotkarol}

\usepackage{float}

\usepackage{tabularx}

\usepackage{bussproofs}

Expand Down

0 comments on commit 4ddea30

Please sign in to comment.