Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Copyright 2004 Bernd Brügge Einführung in die Informatik II: TUM Sommersemester 2004 1 2 Prof. Bernd Brügge, Ph.D Institut für Informatik Technische Universität.

Ähnliche Präsentationen


Präsentation zum Thema: "Copyright 2004 Bernd Brügge Einführung in die Informatik II: TUM Sommersemester 2004 1 2 Prof. Bernd Brügge, Ph.D Institut für Informatik Technische Universität."—  Präsentation transkript:

1 Copyright 2004 Bernd Brügge Einführung in die Informatik II: TUM Sommersemester Prof. Bernd Brügge, Ph.D Institut für Informatik Technische Universität München Sommersemester Juli 2004 Einführung in die Informatik II Vergleich von Programmierstilen und Abschluss-Besprechung

2 Copyright 2004 Bernd Brügge Einführung in die Informatik II: TUM Sommersemester Überblick für Heute v Vergleich von Programmierstilen v Allerlei –Kurzfristiges Jobangebot –Interaktives Antwortsystem –Preisinformationen v Evaluierung der Vorlesung

3 Copyright 2004 Bernd Brügge Einführung in die Informatik II: TUM Sommersemester Programmierstile v Funktionale Programmierung v Imperative Programmierung v Objekt-basierte Programmierung v Objekt-orientierte Programmierung v Ereignis-basierte Programmierung v Regel-basierte Programmierung (in Info I/II nicht behandelt, Vorlesung Wissensbasierte Systeme)

4 Copyright 2004 Bernd Brügge Einführung in die Informatik II: TUM Sommersemester System-Kategorien und Sprachniveaus v Der Programmierstil ist nur eine von vielen Dimensionen, um Aspekte eines Informatik-Systems zu berurteilen. Andere Aspekte: –System-Kategorie –Sprachniveau System-Kategorie 1. Berechnung von Funktionen 2. Interaktive Systeme 3. Prozeßüberwachung 4. Eingebettete Systeme 5. Adaptive Systeme Sprachniveau Modellierungssprache Höhere Programmiersprache Maschinennahe Sprache Maschinensprache

5 Copyright 2004 Bernd Brügge Einführung in die Informatik II: TUM Sommersemester Modellierungs- sprache (UML, OMT,E/R...) Höhere Programmier- sprache (Java, C++, C,...) Maschinen- nahe Sprache (Intel Assembler, PMI Assembler) Maschinen- Sprache (PMI, Java- Bytecode) Sprach- Niveau System-Klasse Berechnung von Funk- tionen Interaktive Systeme Prozess- überwachung Eingebettete Systeme Adaptive Systeme Programmierstil Funk- tional Impe- rativ Objekt- Basiert Objekt- Orientiert Ereignis- Orientiert Regel- basiert

6 Copyright 2004 Bernd Brügge Einführung in die Informatik II: TUM Sommersemester Modellierungs- sprache (UML, OMT,E/R...) Höhere Programmier- sprache (Java, C++, C,...) Maschinen- nahe Sprache (Intel Assembler, PMI Assembler) Maschinen- Sprache (PMI, Java- Bytecode) Sprach- Niveau System-Klasse Berechnung von Funk- tionen Interaktive Systeme Prozess- überwachung Eingebettete Systeme Adaptive Systeme Programmierstil Funk- tional Impe- rativ Objekt- Basiert Objekt- Orientiert Ereignis- Orientiert Regel- basiert PMI Bumpers Fibo- nacci Kon- trol -Struk- turen Such- Sortier- Algorith- men Fibo- nacci

7 Copyright 2004 Bernd Brügge Einführung in die Informatik II: TUM Sommersemester Dimensionen von Programmierstilen v Elemente: Was sind die wesentlichen Bestandteile des Stils? v Sicherheit: Sind Seiteneffekte möglich? v Effizienz: Wie hoch ist die Laufzeiteffizienz? v Nachweis der Korrektheit: Wie leicht ist es zu beweisen, dass ein im Stil geschriebenes Programm das Spezifikationsmodell korrekt implementiert? v Nachweis der Terminierung: Wie leicht ist es, zu beweisen, dass das Programm anhält? v Enkapsulierbarkeit: Erlaubt der Stil Zugriffsschutz (z.b. durch Sichtbarkeitsregeln) v Erweiterbarkeit: Unterstützt der Stil die Einführung von neuen Typen? v Lesbarkeit: Wieweit kann man das Programm durch Lesen des Quelltextes verstehen? v Wiederverwendbarkeit: Wie leicht kann man existierende Programme bei der Lösung anderer Probleme einsetzen?

8 Copyright 2004 Bernd Brügge Einführung in die Informatik II: TUM Sommersemester Funktionaler Programmierstil v Wesentliche Elemente:Funktionsanwendung, Fallunterscheidung, Rekursion v Sicherheit:hoch, keine Seiteneffekte v Effizienz:für jeden Aufruf wird eine Inkarnation (Aktivierungssegment) angelegt v Nachweis Korrektheit :partielle Korrektheit durch strukturelle Induktion v Nachweise Terminierung: Terminierungsfunktion v Enkapsulierung:Gering v Erweiterbarkeit: Schwierig v LesbarkeitOK v Wiederverwendbarkeit: Gering

9 Copyright 2004 Bernd Brügge Einführung in die Informatik II: TUM Sommersemester Imperativer Programmierstil v Wesentliche Elemente:Zuweisung, Kontrollstrukturen, Anweisungssequenzen, Programmzustand v Sicherheit:nicht sehr hoch, weil Seiteneffekte auf Variablen/Zustand möglich v Effizienz:in Schleifen wird auf eine Variable mehrfach zugewiesen, Zwischenergebnisse können gespeichert werden (i.A.höhere Effizienz) v Nachweis Korrektheit:Durch Zusicherungen (Hoare Kalkül) Sehr aufwendig schon für kleine Programme v Nachweis Terminierung:Schwierig v Enkapsulierbarkeit:Gering v Erweiterbarkeit: Schwierig v LesbarkeitOK v Wiederverwendbarkeit: Gering

10 Copyright 2004 Bernd Brügge Einführung in die Informatik II: TUM Sommersemester Objekt-basierter Programmierstil v Wesentliche Elemente:Imperativer Programmierstil + Klassenkonzept v Sicherheit:Seiteneffekte durch Klassenkonzept auf lokale Variablen/Zustand einschränkbar v Effizienz:in Schleifen wird auf eine Variable mehrfach zugewiesen, Zwischenergebnisse können gespeichert werden (i.A.höhere Effizienz) v Nachweis Korrektheit:Entwurf durch Verträge, aufwendig v Nachweis Terminierung:Schwierig v Enkapsulierbarkeit:Hoch v Erweiterbarkeit: Schwierig v LesbarkeitOK v Wiederverwendbarkeit: Nicht sehr hoch

11 Copyright 2004 Bernd Brügge Einführung in die Informatik II: TUM Sommersemester Objekt-Orientierter Programmierstil v Wesentliche ElementeObjekt-basierter Programmierstil + Vererbung und Polymorphismus v Sicherheit:Seiteneffekte durch Klassenkonzept auf lokale Variablen/Zustand einschränkbar v Effizienz:mittelmäßig (i.A. geringere Effizienz als beim imperativen Stil, insbesondere durch dynamischen Polymorphismus) v Nachweis Korrektheit: Entwurf durch Verträge, aufwendig v Nachweis Terminierung:Schwierig v Enkapsulierbarkeit:Hoch v Erweiterbarkeit: Sehr gut v LesbarkeitOK v Wiederverwendbarkeit: Sehr gut

12 Copyright 2004 Bernd Brügge Einführung in die Informatik II: TUM Sommersemester Ereignis-Orientierter Programmierstil v Wesentliche ElementeKontrollfluss durch Ereignisse, kein Hauptprogramm v Sicherheit: gefährdet, weil Seiteneffekte auf Variablen/Zustand möglich v Effizienz:hoch (wie beim imperativen Stil) v Nachweis Korrektheit:Sehr schwierig wegen fehlendem Kontrollfluss v Nachweis Terminierung:Äusserst schwierig (aber im allgemeinen garnicht erwünscht:-) v Enkapsulierbarkeit:Gering v Erweiterbarkeit: Sehr gut v LesbarkeitSchlecht v Wiederverwendbarkeit: Mittelmäßig

13 Copyright 2004 Bernd Brügge Einführung in die Informatik II: TUM Sommersemester Übersichtstabelle Sicherheit Effizienz Nachweis der Korrektheit Nachweis der Terminierung Enkapsulierung Erweiterbarkeit Lesbarkeit Wiederverwend- barkeit FunktionalImperativ Objekt- basiert Ereignis- orientiert Objekt- orientiert Legende: + (hoch), 0 (mittel), - (gering/schwierig)

14 Copyright 2004 Bernd Brügge Einführung in die Informatik II: TUM Sommersemester Überblick für Heute Vergleich von Programmierstilen v Allerlei –Kurzfristiges Jobangebot –Interaktives Antwortsystem –Preisinformationen v Evaluierung der Vorlesung

15 Copyright 2004 Bernd Brügge Einführung in die Informatik II: TUM Sommersemester Software-Entwickler gesucht! v Projekt: Logistiktool für die chemische Industrie v Was wir benötigen: –Informatikstudenten für 2-3 monatige Hiwi-Anstellung –MS Access - Kenntnisse wünschenswert v Wann: –Semesterferien (ab Anfang August) v Was wir anbieten: –Echte Projekterfahrung, richtiger Kunde (Fortführung eines aktuellen Softwareprojekts) –Extreme Programming –Erfahrung sammeln in Visual Basic und Datenbanken v Kontakt:

16 Copyright 2004 Bernd Brügge Einführung in die Informatik II: TUM Sommersemester Info I und Info II -Preise v 2 iPod Minis (24. Juli) –Dominik Grusemann –Nicolas Heuser v Buch: Objektorientierte Softwaretechnik (11.August) –Mario Gemoll –Andreas Meinl –Michael Dörfel –Martina Laumeyer v Biergarten (Mitte August oder Anfang September) –Julia Habel –Kariem Morsy –Leon v. Tippelskirch –Michael Dörfel, Thomas Schicketanz, Tilman Küstner –Christian Schroeder & Johannes Stammer –Benjamin Frank

17 Copyright 2004 Bernd Brügge Einführung in die Informatik II: TUM Sommersemester Evaluierung v Stoff v Werkzeuge v Folien v Vorlesungsbetrieb

18 Copyright 2004 Bernd Brügge Einführung in die Informatik II: TUM Sommersemester Stoff Bemühung um Modernisierung der VL GUI Benutzung (könnte auch schon ins 1. Semester) Java, nur eine Programmiersprache, nicht 3 auf einmal Moderne Beispiele Bumpers Erklärung mit UML Aufbau der Vorlesung insgesamt

19 Copyright 2004 Bernd Brügge Einführung in die Informatik II: TUM Sommersemester Stoff v Mehr Hintergrundwissen zur eigentlichen Informatik v Weniger Themen anschneiden, dafür gründlicher v Inhalt nicht redundant aufschreiben, sondern nur Stichpunkte v Im Skript nur Sachliches, nicht “Heute fällt die ZU aus” v Zuviele abstrakte Konzepte, die im Raum rumgeistern v Kein OCL im Grundstudium v “Bitte mehr Praxisbezug”, “Bitte mehr Theorie” v Gewisses logisches/mathematisches Grundverständnis voraussetzen

20 Copyright 2004 Bernd Brügge Einführung in die Informatik II: TUM Sommersemester Vorlesungsbetrieb Skript im Netz Unterstützung der TUM-BWL Übung in der Innenstadt v 2x Tutorübung in der Woche! Pause zwischen langen Vorlesungen Zentralübung nur bei Bedarf

21 Copyright 2004 Bernd Brügge Einführung in die Informatik II: TUM Sommersemester Werkzeuge v Wahlfreiheit lassen bei Entwicklungsumgebungen, Betriebssystemen, Programmiersprachen

22 Copyright 2004 Bernd Brügge Einführung in die Informatik II: TUM Sommersemester Folien v Folien sind deutlich überfrachtet. v Die letzten Folien länger stehen lassen. v Das Konzept der Folien funktioniert einfach nicht, Tafelanschrieb wäre deutlich hilfreicher v Prof. Brügge wirkte oft unvorbereitet, als ob er die Folien nicht kennen würde –Powerpoint und Animationen

23 Copyright 2004 Bernd Brügge Einführung in die Informatik II: TUM Sommersemester Sonstiges v Keine Experimente –Wirklich nicht? Warum haben Sie Informatik gewählt? v Weniger gequälte Übersetzung englischer Begriffe, Englisch ist nun einmal die Sprache der Informatik Das Problem ist nicht Englisch vs Deutsch, sondern “Denglisch” v Es ist nicht Sinn einer Vorlesung, für eine Firma zu werben Ziel war Werbung für die Ferienakademie v Manchmal könnte das Mikro lauter sein, da im (vollen) Saal ein gewisser Lärmpegel herrscht. Der Lärmpegel war besonders hoch, als das Mikro gut war. v Prof. etwas freundlicher, Überreaktion bei erhöhtem Lärmpegel Schwätzen ist unfair bezüglich der anderen Studierenden v Keine Vorlesung um 8:30

24 Copyright 2004 Bernd Brügge Einführung in die Informatik II: TUM Sommersemester Ein weiteres Experiment  Interaktives Fragesystem iVote –Erstellt von Studierenden im Webobjects Praktikum  URL fuer Endbenutzer –http://macbruegge27.informatik.tu-muenchen.de/cgi- bin/WebObjects/iVotehttp://macbruegge27.informatik.tu-muenchen.de/cgi- bin/WebObjects/iVote v Fragen –Hat es Ihnen geholfen, dass wir die PPS Folien ins Netz gestellt haben? Ja, Nein –Sollen wir die Vorlesung interaktiver machen? – Ja, Nein, nur die Zentralübung – Möchten Sie die Animation für die Huffmann-Codierung sehen? – Ja, Nein –Haben Sie Interesse an Angeboten wie dem Ferienjob? Ja, Nein –Haben Sie Interesse, an der Weiterentwicklung von iVote mitzumachen?

25 Copyright 2004 Bernd Brügge Einführung in die Informatik II: TUM Sommersemester Ein letzter Tip: Prüfungsvorbereitung v Ein Skript ist Rohmaterial, kein Kondensat, für die Prüfung. v Destillieren Sie die wesentlichen Punkte aus dem Skript –Erarbeiten Sie eine Zusammenstellung der Konzepte v Üben Sie nochmals möglichst viele Übungsaufgaben v Gehen Sie mental durch eine Prüfung durch –Was kann passieren? v Arbeiten Sie mit anderen zusammen! v Viel Glück im weiteren Studium!


Herunterladen ppt "Copyright 2004 Bernd Brügge Einführung in die Informatik II: TUM Sommersemester 2004 1 2 Prof. Bernd Brügge, Ph.D Institut für Informatik Technische Universität."

Ähnliche Präsentationen


Google-Anzeigen