1. Einführung Einführung in die Programmierung (fbw) Sommersemester 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi 1 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Einführung in die Programmierung (fbw), SS 2008. 26.3.2008
Agenda Kennenlernen Übersicht über den Kurs Organisation Systementwurf Programmiersprachen Algorithmen Literatur
Kennenlernen Was ist Ihr studentischer und eventuell beruflicher Hintergrund? Welche Computererfahrungen haben Sie? Kennen Sie schon eine Programmiersprache? Haben Sie schon in Java programmiert? 3 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Einführung in die Programmierung (fbw), SS 2008. 26.3.2008
Agenda Kennenlernen Übersicht über über den den Kurs Kurs Organisation Systementwurf Programmiersprachen Algorithmen Literatur
Übersicht über den Kurs Ein Zitat zu Beginn Vor der Wahl, ein theoretischer Physiker oder ein Programmierer zu werden, entschied ich mich für die intellektuell anspruchsvollere Aufgabe Edsger W. Dijkstra (1930 2002) auf der sd&m-konferenz in Bonn, 2001 5 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Einführung in die Programmierung (fbw), SS 2008. 26.3.2008
Übersicht über den Kurs Was ich gerne vermitteln möchte Einführung in die Programmierung Konzepte Programmieren Werkzeuge Systementwurf Programmiersprachen Algorithmen u. Funktionen Kontrollstrukturen Datenstrukturen Objekt-Orientierung Logo BlueJ Java Syntax & Semantik Guter Programmierstil Erweiterte Konzepte FMS Logo V 6.12.0 JDK 1.6 BlueJ V2.1.3 NetBeans IDE 6.0 BlueJ Edition Subversion + TortoiseSVN Praktikum, Diskussionen, Ausblicke zum Weiterdenken 6 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Einführung in die Programmierung (fbw), SS 2008. 26.3.2008
Übersicht über den Kurs Übersicht über den gesamten Kurs 1. Einführung 2. Operationen 3. Variablen 4. Kontrollstrukturen 5. Klassen und Objekte 6. Konstruktoren 7. Klassenmethoden 8. Datentypen 9. Vererbung 10. Pakete 11. JDK Klassenbibliothek 12. Kontrollstrukturen in Java 7 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Einführung in die Programmierung (fbw), SS 2008. 26.3.2008
Agenda Kennenlernen Übersicht über den Kurs Organisation Systementwurf Programmiersprachen Algorithmen Literatur
Organisation Vorlesung Wöchentlich mittwochs ab 12:00 Folien können von meiner Homepage heruntergeladen werden: www.fbi.h-da.de/~b.humm Praktikum Wöchentlich mittwochs, verschränkt mit der Vorlesung (bis 15:45) Aufgaben können von meiner Homepage heruntergeladen werden Bearbeitung der Übungsaufgaben alleine oder in Zweiergruppen zusätzliches Üben ist zwingend notwendig! Die Entwicklungsumgebung besteht aus Open Source Werkzeugen und kann und soll zu Hause implementiert werden. Installationanleitung auf meiner Homepage Leistungsnachweis Klausur in der ersten Prüfungswoche 9 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Einführung in die Programmierung (fbw), SS 2008. 26.3.2008
Agenda Kennenlernen Übersicht über den Kurs Organisation Systementwurf Programmiersprachen Algorithmen Literatur
Systementwurf Vom Problem zum Programm Problem komplex mehrdeutig Analyse Mensch Maschine Design Compilation Programmierung Laufzeitumgebung Deployment Ausführung Spezifikation Design / Algorithmus Programm Maschinenprogramm semi-formal nicht vollständig semi-formal nicht vollständig präzise meist normiert unabhängig vom Prozessor primitiv abhängig vom Prozessor auf konkretem Prozessor 11 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Einführung in die Programmierung (fbw), SS 2008. 26.3.2008
Systementwurf Programmieren ist ein Problem so exakt beschreiben, dass es ein Computer lösen kann kreative Tätigkeit Ingenieurtätigkeit Nur wenige Leute können gut programmieren 12 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Einführung in die Programmierung (fbw), SS 2008. 26.3.2008
Agenda Kennenlernen Übersicht über den Kurs Organisation Systementwurf Programmiersprachen Algorithmen Literatur
Programmiersprachen Familien von Programmiersprachen ALGOL, AWK, BASIC, C, COBOL, FORTRAN, Pascal, PL/1, REXX, Cyclone je Prozessortyp Assemblerund Maschinensprachen Prozedurale Sprachen Funktionale Sprachen LISP, Logo, ML, Scheme, Haskell, OPAL, Miranda Programmiersprachen Auzeichnungssprachen (z.b. HTML, XML), Datenbanksprachen (zum Beispiel SQL, dbase, Clipper), etc. Sonstige Sprachen und Umgebungen Logische und regelbasierte Sprachen Objektorientierte Sprachen Smalltalk, Eiffel, C++, Objective-C, Java, C#, Oberon, Python, Ruby Prolog OPS5, XSLT 14 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Einführung in die Programmierung (fbw), SS 2008. 26.3.2008
Agenda Kennenlernen Übersicht über den Kurs Organisation Systementwurf Programmiersprachen Algorithmen Literatur
Algorithmen Algorithmen im Alltag: Kochrezepte 16 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Einführung in die Programmierung (fbw), SS 2008. 26.3.2008
Algorithmen Algorithmen in der Geometrie: Zeichnen eines Quadrats act Quadrat zeichnen Start (Eingabe: Länge) zeichne Linie: Länge Wie würden Sie es tun? drehe Lineal: 90 zeichne Linie: Länge drehe Lineal: 90 zeichne Linie: Länge drehe Lineal: 90 zeichne Linie: Länge Ende 17 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Einführung in die Programmierung (fbw), SS 2008. 26.3.2008
Agenda Kennenlernen Übersicht über den Kurs Organisation Systementwurf Programmiersprachen Algorithmen Literatur
Literatur Java: Krüger, Guido: Handbuch der Java-Programmierung. Addison-Wesley,2002, 3. Auflage oder http://www.javabuch.de/ kostenlos im Download als HTML-Version (Nachfolger von "Go To Java 2" und "Go To Java 2, 2. Auflage ) Java Tutorial für Einsteiger: http://www.gailer-net.de/tutorials/java/ Java-Seiten von Sun: http://www.javasoft.com/ The Java Tutorial - A practical Guide for Programmers: http://java.sun.com/series/tutorial/ Javaworld (Online-Zeitschrift): http://www.javaworld.com/ Logo: FMS Logo Tutorial FMS Logo Online Hilfe BlueJ: BlueJ Homepage: http://www.bluej.org/ 19 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Einführung in die Programmierung (fbw), SS 2008. 26.3.2008