Programmieren Hexenwerk oder Zauberspuk Kinderuniversitt Mittwoch 16 Mrz
Programmieren Hexenwerk oder Zauberspuk? Kinderuniversität Mittwoch, 16. März 2016 Kinder-Akademie Fulda & Hochschule Fulda Peter Klingebiel, HS Fulda, DVZ
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 2016 2
Wie funktionieren Computer? (1) Programmieren – Hexenwerk oder Zauberspuk? - Peter Klingebiel – 16. März 2016 3
Wie funktionieren Computer? (2) Programmieren – Hexenwerk oder Zauberspuk? - Peter Klingebiel – 16. März 2016 4
Wie funktionieren Computer? (3) Programmieren – Hexenwerk oder Zauberspuk? - Peter Klingebiel – 16. März 2016 5
Wie funktionieren Computer? (4) • Computer ? – – – Mikroprozessoren (CPU) Ein- und Ausgabegeräte Speicher und und … Hardware („Blech“) • Computer funktionieren nur mit – Programmen! – Software Programmieren – Hexenwerk oder Zauberspuk? - Peter Klingebiel – 16. März 2016 6
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 2016 7
Was sind Programme? (2) • Beispiel: Lego Bauanleitung Programmieren – Hexenwerk oder Zauberspuk? - Peter Klingebiel – 16. März 2016 8
Was sind Programme? (3) • Doppelkaffeetasse von Friedemann Weise (auf youtube) Programmieren – Hexenwerk oder Zauberspuk? - Peter Klingebiel – 16. März 2016 9
Was sind Programme? (4) Programmieren – Hexenwerk oder Zauberspuk? - Peter Klingebiel – 16. März 2016 10
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 2016 11
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: http: //de. wikipedia. org/wiki/Programmierung Programmieren – Hexenwerk oder Zauberspuk? - Peter Klingebiel – 16. März 2016 12
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: http: //de. wikipedia. org/wiki/Computerprogramm Programmieren – Hexenwerk oder Zauberspuk? - Peter Klingebiel – 16. März 2016 13
Was sind Programme? (8) • Definition: „Algorithmus (Plural: Algorithmen), Problemlösungsbeschreibung, die festlegt, wie ein Problem gelöst werden soll. “ aus: Balzert, Lehrbuch. . . • Wikipedia: http: //de. wikipedia. org/wiki/Algorithmus Programmieren – Hexenwerk oder Zauberspuk? - Peter Klingebiel – 16. März 2016 14
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 2016 15
Was sind Programme? (10) • Einfaches Spiel: „Hexe und Zauberer“ Programmieren – Hexenwerk oder Zauberspuk? - Peter Klingebiel – 16. März 2016 16
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 2016 17
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 2016 18
Was sind Programme? (13) • „Programmtext“ zum Spiel Programmieren – Hexenwerk oder Zauberspuk? - Peter Klingebiel – 16. März 2016 19
Was sind Programme? (14) • Beispiel: Programmiersprache „C“ • C-Programm wird als Text am Computer erstellt und „übersetzt“ • Beispielprogramm hallowelt. c: // hallowelt. c #include <stdio. h> int main() { printf(„Hallo, Welt!n“); return(0); Programmieren – Hexenwerk oder Zauberspuk? - Peter Klingebiel – 16. März 2016 } 20
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: https: //de. wikipedia. org/wiki/Scratch_(Programmiersprache) Programmieren – Hexenwerk oder Zauberspuk? - Peter Klingebiel – 16. März 2016 21
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: https: //scratch. mit. edu/ Programmieren auf der Website im Browser! • m. Block: http: //www. mblock. cc/ Download und Programmieren auf eigenem Computer! Programmieren – Hexenwerk oder Zauberspuk? - Peter Klingebiel – 16. März 2016 22
Was sind Programme? (17) Programmieren – Hexenwerk oder Zauberspuk? - Peter Klingebiel – 16. März 2016 23
Was sind Programme? (18) Programmieren – Hexenwerk oder Zauberspuk? - Peter Klingebiel – 16. März 2016 24
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 2016 25
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 2016 26
Grundlagen der Programmierung (3) • C-Programme werden übersetzt und zu einem ausführbaren Programm montiert • Scratch-Skripte werden durch Zusammenfügen der Symbole durch Bewegen mit der Maus zusammengebaut Programmieren – Hexenwerk oder Zauberspuk? - Peter Klingebiel – 16. März 2016 27
Grundlagen der Programmierung (4) • Beispiel: kinderuni-beispiel 1 Programmieren – Hexenwerk oder Zauberspuk? - Peter Klingebiel – 16. März 2016 28
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 2016 29
Grundlagen der Programmierung (6) • Bedingungen: wenn / 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 2016 30
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 2016 31
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 2016 32
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 2016 33
Grundlagen der Programmierung (10) • Beispiel: Cat und Panda, kinderuni-beispiel 2 Programmieren – Hexenwerk oder Zauberspuk? - Peter Klingebiel – 16. März 2016 34
Einfache Beispiele (1) • Ampelsteuerung (Simulation) Programmieren – Hexenwerk oder Zauberspuk? - Peter Klingebiel – 16. März 2016 35
Einfache Beispiele (2) • Ampelsteuerung mit externer Ampel Programmieren – Hexenwerk oder Zauberspuk? - Peter Klingebiel – 16. März 2016 36
Einfache Beispiele (3) • Graph eines externen Potentiometers Programmieren – Hexenwerk oder Zauberspuk? - Peter Klingebiel – 16. März 2016 37
Einfache Beispiele (4) • Lichtsensor lesen und în Graph darstellen Programmieren – Hexenwerk oder Zauberspuk? - Peter Klingebiel – 16. März 2016 38
Einfache Beispiele (5) • Frühstücksroboter von Simone Giertz (auf youtube) • Lippenstiftroboter von Simone Giertz (auf youtube) Programmieren – Hexenwerk oder Zauberspuk? - Peter Klingebiel – 16. März 2016 39
Tschüss! Programmieren – Hexenwerk oder Zauberspuk? - Peter Klingebiel – 16. März 2016 40
- Slides: 40