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 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 Übersicht überüber den den KursKurs 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 Logo FMS Logo V 6.12.0 Programmiersprachen BlueJ JDK 1.6 Algorithmen u. Funktionen Java BlueJ V2.1.3 Kontrollstrukturen Syntax & Semantik Datenstrukturen Guter Programmierstil Erweiterte Konzepte NetBeans IDE 6.0 BlueJ Edition Objekt-Orientierung 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 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 Systementwurf Programmiersprachen Algorithmen Literatur Systementwurf Vom Problem zum Programm Problem • komplex • mehrdeutig Analyse Mensch • semi-formal • nicht vollständig Design / Algorithmus • semi-formal • nicht vollständig Design Programmierung Maschine 11 Spezifikation Compilation Deployment Ausführung Programm • präzise • meist normiert • unabhängig vom Prozessor Maschinenprogramm • primitiv • abhängig vom Prozessor Laufzeitumgebung • auf konkretem Prozessor 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 Programmiersprachen Algorithmen Literatur Programmiersprachen Familien von Programmiersprachen ALGOL, AWK, BASIC, C, COBOL, FORTRAN, Pascal, PL/1, REXX, Cyclone Prozedurale Sprachen je Prozessortyp Assemblerund Maschinensprachen 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 Objektorientierte Sprachen Logische und regelbasierte 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 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 act Quadrat zeichnen Algorithmen Start (Eingabe: Länge) Algorithmen in der Geometrie: Zeichnen eines Quadrats Wie würden Sie es tun? zeichne Linie: Länge 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 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