Um den Begriff "Algorithmus" ranken sich viele mystische Erzählungen. Dabei könnte eine Informationstechnische Grundbildung(ITG) die ideologischen Spekulationen um diesen Begriff entzaubern. ITG ist nicht die Beherrschung von Anwendungssoftware wie Mail, Word oder Browser. Themen der ITG sind die grundlegenden Konzepte der Informatik wie zum Beispiel Netzstrukturen, Verschlüsselung oder Datenspeicherung.

Der vorliegende Workshop beschäftigt sich mit dem Thema "Algorithmus". Wir starten mit der Alltäglichkeit von Algorithmen und wenden dann die erkannten Strukturen auf das Programmieren eines kleinen Spiels an. Im dritten Schritt kommen wir zur Analyse von Programmcode: Wann ist ein Programmcode gut, schlecht oder bösartig?

Material: Stift, Papier, Scratch, Javascript

Methode: Vortrag, Gruppenarbeit, Partnerarbeit am Computer

Zielgruppe: Menschen, die noch keine Erfahrung mit Programmierung gemacht haben, älter als 14 Jahre.

Dauer: Ein Tag

 

Lernziele

  • Algorithmen im Alltag analysieren

  • Beziehung zwischen Algorithmen und Daten erkennen

  • Algorithmisches Denken entwickeln

  • Unterschiede erkennen: guter - schlechter- bösartiger Code

  • Gesellschaftliche Bedeutung von Open Source erfassen

Verlauf

Spaghetti

Ziel: Algorithmen im Alltag erkennen

Aufgabe: TeilnehmerInnen erarbeiten sich einen Ablaufplan für einen Alltagsvorgang (Spaghetti kochen)

Material: Programmablaufblöcke auf Papier

Transfer: Autofahren

Banane

Ziel: erste Kontrollstrukturen erkennen: Sequenz, bedingte Verzweigung, Schleife

Aufgabe: Beschreibung des Verzehrs einer Banane korrigieren.

Material: Arbeitsblatt

Transfer: Geld abheben am Automaten

Scratch 1

Ziel: Einstieg in blockorientierte Programmierung mit Scratch/Snap! (Sequenz, Schleife)

Aufgabe: Ball auf einer Bühne steuern

Material: Scratch/Snap!

Transfer: Zweiten Ball selbsttätig in verschiedene Richtungen laufen lassen

Scratch 2

Ziel: Einstieg in blockorientierte Programmierung mit Scratch/Snap! (bedingte Verzweigung)

Aufgabe: Figur in Abhängigkeit von äußeren Bedingungen steuern

Material: Scratch/Snap!

Transfer: Mehrere Figuren laufen und reagieren lassen

Algorithmen von Anfang an

Javascript 1

Ziel: Computersprache verstehen

Aufgabe: Code eines Schnick-Schnack-Schnuck nachvollziehen

Material: Ausdruck von gut strukturiertem Code mit Kommentaren

Javascript 2

Ziel: Unterschiede von gutem und schlechtem Code erkennen

Aufgabe: Unterschiede von gutem und schlechtem Code erkennen

Material: Zweiter Ausdruck von schlechtem Code ohne Kommentare

Javascript 3

Ziel: Merkmale von bösartigem Code erkennen,

Aufgabe: Erweiterung des Codes um "Brunnen".

Material: Dritter Ausdruck mit bösartigem Code ohne Kommentare

Transfer: Beurteilung von Closed Code gegen OpenSource