Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

class HelloWorldApp { public static void main(String[] args) { System.out.println("Hello World!"); } Programmieren - wie einsteigen ?

Ähnliche Präsentationen


Präsentation zum Thema: "class HelloWorldApp { public static void main(String[] args) { System.out.println("Hello World!"); } Programmieren - wie einsteigen ?"—  Präsentation transkript:

1

2 class HelloWorldApp { public static void main(String[] args) { System.out.println("Hello World!"); } Programmieren - wie einsteigen ?

3 Programmiersprachen: Wie Sand am Meer

4 tiobe.com/index.php/content/paperinfo/tpci/

5 iPhone

6 Eine Kernidee der Informatik: Computer formales System Intuition Formale Beschreibung

7 Das Ziel: Algorithmisches Denken It has often been said that a person does not really understand something until he teaches it to someone else. Actually a person does not really understand something until he can teach it to a computer, i.e., express it as an algorithm. [...] The attempt to formalize things as algorithms leads to a much deeper understanding than if we simply try to comprehend things in the traditional way. Knuth: Computer Science and its relation to mathematics. The American Mathematical Monthly, 81(4), 1974.

8 Programmieren heisst: Probleme lösen! die Probleme zu analysieren Lösungen zu entwerfen in Abläufen zu denken strikt logisch zu denken und die Lösung in Programme umzusetzen! Grundlagen der Programmierung ?

9 Kara, der programmierbare Marienkäfer !

10 ... gibt es: unbewegliche Baumstümpfe, Pilze, die Kara verschieben und Kleeblätter, die Kara legen und aufnehmen kann... und natürlich Kara selbst! In der Welt des Marienkäfers...

11 ... hat Sensoren, mit denen er seine Umwelt wahrnimmt: stehe ich vor einem Baumstumpf? ist links von mir ein Baumstumpf? ist rechts von mir ein Baumstumpf? stehe ich vor einem Pilz? stehe ich auf einem Kleeblatt?... versteht einige Befehle, die er folgsam ausführt: mache einen Schritt vorwärts! drehe um 90° nach links! drehe um 90° nach rechts! lege ein Kleeblatt hin! nimm ein Kleeblatt auf! Kara, der Marienkäfer...

12 Automaten im Alltag

13 Ein ganz einfacher Automat: Lichtschalter Licht aus Licht ein drücken start Ein Lichtschalter hat nur zwei Zustände, ein und aus. Ein Sensor meldet, wenn der Schalter betätigt wird.

14 Ein wenig komplexer: Videogerät Nichts tun Video abspielen play stop start Warten pause play Time out Spulen play forward rewind

15 Dieser Automat... akzeptiert nur zeigt eingeworfenen Betrag an gibt nur aus für 3, Getränkeautomaten

16 0,-1,-2,-3, Coke Sprite Das Leben eines Getränkeautomaten...

17 Frage: oder ? 0,-1,-2,-3,- Zustand stellt sich der Automat in einem Zustand werden von seinen Sensoren beantwortet Das Leben eines Getränkeautomaten...

18 ,-1,-2,-3,- Übergang Frage: oder ? die Antwort darauf gibt der Automat in einem Übergang führt dabei gewisse Aktionen aus Coke Sprite Das Leben eines Getränkeautomaten...

19 Automat für Videogerät Play / Pause Stop Zustände Übergänge Sensoren

20 Automat für Videogerät Play / Pause Stop Zustände Übergänge Sensoren

21 Automat für Videogerät Play / Pause Stop Zustände Übergänge Sensoren

22 Automat für Videogerät Play / Pause Stop Zustände Übergänge Sensoren

23

24 Das Program: ein Zustand suche Baum, ein Sensor stehe vor Baum Die Aufgabe: bis zum nächsten Baumstumpf laufen, dann 180° Drehung! Kara sucht einen Baumstumpf !

25 Zeit... 1.Sensorwerte betrachten, Zeile auswählen Befehle ausführen 3.In nächsten Zustand gehen 1.Sensorwerte betrachten, Zeile auswählen Befehle ausführen 3.In nächsten Zustand gehen Kara sucht einen Baumstumpf

26 Die Aufgabe: alle Blätter bis zum nächsten Baumstumpf aufnehmen! Das Programm: ein Zustand collect leaves, benötigt zwei Sensoren Kara, der Blättersammler

27 Kara, der Blättersammler ! Programm als alltagsähnlicher Pseudo-Code falls (nicht vor Baum) UND (nicht auf Kleeblatt), dann [Schritt vorwärts] und [gehe zu collect leave] ODER falls (nicht vor Baum) UND (auf Kleeblatt), dann [fresse Kleeblatt, Schritt vorwärts] und [gehe zu collect leave] ODER falls (vor Baum) UND (nicht auf Kleeblatt), dann [] und [gehe zu Stop] ODER falls (vor Baum) UND (auf Kleeblatt), dann [fresse Kleeblatt] und [gehe zu Stop]

28 Die Aufgabe: Raum linksherum bis Kleeblatt, dann rechtsherum bis Kleeblatt, dann linksherum... laufen Das Programm: zwei Zustände: einer für Linksdrehung, einer für Rechtsdrehung Kara, der Wächter (1)

29 Das Programm: ein Zustand ! Welche Lösung ist besser? Lesbarkeit des Programms? Anzahl Befehle: Weniger = besser? Anzahl Zustände: Weniger = besser? Eine Frage des persönlichen Programmierstils! Kara, der Wächter (2)

30 Kara-Steckbrief Worum gehts Einführung in Programmierdenken Für wen Schüler/innen ohne oder mit wenig Programmiererfahrung Lernziele Grundlagen der Programmierung Modell der endlichen Automaten Einsatz- dauer 6-12 Lektionen Technik Java 1.2, JRE, keine Installation. Windows, Mac OS X, Unix / Linux.


Herunterladen ppt "class HelloWorldApp { public static void main(String[] args) { System.out.println("Hello World!"); } Programmieren - wie einsteigen ?"

Ähnliche Präsentationen


Google-Anzeigen