Programmieren Hexenwerk oder Zauberspuk? Kinderuniversität Mittwoch, 16. März 2016 Kinder-Akademie Fulda & Hochschule Fulda Peter Klingebiel, HS Fulda, DVZ
Programmieren – Hexenwerk oder Zauberspuk? - Peter Klingebiel – 16. März Zur Vorlesung Wer bin ich? –Peter Klingebiel –Dipl.-Ing. Maschinenbau –Leiter DVZ der Hochschule Fulda –Vorlesungen Informatik und Elektrotechnik Was wollen wir heute machen? –Wie funktionieren Computer? –Was sind Programme? –Grundlagen der Programmierung –Einfache Beispiele
Programmieren – Hexenwerk oder Zauberspuk? - Peter Klingebiel – 16. März Wie funktionieren Computer? (1)
Programmieren – Hexenwerk oder Zauberspuk? - Peter Klingebiel – 16. März Wie funktionieren Computer? (2)
Programmieren – Hexenwerk oder Zauberspuk? - Peter Klingebiel – 16. März Wie funktionieren Computer? (3)
Programmieren – Hexenwerk oder Zauberspuk? - Peter Klingebiel – 16. März Wie funktionieren Computer? (4) Computer ? –Mikroprozessoren (CPU) –Ein- und Ausgabegeräte –Speicher –und und und … – Hardware („Blech“) Computer funktionieren nur mit –Programmen! – Software
Programmieren – Hexenwerk oder Zauberspuk? - Peter Klingebiel – 16. März Was sind Programme? (1) Computer … –… funktionieren nur mit Programmen / Software Programme beschreiben … –… was ein Computer tun soll (Aufgabe, Problem) –… wie ein Computer seine Aufgabe erledigen soll Programme gibt es für –allgemeine Aufgaben (z.B. Windows) –spezielle Aufgaben (z.B. ein Spiel oder MS Word)
Programmieren – Hexenwerk oder Zauberspuk? - Peter Klingebiel – 16. März Was sind Programme? (2) Beispiel: Lego Bauanleitung
Programmieren – Hexenwerk oder Zauberspuk? - Peter Klingebiel – 16. März Was sind Programme? (3) Doppelkaffeetasse von Friedemann Weise (auf youtube)
Programmieren – Hexenwerk oder Zauberspuk? - Peter Klingebiel – 16. März Was sind Programme? (4)
Programmieren – Hexenwerk oder Zauberspuk? - Peter Klingebiel – 16. März Was sind Programme? (5) Ranga Yogeshvar sagt: „Daten und Algorithmen sind die Sprache des 21. Jahrhunderts“ „Programmieren ist die Sprache des 21. Jahrhunderts“ „Jeder kann programmieren!“ Initiative „Jeder kann programmieren“
Programmieren – Hexenwerk oder Zauberspuk? - Peter Klingebiel – 16. März Was sind Programme? (6) Definition: „Programmieren ist eine Tätigkeit, bei der versucht wird, durch systematischen Einsatz einer gegebenen Programmiersprache ein gestelltes Problem zu lösen.“ aus: H. Balzert, Lehrbuch Grundlagen der Informatik, 1999 Wikipedia:
Programmieren – Hexenwerk oder Zauberspuk? - Peter Klingebiel – 16. März Was sind Programme? (7) Definition: „Algorithmen, die von einem automatischen Prozessor abgearbeitet werden, bezeichnet man als Programme. Ein Programm stellt die Realisierung eines Algorithmus dar. Im Gegensatz zu einem Algorithmus ist ein Programm konkreter und eingeschränkter.“ aus: Balzert, Lehrbuch... Wikipedia:
Programmieren – Hexenwerk oder Zauberspuk? - Peter Klingebiel – 16. März Was sind Programme? (8) Definition: „Algorithmus (Plural: Algorithmen), Problemlösungsbeschreibung, die festlegt, wie ein Problem gelöst werden soll.“ aus: Balzert, Lehrbuch... Wikipedia:
Programmieren – Hexenwerk oder Zauberspuk? - Peter Klingebiel – 16. März Was sind Programme? (9) Entwicklung von Programmen: Aufgabe / Problem so genau wie möglich beschreiben –Beispiel: Idee eines Computerspiels beschreiben Lösungsweg (Algorithmus) suchen und so genau wie möglich beschreiben –Beispiel: Ablauf des Spiels genau beschreiben Programm entwickeln (programmieren) –Beispiel: Computerspiel / Ablauf des Spiels in eine Programmiersprache umsetzen
Programmieren – Hexenwerk oder Zauberspuk? - Peter Klingebiel – 16. März Was sind Programme? (10) Einfaches Spiel: „Hexe und Zauberer“
Programmieren – Hexenwerk oder Zauberspuk? - Peter Klingebiel – 16. März Was sind Programme? (11) Programmiersprachen Programme werden in Programmiersprachen geschrieben / beschrieben Programmiersprachen verlangen fast immer eine exakte Beschreibung der Aufgabe und der Lösung der Aufgabe Programmiersprachen sind fast immer sehr pingelig und erfordern die genaueste Einhaltung der Syntax (Rechtschreibung)
Programmieren – Hexenwerk oder Zauberspuk? - Peter Klingebiel – 16. März Was sind Programme? (12) Spiel: „Hexe und Zauberer“ ungefährer Spielablauf: –Die Hexe (Witch) –folgt dem Mauszeiger und bewegt sich über das Spielfeld –prallt vom Spielfeldrand ab –sagt alle Sekunde „Fang mich doch!“ –und schickt diese Nachricht an den Zauberer –Der Zauberer (Wizard) –rennt hinter der Hexe her –sagt „Ha! Hab Dich“, wenn er die Hexe fängt / berührt –und lacht dann hämisch
Programmieren – Hexenwerk oder Zauberspuk? - Peter Klingebiel – 16. März Was sind Programme? (13) „Programmtext“ zum Spiel
Programmieren – Hexenwerk oder Zauberspuk? - Peter Klingebiel – 16. März Was sind Programme? (14) Beispiel: Programmiersprache „C“ C-Programm wird als Text am Computer erstellt und „übersetzt“ Beispielprogramm hallowelt.c: // hallowelt.c #include int main() { printf(„Hallo, Welt!\n“); return(0); }
Programmieren – Hexenwerk oder Zauberspuk? - Peter Klingebiel – 16. März Was sind Programme? (15) Programmiersprache „Scratch“ Einfache intuitive Programmiersprache, um Kinder und Jugendliche die Grundkonzepte der Programmierung spielerisch zu lehren Entwickelt am MIT Media Lab unter Leitung von Prof. Mitchel Resnick MIT-Forschungsteam Lifelong Kindergarten Group Wikipedia:
Programmieren – Hexenwerk oder Zauberspuk? - Peter Klingebiel – 16. März Was sind Programme? (16) Besonderheiten von „Scratch“: Einfach und intuitiv zu bedienen Sehr niedrige „Einstiegshürden“ Programme werden mit Bildchen und Symbolen spielerisch zusammen“geklickt“ Wie „spielen mit Legosteinen“ Scratch: Programmieren auf der Website im Browser! mBlock: Download und Programmieren auf eigenem Computer!
Programmieren – Hexenwerk oder Zauberspuk? - Peter Klingebiel – 16. März Was sind Programme? (17)
Programmieren – Hexenwerk oder Zauberspuk? - Peter Klingebiel – 16. März Was sind Programme? (18)
Programmieren – Hexenwerk oder Zauberspuk? - Peter Klingebiel – 16. März Grundlagen der Programmierung (1) Programme werden aus unterschiedlichen Elementen zusammen“gebaut“ Das einfachste Element ist die Anweisung Beispiele (in C) –printf(„Hallo, Welt!\n“); –return(0); Beispiele (in Scratch) –
Programmieren – Hexenwerk oder Zauberspuk? - Peter Klingebiel – 16. März Grundlagen der Programmierung (2) C-Programme starten mit main() Scratch-Programme (Skripte) starten bei bestimmten Ereignissen Beispiele –Grüne Fahne –Taste –Nachricht
Programmieren – Hexenwerk oder Zauberspuk? - Peter Klingebiel – 16. März Grundlagen der Programmierung (3) C-Programme werden übersetzt und zu einem ausführbaren Programm montiert Scratch-Skripte werden durch Zusammen- fügen der Symbole durch Bewegen mit der Maus zusammengebaut
Programmieren – Hexenwerk oder Zauberspuk? - Peter Klingebiel – 16. März Grundlagen der Programmierung (4) Beispiel: kinderuni-beispiel1
Programmieren – Hexenwerk oder Zauberspuk? - Peter Klingebiel – 16. März Grundlagen der Programmierung (5) Die meisten Programme sind nicht so einfach gebaut. Fast immer ist eine Steuerung des Programmablaufs erforderlich Oft benötigt werden Bedingungen („mach was, wenn …“) Schleifen („mach was, solange …“) Variable / Daten („merke dir …“) Objekte („bewege …“) Nachrichten („sage …, dass …“)
Programmieren – Hexenwerk oder Zauberspuk? - Peter Klingebiel – 16. März Grundlagen der Programmierung (6) Bedingungen: wenn / falls / falls sonst u.ä. –falls das Licht an ist, dann schalte es aus –wenn das Zimmer aufgeräumt ist, kannst du spielen, sonst räume weiter auf! Beispiel C: if(anzahl_runden == 10) { … } Beispiele Scratch:
Programmieren – Hexenwerk oder Zauberspuk? - Peter Klingebiel – 16. März Grundlagen der Programmierung (7) Schleifen: solange bis / wiederhole u.ä. –solange du die Hausarbeiten nicht fertig gemacht hast, kannst du nicht spielen gehen –laufe zehn Runden um das Spielfeld Beispiel C: while(runden < 10) … Beispiele Scratch:
Programmieren – Hexenwerk oder Zauberspuk? - Peter Klingebiel – 16. März Grundlagen der Programmierung (8) Variable: Daten, Gedächtnis, Operationen –Tore beim Fußballspiel –Runden beim Laufen Beispiel C: int tore = 0; tore = tore + 1;// Tor geschossen! Beispiele Scratch:
Programmieren – Hexenwerk oder Zauberspuk? - Peter Klingebiel – 16. März Grundlagen der Programmierung (9) Objekte und Nachrichten: Scratch hat als Grundelement der Programmierung Objekte –werden über Skripte programmiert / gesteuert –haben Eigenschaften, z.B. Kostüme –kommunizieren miteinander, schicken und empfangen Nachrichten
Programmieren – Hexenwerk oder Zauberspuk? - Peter Klingebiel – 16. März Grundlagen der Programmierung (10) Beispiel: Cat und Panda, kinderuni-beispiel2
Einfache Beispiele (1) Ampelsteuerung (Simulation) Programmieren – Hexenwerk oder Zauberspuk? - Peter Klingebiel – 16. März
Einfache Beispiele (2) Ampelsteuerung mit externer Ampel Programmieren – Hexenwerk oder Zauberspuk? - Peter Klingebiel – 16. März
Einfache Beispiele (3) Graph eines externen Potentiometers Programmieren – Hexenwerk oder Zauberspuk? - Peter Klingebiel – 16. März
Einfache Beispiele (4) Lichtsensor lesen und în Graph darstellen Programmieren – Hexenwerk oder Zauberspuk? - Peter Klingebiel – 16. März
Einfache Beispiele (5) Programmieren – Hexenwerk oder Zauberspuk? - Peter Klingebiel – 16. März Frühstücksroboter von Simone Giertz (auf youtube) Lippenstiftroboter von Simone Giertz (auf youtube)
Tschüss! Programmieren – Hexenwerk oder Zauberspuk? - Peter Klingebiel – 16. März