+ All Categories
Home > Documents > Einführung in die Informatik II Vergleich von ......Im Skript nur Sachliches, nicht “Heute fällt...

Einführung in die Informatik II Vergleich von ......Im Skript nur Sachliches, nicht “Heute fällt...

Date post: 15-Aug-2020
Category:
Upload: others
View: 1 times
Download: 0 times
Share this document with a friend
24
Copyright 2 Prof. Bernd Brügge, Ph.D Institut für Informatik Technische Universität München Sommersemester 2004 22. Juli 2004 Einführung in die Informatik II Vergleich von Programmierstilen und Abschluss-Besprechung
Transcript
Page 1: Einführung in die Informatik II Vergleich von ......Im Skript nur Sachliches, nicht “Heute fällt die ZU aus” Zuviele abstrakte Konzepte, die im Raum rumgeistern Kein OCL im Grundstudium

Copyright 2004 Bernd Brügge Einführung in die Informatik II: TUM Sommersemester 2004 1 2

Prof. Bernd Brügge, Ph.DInstitut für Informatik

Technische Universität München

Sommersemester 2004

22. Juli 2004

Einführung in die Informatik IIVergleich von Programmierstilen

und Abschluss-Besprechung

Page 2: Einführung in die Informatik II Vergleich von ......Im Skript nur Sachliches, nicht “Heute fällt die ZU aus” Zuviele abstrakte Konzepte, die im Raum rumgeistern Kein OCL im Grundstudium

Copyright 2004 Bernd Brügge Einführung in die Informatik II: TUM Sommersemester 2004 2

Überblick für Heute

Vergleich von Programmierstilen

Allerlei

– Kurzfristiges Jobangebot

– Interaktives Antwortsystem

– Preisinformationen

Evaluierung der Vorlesung

Page 3: Einführung in die Informatik II Vergleich von ......Im Skript nur Sachliches, nicht “Heute fällt die ZU aus” Zuviele abstrakte Konzepte, die im Raum rumgeistern Kein OCL im Grundstudium

Copyright 2004 Bernd Brügge Einführung in die Informatik II: TUM Sommersemester 2004 3

Programmierstile

Funktionale Programmierung

Imperative Programmierung

Objekt-basierte Programmierung

Objekt-orientierte Programmierung

Ereignis-basierte Programmierung

Regel-basierte Programmierung (in Info I/II nicht behandelt,Vorlesung Wissensbasierte Systeme)

Page 4: Einführung in die Informatik II Vergleich von ......Im Skript nur Sachliches, nicht “Heute fällt die ZU aus” Zuviele abstrakte Konzepte, die im Raum rumgeistern Kein OCL im Grundstudium

Copyright 2004 Bernd Brügge Einführung in die Informatik II: TUM Sommersemester 2004 4

System-Kategorien und Sprachniveaus

Der Programmierstil ist nur eine von vielen Dimensionen, umAspekte eines Informatik-Systems zu berurteilen. Andere Aspekte:

– System-Kategorie

– Sprachniveau

System-Kategorie1. Berechnung von Funktionen2. Interaktive Systeme3. Prozeßüberwachung4. Eingebettete Systeme5. Adaptive Systeme

SprachniveauModellierungsspracheHöhere ProgrammierspracheMaschinennahe SpracheMaschinensprache

Page 5: Einführung in die Informatik II Vergleich von ......Im Skript nur Sachliches, nicht “Heute fällt die ZU aus” Zuviele abstrakte Konzepte, die im Raum rumgeistern Kein OCL im Grundstudium

Copyright 2004 Bernd Brügge Einführung in die Informatik II: TUM Sommersemester 2004 5

Modellierungs-sprache

(UML, OMT,E/R...)

!HöhereProgrammier-

sprache(Java, C++, C,...)

Maschinen-nahe Sprache

(Intel Assembler,PMI Assembler)

Maschinen-Sprache

(PMI, Java-Bytecode)

Sprach-Niveau

System-Klasse

Berechnungvon Funk-

tionen

InteraktiveSysteme

Prozess-überwachung

EingebetteteSysteme

Adaptive Systeme

Programmierstil

Funk-tional

Impe-rativ

Objekt-Basiert

Objekt-Orientiert

Ereignis-Orientiert

Regel-basiert

Page 6: Einführung in die Informatik II Vergleich von ......Im Skript nur Sachliches, nicht “Heute fällt die ZU aus” Zuviele abstrakte Konzepte, die im Raum rumgeistern Kein OCL im Grundstudium

Copyright 2004 Bernd Brügge Einführung in die Informatik II: TUM Sommersemester 2004 6

Modellierungs-sprache

(UML, OMT,E/R...)

!HöhereProgrammier-

sprache(Java, C++, C,...)

Maschinen-nahe Sprache

(Intel Assembler,PMI Assembler)

Maschinen-Sprache

(PMI, Java-Bytecode)

Sprach-Niveau

System-Klasse

Berechnungvon Funk-

tionen

InteraktiveSysteme

Prozess-überwachung

EingebetteteSysteme

Adaptive Systeme

Programmierstil

Funk-tional

Impe-rativ

Objekt-Basiert

Objekt-Orientiert

Ereignis-Orientiert

Regel-basiert

PMIBumpers

Fibo-nacci

Kon-trol

-Struk-turen

Such-Sortier-

Algorith-men

Fibo-nacci

Page 7: Einführung in die Informatik II Vergleich von ......Im Skript nur Sachliches, nicht “Heute fällt die ZU aus” Zuviele abstrakte Konzepte, die im Raum rumgeistern Kein OCL im Grundstudium

Copyright 2004 Bernd Brügge Einführung in die Informatik II: TUM Sommersemester 2004 7

Dimensionen von Programmierstilen

Elemente: Was sind die wesentlichen Bestandteile des Stils? Sicherheit: Sind Seiteneffekte möglich?

Effizienz: Wie hoch ist die Laufzeiteffizienz?

Nachweis der Korrektheit: Wie leicht ist es zu beweisen, dass ein im Stilgeschriebenes Programm das Spezifikationsmodell korrekt implementiert?

Nachweis der Terminierung: Wie leicht ist es, zu beweisen, dass dasProgramm anhält?

Enkapsulierbarkeit: Erlaubt der Stil Zugriffsschutz (z.b. durchSichtbarkeitsregeln)

Erweiterbarkeit: Unterstützt der Stil die Einführung von neuen Typen?

Lesbarkeit: Wieweit kann man das Programm durch Lesen des Quelltextesverstehen?

Wiederverwendbarkeit: Wie leicht kann man existierende Programme beider Lösung anderer Probleme einsetzen?

Page 8: Einführung in die Informatik II Vergleich von ......Im Skript nur Sachliches, nicht “Heute fällt die ZU aus” Zuviele abstrakte Konzepte, die im Raum rumgeistern Kein OCL im Grundstudium

Copyright 2004 Bernd Brügge Einführung in die Informatik II: TUM Sommersemester 2004 8

Funktionaler Programmierstil

Wesentliche Elemente: Funktionsanwendung, Fallunterscheidung,Rekursion

Sicherheit: hoch, keine Seiteneffekte

Effizienz: für jeden Aufruf wird eine Inkarnation (Aktivierungssegment) angelegt

Nachweis Korrektheit : partielle Korrektheit durch strukturelle Induktion

Nachweise Terminierung: Terminierungsfunktion

Enkapsulierung: Gering

Erweiterbarkeit: Schwierig

Lesbarkeit OK

Wiederverwendbarkeit: Gering

Page 9: Einführung in die Informatik II Vergleich von ......Im Skript nur Sachliches, nicht “Heute fällt die ZU aus” Zuviele abstrakte Konzepte, die im Raum rumgeistern Kein OCL im Grundstudium

Copyright 2004 Bernd Brügge Einführung in die Informatik II: TUM Sommersemester 2004 9

Imperativer Programmierstil

Wesentliche Elemente: Zuweisung, Kontrollstrukturen,Anweisungssequenzen, Programmzustand

Sicherheit: nicht sehr hoch, weil Seiteneffekte aufVariablen/Zustand möglich

Effizienz: in Schleifen wird auf eine Variable mehrfach zugewiesen, Zwischenergebnisse können

gespeichert werden (i.A.höhere Effizienz)

Nachweis Korrektheit: Durch Zusicherungen (Hoare Kalkül) Sehr aufwendig schon für kleine Programme

Nachweis Terminierung: Schwierig

Enkapsulierbarkeit: Gering

Erweiterbarkeit: Schwierig

Lesbarkeit OK

Wiederverwendbarkeit: Gering

Page 10: Einführung in die Informatik II Vergleich von ......Im Skript nur Sachliches, nicht “Heute fällt die ZU aus” Zuviele abstrakte Konzepte, die im Raum rumgeistern Kein OCL im Grundstudium

Copyright 2004 Bernd Brügge Einführung in die Informatik II: TUM Sommersemester 2004 10

Objekt-basierter Programmierstil

Wesentliche Elemente: Imperativer Programmierstil + Klassenkonzept

Sicherheit: Seiteneffekte durch Klassenkonzept auflokale Variablen/Zustand einschränkbar

Effizienz: in Schleifen wird auf eine Variable mehrfach zugewiesen, Zwischenergebnisse können

gespeichert werden (i.A.höhere Effizienz)

Nachweis Korrektheit: Entwurf durch Verträge, aufwendig

Nachweis Terminierung: Schwierig

Enkapsulierbarkeit: Hoch

Erweiterbarkeit: Schwierig

Lesbarkeit OK

Wiederverwendbarkeit: Nicht sehr hoch

Page 11: Einführung in die Informatik II Vergleich von ......Im Skript nur Sachliches, nicht “Heute fällt die ZU aus” Zuviele abstrakte Konzepte, die im Raum rumgeistern Kein OCL im Grundstudium

Copyright 2004 Bernd Brügge Einführung in die Informatik II: TUM Sommersemester 2004 11

Objekt-Orientierter Programmierstil

Wesentliche Elemente Objekt-basierter Programmierstil + Vererbung und Polymorphismus

Sicherheit: Seiteneffekte durch Klassenkonzept auflokale Variablen/Zustand einschränkbar

Effizienz: mittelmäßig (i.A. geringere Effizienz alsbeim imperativen Stil, insbesondere durch

dynamischen Polymorphismus)

Nachweis Korrektheit: Entwurf durch Verträge, aufwendig

Nachweis Terminierung: Schwierig

Enkapsulierbarkeit: Hoch

Erweiterbarkeit: Sehr gut

Lesbarkeit OK

Wiederverwendbarkeit: Sehr gut

Page 12: Einführung in die Informatik II Vergleich von ......Im Skript nur Sachliches, nicht “Heute fällt die ZU aus” Zuviele abstrakte Konzepte, die im Raum rumgeistern Kein OCL im Grundstudium

Copyright 2004 Bernd Brügge Einführung in die Informatik II: TUM Sommersemester 2004 12

Ereignis-Orientierter Programmierstil

Wesentliche Elemente Kontrollfluss durch Ereignisse,kein Hauptprogramm

Sicherheit: gefährdet, weil Seiteneffekte aufVariablen/Zustand möglich

Effizienz: hoch (wie beim imperativen Stil)

Nachweis Korrektheit: Sehr schwierig wegen fehlendem Kontrollfluss

Nachweis Terminierung: Äusserst schwierig (aber im allgemeinengarnicht erwünscht:-)

Enkapsulierbarkeit: Gering

Erweiterbarkeit: Sehr gut

Lesbarkeit Schlecht

Wiederverwendbarkeit: Mittelmäßig

Page 13: Einführung in die Informatik II Vergleich von ......Im Skript nur Sachliches, nicht “Heute fällt die ZU aus” Zuviele abstrakte Konzepte, die im Raum rumgeistern Kein OCL im Grundstudium

Copyright 2004 Bernd Brügge Einführung in die Informatik II: TUM Sommersemester 2004 13

Übersichtstabelle

Sicherheit

Effizienz

Nachweisder Korrektheit

Nachweisder Terminierung

Enkapsulierung

Erweiterbarkeit

Lesbarkeit

Wiederverwend-barkeit

Funktional ImperativObjekt-basiert

Ereignis-orientiert

Objekt-orientiert

+ - - 00

- + 0 + 0

+ - 0 - 0

+ - - -- -

- - + - +

- - 0 - +

0 0 0 - 0

- - 0 - +

Legende: + (hoch), 0 (mittel), - (gering/schwierig)

Page 14: Einführung in die Informatik II Vergleich von ......Im Skript nur Sachliches, nicht “Heute fällt die ZU aus” Zuviele abstrakte Konzepte, die im Raum rumgeistern Kein OCL im Grundstudium

Copyright 2004 Bernd Brügge Einführung in die Informatik II: TUM Sommersemester 2004 14

Überblick für Heute

Vergleich von Programmierstilen

Allerlei

– Kurzfristiges Jobangebot

– Interaktives Antwortsystem

– Preisinformationen

Evaluierung der Vorlesung

Page 15: Einführung in die Informatik II Vergleich von ......Im Skript nur Sachliches, nicht “Heute fällt die ZU aus” Zuviele abstrakte Konzepte, die im Raum rumgeistern Kein OCL im Grundstudium

Copyright 2004 Bernd Brügge Einführung in die Informatik II: TUM Sommersemester 2004 15

Software-Entwickler gesucht!

Projekt: Logistiktool für die chemische Industrie

Was wir benötigen:– Informatikstudenten für 2-3 monatige Hiwi-Anstellung– MS Access - Kenntnisse wünschenswert

Wann:– Semesterferien (ab Anfang August)

Was wir anbieten:– Echte Projekterfahrung, richtiger Kunde (Fortführung eines aktuellen

Softwareprojekts)– Extreme Programming– Erfahrung sammeln in Visual Basic und Datenbanken

Kontakt: [email protected]

Page 16: Einführung in die Informatik II Vergleich von ......Im Skript nur Sachliches, nicht “Heute fällt die ZU aus” Zuviele abstrakte Konzepte, die im Raum rumgeistern Kein OCL im Grundstudium

Copyright 2004 Bernd Brügge Einführung in die Informatik II: TUM Sommersemester 2004 17

Evaluierung

Stoff

Werkzeuge

Folien

Vorlesungsbetrieb

Page 17: Einführung in die Informatik II Vergleich von ......Im Skript nur Sachliches, nicht “Heute fällt die ZU aus” Zuviele abstrakte Konzepte, die im Raum rumgeistern Kein OCL im Grundstudium

Copyright 2004 Bernd Brügge Einführung in die Informatik II: TUM Sommersemester 2004 18

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

Page 18: Einführung in die Informatik II Vergleich von ......Im Skript nur Sachliches, nicht “Heute fällt die ZU aus” Zuviele abstrakte Konzepte, die im Raum rumgeistern Kein OCL im Grundstudium

Copyright 2004 Bernd Brügge Einführung in die Informatik II: TUM Sommersemester 2004 19

Stoff

Mehr Hintergrundwissen zur eigentlichen Informatik

Weniger Themen anschneiden, dafür gründlicher

Inhalt nicht redundant aufschreiben, sondern nur Stichpunkte

Im Skript nur Sachliches, nicht “Heute fällt die ZU aus”

Zuviele abstrakte Konzepte, die im Raum rumgeistern

Kein OCL im Grundstudium

“Bitte mehr Praxisbezug”, “Bitte mehr Theorie”

Gewisses logisches/mathematisches Grundverständnisvoraussetzen

Page 19: Einführung in die Informatik II Vergleich von ......Im Skript nur Sachliches, nicht “Heute fällt die ZU aus” Zuviele abstrakte Konzepte, die im Raum rumgeistern Kein OCL im Grundstudium

Copyright 2004 Bernd Brügge Einführung in die Informatik II: TUM Sommersemester 2004 20

Vorlesungsbetrieb

Skript im Netz

Unterstützung der TUM-BWL Übung in der Innenstadt

2x Tutorübung in der Woche!

Pause zwischen langen Vorlesungen

Zentralübung nur bei Bedarf

Page 20: Einführung in die Informatik II Vergleich von ......Im Skript nur Sachliches, nicht “Heute fällt die ZU aus” Zuviele abstrakte Konzepte, die im Raum rumgeistern Kein OCL im Grundstudium

Copyright 2004 Bernd Brügge Einführung in die Informatik II: TUM Sommersemester 2004 21

Werkzeuge

Wahlfreiheit lassen bei Entwicklungsumgebungen,Betriebssystemen, Programmiersprachen

Page 21: Einführung in die Informatik II Vergleich von ......Im Skript nur Sachliches, nicht “Heute fällt die ZU aus” Zuviele abstrakte Konzepte, die im Raum rumgeistern Kein OCL im Grundstudium

Copyright 2004 Bernd Brügge Einführung in die Informatik II: TUM Sommersemester 2004 22

Folien

Folien sind deutlich überfrachtet.

Die letzten Folien länger stehen lassen.

Das Konzept der Folien funktioniert einfach nicht, Tafelanschriebwäre deutlich hilfreicher

Prof. Brügge wirkte oft unvorbereitet, als ob er die Folien nichtkennen würde

– Powerpoint und Animationen

Page 22: Einführung in die Informatik II Vergleich von ......Im Skript nur Sachliches, nicht “Heute fällt die ZU aus” Zuviele abstrakte Konzepte, die im Raum rumgeistern Kein OCL im Grundstudium

Copyright 2004 Bernd Brügge Einführung in die Informatik II: TUM Sommersemester 2004 23

Sonstiges

Keine Experimente

– Wirklich nicht? Warum haben Sie Informatik gewählt?

Weniger gequälte Übersetzung englischer Begriffe, Englisch istnun einmal die Sprache der Informatik

Das Problem ist nicht Englisch vs Deutsch, sondern “Denglisch”

Es ist nicht Sinn einer Vorlesung, für eine Firma zu werben

Ziel war Werbung für die Ferienakademie

Manchmal könnte das Mikro lauter sein, da im (vollen) Saal eingewisser Lärmpegel herrscht.

Der Lärmpegel war besonders hoch, als das Mikro gut war.

Prof. etwas freundlicher, Überreaktion bei erhöhtem Lärmpegel

Schwätzen ist unfair bezüglich der anderen Studierenden

Keine Vorlesung um 8:30

Page 23: Einführung in die Informatik II Vergleich von ......Im Skript nur Sachliches, nicht “Heute fällt die ZU aus” Zuviele abstrakte Konzepte, die im Raum rumgeistern Kein OCL im Grundstudium

Copyright 2004 Bernd Brügge Einführung in die Informatik II: TUM Sommersemester 2004 24

Ein weiteres Experiment

Interaktives Fragesystem iVote– Erstellt von Studierenden im Webobjects Praktikum

URL fuer Endbenutzer– http://macbruegge27.informatik.tu-muenchen.de/cgi-

bin/WebObjects/iVote

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 iVotemitzumachen?

Page 24: Einführung in die Informatik II Vergleich von ......Im Skript nur Sachliches, nicht “Heute fällt die ZU aus” Zuviele abstrakte Konzepte, die im Raum rumgeistern Kein OCL im Grundstudium

Copyright 2004 Bernd Brügge Einführung in die Informatik II: TUM Sommersemester 2004 25

Ein letzter Tip: Prüfungsvorbereitung

Ein Skript ist Rohmaterial, kein Kondensat, für die Prüfung. Destillieren Sie die wesentlichen Punkte aus dem Skript

– Erarbeiten Sie eine Zusammenstellung der Konzepte Üben Sie nochmals möglichst viele Übungsaufgaben Gehen Sie mental durch eine Prüfung durch

– Was kann passieren? Arbeiten Sie mit anderen zusammen!

Viel Glück im weiteren Studium!


Recommended