So, schönen guten Morgen.
Ich begrüße Sie herzlich zur Vorlesung Grundlagen der Informatik II.
Sie haben gerade eben festgestellt, ich war eigentlich rechtzeitig da.
Wir haben hier alles mögliche mit der Technik versucht zu
organisieren.
Wir haben eigentlich vorgehabt, das alles perfekt zu machen in diesem
Semester von Anfang an.
Und wie das immer so ist, alles, was man vorher ausprobiert hat, ist
dann nicht immer funktionsfähig.
Wir haben extra hier eine Verbindung zu einem sicheren System gehabt.
Leider ist auf dem Weg zu dem System hin ein Kabel nicht sicher
gewesen, sodass wir auf einmal doch auf das Saalmikrofon gehen müssen
bei der Aufnahme.
Und ich nehme den Ton für die Aufzeichnung, wir reden gleich noch über
Aufzeichnungen, den Ton für die Aufzeichnung über mein eingebautes
Mikrofon im Laptop auf.
Das heißt, der Ton wird heute nicht optimal sein, das werden wir
sehen.
Also, ich begrüße Sie herzlich, hier steht mein Name drauf, Prof. Dr.
Hartmut Schmeck, außerdem Frau Mostagim, Sie hätten eigentlich oben
stehen müssen, Frau Mostagim, sowohl von alphabetischer Reihenfolge
als auch ansonsten.
Also Frau Mostagim sitzt hier unten, ich gehe darauf ein.
Wir sind vom Institut für Angewandte Informatik und Informale
Beschreibungsverfahren, Fakultät für Wirtschaftswissenschaften,
Karlsruher Institut für Technologie und noch ganz kurz etwas zu meiner
Person.
Ich sitze hier im Institut AEFB im Allianzgebäude am Kronplatz, habe
dort Sprechstunde und arbeite dort an verschiedensten
Forschungsthemen.
Ich möchte mich ganz kurz vorstellen, also mein Arbeitsgebiet sind von
Hause aus effiziente Algorithmen, dann ganz stark auch
Naturenspiritoptimierung, bei effizienten Algorithmen übrigens auch
viele parallele Varianten von Algorithmen, bei der
Naturenspiritoptimierung geht es um Dinge wie evolutionäre
Algorithmen, Ameisenalgorithmen, Schwarmintelligenz und ähnliche
Dinge.
Und dann ein Gebiet, das wir sehr stark geprägt haben hier in
Karlsruhe, das ist das Gebiet Organic Computing.
Dabei geht es um Systeme, die sich organisch verhalten, das heißt
Systeme, die sich anpassen können an sich ändernde Anforderungen im
Rahmen ihrer Tätigkeit.
Und solche Systeme brauchen wir immer stärker, weil viele Systeme
einfach miteinander reden können und sich anpassen können an
wechselnde Anforderungen.
Und ein Thema, das mich in letzter Zeit sehr stark beschäftigt und
fasziniert, ist das Thema Energieinformatik, also die Anwendungen der
Informatik mache ich im Augenblick sehr stark im Bereich Energie.
Sie wissen, Energie ist ein wichtiges Thema und Sie werden auch
mehrfach von mir hören, dass eigentlich das, worüber wir alle reden,
Energiewende und neue Systeme für das Energiesystem, Stabilität des
Energiesystems, das geht nicht ohne Informatik.
Es geht auch nicht ohne Energietechnik, aber es geht auch nicht ohne
Informatik.
Und wir versuchen genau diese Dinge dort auf den Weg zu bringen.
Wir haben das in einer Reihe von Projekten gemacht, an denen auch
viele ihrer Kommilitonen mitgewirkt haben, im Rahmen ihrer Bachelor-
und Masterarbeiten als Hilfskraft und Ähnliches.
Und wir haben auch hier einige Projekte, die hier laufen.
In den PDF-Versionen sind alle diese blauen Themen hier mit Links
hinterlegt.
Das heißt, Sie können jeweils auf die Webseiten der Projekte gehen und
sich informieren, was dort gemacht wird.
Ich möchte nicht zu viel darüber jetzt erzählen, sondern mehr auf den
Inhalten vorlesen.
Und dann kommt ein Hinweis noch auf die EIT, was ist EIT?
EIT ist das European Institute of Innovation and Technology,
europäisches Forschungsinstitut, macht Forschungsförderung.
Und da gibt es Knowledge and Innovation Communities, sogenannte KICs.
Wir haben einen KIC, das nennt sich InnoEnergy, da ist Karlsruhe der
wesentliche Knoten von neun europäischen Knoten.
Bei den EIT-ICT-Labs ist es so, da sind wir auch mit dabei, im Rahmen
einer Action Line Smart Energy Systems.
Und wir organisieren dort zusammen mit dem Imperial College in London,
mit der KTH in Stockholm und mit Cyphelec in Frankreich, südlich von
Paris, eine Summer School on Smart Energy Systems.
Also wenn Sie weit genug sind, irgendwann können Sie da auch mal
hinmachen.
Dann bin ich Sprecher eines KIT-Schwerpunkts, Computation.
Auch da können Sie mit dem Link raufgehen und sich das anschauen.
Computation steht für die immer stärkere, unauflösbare Verknüpfung von
Communication und Computation.
Das heißt, dass wir eben in vielen technischen Bereichen ohne
Kommunikation eigentlich nichts mehr machen können und natürlich auch
nicht ohne leistungsfähige Informationsverarbeitung.
Deswegen halten wir diese Vorlesung wieder, damit Sie entsprechend
irgendwann vorbereitet sind.
Und dann habe ich noch weitere Aufgaben.
Ich bin im Campus Nord, im Großforschungsbereich, Leiter eines
Instituts für Angewandte Informatik.
Im Rahmen der programmorientierten Forschung.
Und außerdem im Forschungszentrum Informatik, im Haus of Living Labs,
mache ich auch Energieinformatik.
Dort geht es um Technologietransfer in Kooperation mit Firmen, in
direkter Kooperation oder in öffentlich geforderten Projekten.
Bringen wir dort die Ergebnisse der Grundlagenforschung in die Praxis.
Das war also genug erstmal zu mir.
Sie werden mich noch weiter kennenlernen.
Ich möchte ganz kurz auch Frau Mostergin vorstellen.
Frau Mostergin ist eigentlich gar nicht hier.
Sie sitzt aber hier vorne.
Sie kann sich kurz mal zeigen.
Frau Mostergin ist zur Zeit Gastprofessorin an der Universität
Magdeburg.
Sie hat dort die Dorothea von Eis-Erzleben Gastprofessur für ein Jahr.
Aber sie wird ab und zu mal hier auftauchen, weil ich, Sie haben
gesehen, ich habe viele Aktivitäten.
Ich bin ab und zu mal nicht da.
Muss ich leider gleich sagen.
Es wird sogar gleich nächste Woche so sein.
Nächste Woche muss ich nach Singapur zu einer größeren Konferenz über
Energie und über Elektromobilität.
Und da bin ich nicht da.
Da wird mich am Montag Frau Mostergin vertreten.
Und es wird noch so zwei oder dreimal noch passieren, dass sie mich an
einem Tag vertreten wird.
Ist leider nichts zu ändern.
Ich halte diese Vorlesung sehr gerne, bin auch meistens da, aber eben
nicht immer.
Frau Mostergin ist zwar in Magdeburg, aber hat durchaus auch hier ihr
Büro und ihre Sprechstunde kann also auch hier erreicht werden.
Ihre Gebiete sind ganz ähnlich wie meine, aber natürlich etwas anders
ausgeprägt.
Schwarmintelligenz, Optimierungsalgorithmen, parallele Algorithmen und
Organic Computing oder intelligente adaptive Systeme.
Und sie hält hier normalerweise zwei weitere Vorlesungen.
Die erste hier, die naturinspirierten oder nature-inspired
Optimization Methods, die hält sie eigentlich im Wintersemester und
macht das zusammen mit Herrn Schukla.
Aber in diesem Semester ist sie ja nicht da und Herr Schukla wird die
Vorlesung im Sommersemester halten.
Also wer die Vorlesung zu machen wollte im dritten Semester, der muss
das um ein Semester verschieben.
Organic Computing habe ich sowieso gemeinsam mit Frau Mostergin
gemacht, das mache ich im Sommersemester halt dann alleine.
So, dann Organisatorisches.
Jetzt geht es erstmal nach den kurzen Vorstellungen der Personen so
ein bisschen in die organisatorischen Dinge.
Wir müssen Sie ja informieren über viele Dinge, die ablaufen in Ihrem
Studium, in der Vorlesung.
Und dazu gibt es den Vorlesungsarbeitsbereich hier über dieses QR
-Diagramm angegeben.
Also es ist etwas schwierig, diese ganzen Zahlenfolgen hier
abzuschreiben.
Wenn Sie das QR-Diagramm kurz in Ihr Smartphone holen, dann haben Sie
den Link.
Und auf dieser Seite stehen alle relevanten Informationen für diese
Vorlesung.
Hier jeweils montags, wie Sie wissen, ansonsten mittwochs, 8 Uhr im
Audimax.
Und da stehen dann die ganzen relevanten Termine.
Andere Dinge noch, wie zum Beispiel Termin für die Bonusklausur.
Anmeldung vom 01.12.
bis 31.12.2013.
Bonusklausur, komme ich später noch drauf.
Eine Möglichkeit für Sie, Zusatzpunkte zu sammeln und Ihre Noten zu
verbessern.
Und zu sehen, welchen Stand Sie in Bezug auf den Stoff der Vorlesung
haben.
Dann gibt es die Klausur am Ende, am 17.
Februar.
Anmeldung auch dafür hier angegeben.
Und die Klausur ist dann, oder eine weitere Klausur, am Ende des
Sommersemesters.
Die Klausuren im Institut AEFP laufen immer in den ersten drei Tagen
nach Ende der Vorlesungszeit, also Montag bis Mittwoch.
Das sind für Sie relevante Termine.
Viele von Ihnen werden die Klausur am Ende dieses Semesters schreiben.
Einige vielleicht erst am Ende des Sommersemesters.
Es ist nicht so, dass das eine Vor- und Nachklausur ist, sondern das
sind zwei gleichberechtigte Klausuren.
Wobei zum Inhalt bei der zweiten ein Kapitel mehr drin ist als in der
ersten.
Das hängt aber damit zusammen, dass sich nicht das, was am Ende der
Vorlesung kommt, direkt in der Klausur abprüft.
Dann gibt es Tutorien, da gehe ich gleich noch genauer drauf ein.
Und für diese Tutorien dürfen Sie sich anmelden ab jetzt bis zum 29
.10.
Jetzt gehen Sie nicht alle gleich ins Internet, das ist nicht First
Come, First Served.
Sie haben dafür Zeit die ganze Woche, aber Sie sollten sich anmelden,
auch dazu kriegen Sie noch weitere Informationen.
Ich hatte vorhin schon gesagt, die Vorlesungsinhalte sind recht
vielfältig.
Einerseits bekommen Sie die Folien als PDF-Datei geliefert im VHB,
auch mit Annotationen.
Also ich mache ja ab und zu mal Annotationen und solche Annotationen
werden in der Regel inhaltlich orientiert sein.
Manchmal unterstreiche ich auch nur irgendwelche Dinge.
Und das mache ich, weil ich die Vorlesung aufzeichne und wenn jemand
sich die Vorlesung anschaut, dann will er, wenn er auf den Bildschirm
guckt, sehen, was da eigentlich gerade so passiert.
Und deswegen muss ich ab und zu Dinge einfach unterstreichen.
Also ich nehme auf, Sprache und Bildschirm, das heißt alles, was auf
dem Bildschirm passiert, ist in der Aufzeichnung drin und der Ton ist
auch mit dabei, das heißt Sie können dann zuhören und gucken, was
alles so passiert.
Die aufgezeichneten Vorlesungen sind verfügbar über das digitale Video
- und Audioarchiv.
Da finden Sie viele Vorlesungen von mir auf jeden Fall.
Also alle meine Vorlesungen werden aufgezeichnet, sind in der Regel
weltweit verfügbar.
Wenn Sie die anschauen wollen, sollten Sie den Camtasia-Player
verwenden.
Nicht, weil ich was gegen irgendwelche Firmen hätte, die andere Player
anbieten, sondern der große Vorteil ist, dass Sie hier ein sichtbares
Scrolling haben.
Also wenn Sie so einen schnellen Vorlauf machen, sehen Sie, wie Sie
durchlaufen durch den Film, durch die Aufzeichnung, während Sie bei
anderen Media-Playern nur irgendwo hinspringen können und Sie sehen
nicht, wo Sie eigentlich hinspringen.
Hier wollen Sie aber die Inhalte sich angucken und an einigen Stellen
mal anhalten, weil Sie was nachhören wollen.
Das ist also sinnvoll, sich den anzuschauen.
Die können Sie kostenlos runterladen.
Bei anderen Player brauchen Sie einen speziellen Kodex.
Die können Sie sich auch hier runterladen von der Webseite.
Und dann ist es so, dass wir natürlich viele Informationen
bereitstellen auf den Webseiten der Vorlesung.
Sie können dort auf den wesentlichen Seiten sich einen
Benachrichtigungsdienst abonnieren.
Das heißt, Sie bekommen dann immer eine Information, wenn dort eine
neue Datei eingestellt worden ist und eine neue Nachricht steht.
Dann können Sie sich daran erinnern lassen.
Sie müssen nicht selbst immer nachgucken, ist da irgendwas Neues.
Und dann gibt es hier auch noch etwas, was ich jetzt noch gar nicht
erwähnt habe.
Ein Übungsbuch.
Ein Aufgabenpool plus Lehrinhalten plus Lösungen.
Darauf gehe ich gleich auch nochmal genauer ein.
Dann gibt es die Übungen.
Die Übungen sind auch ein wichtiger Bestandteil dieser Vorlesung
selbstverständlich.
Da lernen Sie aktiv mit dem Stoff umzugehen.
Nur vom Hören und Sehen von Inhalten wird man zwar ein gewisses
Gedächtnis haben, was habe ich schon mal gesehen, aber um es wirklich
zu verstehen, müssen Sie damit explizit umgegangen sein.
Und die Übungen werden unterstützt oder geleitet von meinen
Mitarbeitern und Mitarbeiterinnen, von denen ein Teil nur da ist.
Herr König ist da.
Gehen Sie kurz mal auf.
Dann stehen hier noch Frau Pfeiffer-Bohnen und Frau Wünsche.
Die sind beide nicht da.
Das sind zwei Mitarbeiterinnen von mir, die im Augenblick nur halbtags
bei mir beschäftigt sind, weil sie beide keine Kinder haben.
Und deswegen zum Teil im Mutterschutz waren und jetzt gerade wieder da
sind.
Und insofern teilen die sich die Arbeit.
Wer aber gar nicht hier drauf steht, ist Herr Kochanek.
Ich weiß gar nicht, warum wir Sie nicht hier drauf geschrieben haben.
Also, Herr Kochanek, Sie dürfen auch kurz aufstehen.
Herr Kochanek unterstützt die Kollegen auch.
Also sofern, wir betreuen Sie mit mehreren Mitarbeitern.
Und dazu kommen noch weitere Personen, 20 Tutorinnen und Tutoren, die
jeweils zwei Tutorien machen, in 40-tägigem Rhythmus.
Sie müssen nur alle zwei Wochen zu den Übungen hingehen.
Die Tutoren machen das jede Woche.
Und Sie melden sich dann also dazu an, über unseren You-Subscribe
-Dienst, der bei uns am Lehrstuhl entwickelt wurde, mit dem Sie sich
also anmelden können, nicht nur aus CampusSurf, sondern Sie werden
nach Ihren Präferenzen bestmöglich zugeordnet und können sich also von
jetzt an dort anmelden.
Die Gruppen beginnen am 4.11.
bzw.
ab 11.11., je nachdem, ob es in der A-Woche oder in der B-Woche ist.
Gut, das kurz dazu.
Dann zum Übungskonzept.
Warum macht man Übungen?
Ich hatte schon gesagt, Sie sollen sich mit dem Stoff
auseinandersetzen, Sie sollen selbstständig lernen, sich Dinge dort
anschauen und Sie sollen Aufgaben lösen.
Aufgaben lösen, natürlich ist das eine Vorbereitung auf Klausuren und
ähnliches, aber es dient vor allen Dingen dazu, dass Sie mit dem Stoff
konstruktiv selbst arbeiten und dadurch einfach mehr verstehen.
Und mein Ziel ist es, Ihrem nachhaltiges Wissen zu vermitteln.
Nachhaltig heißt, man muss es sich erarbeitet haben.
Das heißt, Sie müssen wirklich sehen, dass Sie das ernst nehmen, die
Aufgaben bearbeiten, Sie bekommen Feedback dazu, Sie bekommen
Rückmeldungen auf verschiedene Art und Weise.
Dann gibt es eine gewisse Leistungskontrolle.
In der Bonusklausur am 18.
Januar werden Ihnen Aufgaben gestellt.
Drei Aufgaben, von denen Sie zwei vollständig lösen müssen, damit Sie
dort bestehen.
Und der Sinn dieser Aufgaben ist zu schauen, ob Sie an den Übungen
erfolgreich teilgenommen haben.
Das heißt, die Aufgaben in der Bonusklausur sind Aufgaben, die sehr
ähnlich in den Übungen schon mal dran waren.
Wenn Sie das erfolgreich bestanden haben, dann bekommen Sie eine
Verbesserung bei Ihrer Note in der Abschlussklausur, sofern Sie die
bestanden haben, um eine Notenstufe.
Das heißt, um 0,3 oder 0,4 maximal können Sie aber nur eine 1,0
kriegen.
Besser als 1,0 gibt es nicht.
Eine 0,7 machen wir nicht.
Nicht zulässig.
Und im Tutorium soll Sie halt einerseits, direkt wenn Sie dort sind,
in kleineren Gruppen Probleme lösen, bearbeiten, die Lösungen dann
vorstellen.
Sie können aber auch die schwierigeren Aufgaben zu Hause bearbeiten,
dem Tutor in die Hand drücken und der wird Sie dann durchschauen und
Ihnen Rückmeldung geben.
Musterlösungen zu den Aufgaben werden nach dem Tutorium im
Vorlesungsarbeitsbereich veröffentlicht und die Übungsblätter, die
also zu Hause da sind, die werden dann nur zum Teil besprochen.
Aber wenn Sie Fragen haben, werden Sie immer auch Gelegenheit haben,
Rückmeldung zu bekommen.
Wir bieten Ihnen zwei verschiedene Arten von Tutorien an.
Das eine ist das, hier heißt es, klassische Tutorium.
Für mich ist das nicht das klassische, sondern das ist eigentlich eine
Abart eines Tutoriums, weil das eine Wiederholung des Vorlesungsstils
ist.
Einer steht vorne und alle anderen hören zu.
Der Tutor präsentiert Musterlösungen zur Gruppenarbeit.
Sie machen also Gruppenarbeit und dann wird eine Lösung präsentiert.
Das ist eigentlich nicht das, was man machen sollte, sondern wer
Interesse hat, der geht in ein interaktives Tutorium, wo die Lösungen
für die Aufgaben vorgestellt werden, die vorher in der Gruppenarbeit
gemeinsam ermittelt wurden.
Also das ist eigentlich etwas, was viel besser ist, Lösungen aus der
Gruppenarbeit selbst vorzustellen.
Dann lernen Sie, Inhalte zu präsentieren für eine Gruppe.
Etwas, was Sie später immer wieder brauchen, dass Sie Ihren
Mitarbeitern, Vorgesetzten oder wem immer etwas vermitteln müssen,
einen Inhalt vermitteln müssen, das können Sie hier schon lernen.
Und bei der Anmeldung können Sie wählen zwischen diesen beiden
Tutorienarten, also Gruppe A oder B und auch mal interaktiv oder
klassisches Tutorium.
Und dann gibt es noch so ein paar Dinge, die Sie beachten sollten.
Sie melden sich für die Tutorien an, dabei geben Sie Präferenzen an,
wann Sie gerne das Tutorium machen möchten.
Dann wird Ihnen ein Tutorium zugewiesen und da gehen Sie bitte hin.
Wenn Sie zu einem anderen Tutorium gehen und es stellt sich heraus,
der Raum ist voll, dann können diejenigen, die nicht angemeldet sind
für das Tutorium, gebeten werden, den Raum zu verlassen, weil wir
gewährleisten müssen, dass der Tutor wirklich Gelegenheit hat,
vernünftig auf die Fragen der Studierenden einzugehen.
Wenn das zu viele Teilnehmer sind, dann ist das Betreuungsverhältnis
einfach schlecht.
Und dann gibt es eine weitere Sache, die ich hier extra eingeräumt
habe.
Das ist eigentlich selbstverständlich, aber ich musste es hier
aufnehmen, weil Vorgängerinnen und Vorgänger von Ihnen das manchmal
etwas anders gesehen haben.
Selbstverständlich erwarten wir, wenn Sie das Tutorium gehen, die
Vorlesungen sich angeschaut und angehört haben.
Das heißt, wir erwarten, dass Sie den Stoff im Prinzip kennen.
Selbstverständlich wird nochmal einiges wiederholt, wenn Aufgaben
besprochen werden, werden nochmal kleinere Dinge in Ihnen vorgestellt,
aber es ist nicht so, dass nochmal der Stoff aus der Vorlesung
wiederholt wird.
Dann bräuchte ich die Fotos ja nicht zu halten.
Das macht keinen Sinn.
Wenn Sie Fragen haben zum Stoff der Vorlesung, werden die Tutoren
immer darauf eingehen.
Also das ist selbstverständlich, aber das sollten Sie wirklich
beachten.
Wir können nicht nochmal Dinge denjenigen vorstellen, die einfach
nicht in die Vorlesung gehen.
Das geht gar nicht.
Dann gibt es bei den Übungen noch einen weiteren Aspekt.
Und das ist eine Neuerung, die wir vor ein paar Jahren hier eingeführt
haben.
Etwas, wofür wir übrigens auch von Ihren Vorgängerinnen und Vorgängern
eine sehr gute Evaluation bekommen haben.
Dafür bekommen wir jetzt in 14 Tagen etwa den Lehrpreis der Fakultät.
Da muss ich Ihnen allen bzw.
Ihren Vorgängern und Vorgängern danken, dass Sie uns so gut bewertet
haben.
Wir sind also dann Frau Mostagi, Herr König, Frau Pfeiffer und ich.
Und wir haben halt, tja, wofür den Preis bekommen?
Dafür, dass wir die ganzen Dinge anbieten, die jetzt kommen.
Einerseits also diesen Aufgabenpool.
Hier haben wir 200 Aufgaben zu den Themen der Vorlesung.
Und in diesem Jahr, ganz neu, gibt es ein Übungsbuch dazu.
Also, jetzt will ich mal versuchen, ob das funktioniert.
Ich will mal hier in die... das sollte eigentlich funktionieren.
Ich muss nur kurz aus dem Stiftmodus raus, genau.
Hier, kurze Werbepause.
Zweimal 100 Übungsaufgaben zur Grundlagen der Informatik.
Das sind Aufgaben zu den beiden wesentlichen Teilen dieser Vorlesung.
Zu theoretischen Informatik und zu technischen Informatik.
Und Sie bekommen hier also viele Aufgaben in Buchform angeboten.
Sie haben Gelegenheit, diese Aufgaben auch über das VAB, sich
runterzuladen, aber dann nur die Aufgaben.
Hier in diesen Büchern bekommen Sie dazu, noch zu allen den Themen,
die hier aufgeführt sind, kurze Einführungen und die Lösungen.
Jetzt gehe ich aber hier wieder zurück zur Vorlesung.
Also, dieses Buch ist sicherlich etwas, was noch hilfreich ist als
Ergänzung zur Vorlesung.
Sie haben dann aber auch die Aufgaben aus dem Aufgabenpool, den Sie
über unseren VAB, über den Vorlesungs- und Arbeitsbereich, über Links
erreichen können.
Und Sie können also jederzeit diese Aufgaben bearbeiten.
Es gibt dann folgenden Effekt dabei.
Sie haben die Aufgaben, die werden also hier in dem PDF-Dokument, das
Sie auf dem Bildschirm aufmachen, da sehen Sie eine Aufgabe und dann
sehen Sie da unten drunter, das kommt gleich, Sie sehen dann solche
Abkürzungen wie EndAA, also Endliche Automaten, Aufgabe AA, da können
Sie draufklicken und dann kommen Sie zum Forum, zu dieser Aufgabe.
Das heißt, zu jeder Aufgabe gibt es im Vorlesungs- und Arbeitsbereich,
beziehungsweise bei Ilias, ein Forum, sodass über diese Aufgabe dort
diskutiert werden kann.
Da können Sie sich austauschen darüber, welche Hinweise Sie haben,
welche Erfahrungen Sie gemacht haben bei der Bearbeitung dieser
Aufgabe.
Und dann können Sie von dort direkt wieder zurück zu der
entsprechenden Aufgabe, können dort weiterarbeiten.
Das heißt, das ist eine hin- und herstellende Struktur, damit Sie in
der Lage sind, selbst tätig, selbstständig sich mit dem Stoff zu
beschäftigen, über das hinaus, was wir Ihnen in den Tutorien anbieten.
Das also zu diesem Aufgabenpool.
Und das ist noch nicht alles, also hier sind diese
vorlesungsbegleitenden Foren, auch das ist wichtig, Sie sollen
Gelegenheit haben, uns Fragen zu stellen.
Das können Sie über das Forum machen in dem Vorlesungs- und
Arbeitsbereich und außerdem über Foren bei Ilias.
Da gibt es einerseits ein Forum zu den Übungsaufgaben aus den
Tutorien, ein Forum zu dem Aufgaben- oder dem Übungsbuch und ein Forum
zu Aufgaben aus den Klausuren der vergangenen Jahre.
Also Sie haben viele Möglichkeiten, auf Informationen zurückzugreifen,
die mit der Vorlesung zu tun haben.
Und wie gesagt, Sie können bei einer Aufgabe den PDF-Dokument einfach
dann auf so etwas wie NAU draufklicken und Sie kommen zu dem
entsprechenden Forum.
Ich denke, dass das durchaus etwas Sinnvolles ist.
Nur kurz die Reformation, wir hatten früher bei dieser Vorlesung in
den Klausuren Durchfallquoten am Ende von so 30% bis 35%.
Im letzten Semester waren das 5%.
Das heißt, dadurch, dass wir Ihnen so viel Gelegenheit gegeben haben,
Rückmeldungen zu Dingen zu bekommen, die Sie im Zusammenhang mit den
Inhalten der Vorlesung tun, durch diese vielen Rückmeldungen sind Sie
deutlich besser geworden.
Und es ist mein Ziel, möglichst vielen von Ihnen ein Erfolgserlebnis
zu bescheren.
Das heißt, dass Sie mit einer guten Bewertung hier rauskommen.
Es ist nicht mein Ziel, viele von Ihnen rauszukriegen.
Keineswegs.
Gut.
Und dann gibt es noch etwas, was auch meine Gruppe auszeichnet.
Wir haben Lernmodule entwickelt vor einigen Jahren.
Auf die können Sie auch zugreifen, da gehe ich später noch ein.
Dann gibt es einen Schaltkreissimulator, nur ganz kurz, da kann ich
auch kurz draufklicken.
Dann sehen Sie diesen Schaltkreissimulator.
Das ist also ein Werkzeug, mit dem Sie Schaltungen erzeugen können.
Zum Beispiel so etwas wie das hier.
Da sehen Sie viele Schaltelemente, also Hardware, die man bauen kann,
um irgendwelche Funktionen auszuführen.
Mikroelektronik besteht aus solchen Schaltelementen.
Und hier haben wir ein sehr schönes Werkzeug, mit dem wir solche
Bauelemente erstellen können.
Wie man das macht, werden Sie alles sehr schnell lernen können.
Und da gibt es also viele Beispiele für.
Sie werden im Laufe der Vorlesung noch ein paar weitere sehen.
Insbesondere in dem Kapitel, wenn es um Netz- und Schaltwerke geht.
Sie können sich diesen Schaltkreissimulator herunterladen, da ist ein
Link im VAB verfügbar.
Dann gibt es aber noch mehr.
Wir haben auch noch sogenannte Kooperationswerkzeuge.
Wir legen Wert auf Kooperation.
Sie untereinander, wir mit Ihnen, Sie mit uns.
Und diese Kooperationswerkzeuge sollen dienen zum elektronischen
Feedback, zur Handmeldung.
Sie dürfen sich gerne melden, aber ich sehe das nicht immer.
Und nicht jeder mag auch gerne sich so melden.
Und Sie können Fragen stellen während der Vorlesung.
Also ich kann Ihnen Fragen stellen und Sie können mir Fragen stellen.
Und ich sehe das auf dem Bildschirm.
Wir werden gleich sehen, wie das funktioniert.
Und da fällt mir ein, ich werde Sie gleich starten.
Das habe ich gerade vergessen, das muss ich jetzt noch machen.
Es gibt diese Werkzeuge verfügbar als App für Android-Smartphones,
aber auch als einfache Web-Anwendung.
Also jeder kann auf seinem Laptop oder Smartphone sich die Sachen
anschauen.
Das ist also eine Möglichkeit.
Jetzt muss ich aber erst mal die Vorlesung starten, weil ich das
nämlich gerade vergessen habe.
Das ist nicht gut.
Jetzt muss ich einmal zurück auf...
Wie mache ich das denn jetzt?
Jetzt muss ich auf den Arbeitsplatz.
Den habe ich jetzt hier nicht.
Mein Gott.
Dann muss ich einmal kurz aus der Vorlesung raus.
Das machen wir jetzt ganz einfach.
Ich muss mich leider einmal kurz aus der Präsentationsraum.
Das machen wir nachher weiter an der Stelle.
Und ich muss ganz kurz zu den Werkzeugen.
Das dauert jetzt einen kleinen Augenblick, zwischendurch können Sie
sich einmal kurz unterhalten.
Das geht gleich weiter.
So, wir sind wieder zurück.
Jetzt können wir also sehen, das ist die Web-Anwendung.
Auch hier finden Sie entsprechend QR-Diagramme, die kommen gleich noch
größer.
Eine Web-Anwendung, bei der Sie... Aha, jetzt ist schon jemand dran.
Jetzt sagt schon jemand, ich soll schneller vorgehen.
Da unten ist schon ein grüner Balken.
Sie haben also gesehen, hier unten ist jetzt eingeblendet,
halbtransparent, ein Werkzeug, bei dem ich sehen kann, ob etwas
schneller sein soll, ob es gut so ist oder ob es langsamer sein soll.
Wenn das Ausrufezeichen hier gelb leuchtet, stellt jemand mit Frage.
Wir werden gleich sehen, ob das passiert.
Hier kann man also, wenn man auf die Web-Anwendung geht, kann man hier
die Vorlesung aussuchen, muss sich dann identifizieren mit folgendem
Passwort.
Das schreibe ich Ihnen kurz mal hin.
Das Passwort ist info2.
Mit dem Passwort können Sie das auswählen, können dann da rein.
Und dann können Sie da alle mit Fragen stellen.
Das ist aber eigentlich gar nicht das Schöne, sondern das Schöne ist
eigentlich das, was man auf der nächsten Folge gleich sehen wird.
Wer die Web-Anwendung haben möchte, kann dieses QR-Diagramm kurz sich
nehmen, aber eigentlich interessanter für Sie ist das, was Sie auf der
nächsten Folge sehen, nämlich die App.
Das ist hier, die Android-App.
Das lasse ich jetzt mal ein bisschen länger hier.
Damit kommen Sie auf die App für dieses Werkzeug.
Und wenn Sie sich das jetzt hier kurz runterladen, ich sehe schon,
einige machen das.
Wir sehen, jetzt ist einiges schon los.
Einige wollen es schneller haben, einige langsamer.
Einige sagen, das ist in Ordnung.
Das kann gleich noch hochgehen.
So, das also zu diesen Werkzeugen.
Und jetzt zeige ich Ihnen, was man da machen kann.
Das eine ist, dass Sie auch hier die Vorlesung aussuchen können.
Sie können sich mit einem Namen dort identifizieren.
Sie können sich beliebig aussuchen.
Irgendein beliebiger Name.
Da müssen Sie einmal die Vorlesung wählen.
Sie müssen das Passwort nennen, also das Info 2.
2 ausgeschrieben.
Und dann bekommen Sie die Möglichkeit, über diese Schaltfläche eine
Frage zu stellen.
Und die Frage abzuschicken.
Dann können Sie sagen, ob es schneller, langsamer sein soll oder ob es
so in Ordnung ist.
Und Sie können außerdem, wenn Sie auf dieses Refresh-Symbol gehen,
stellen Sie fest, ob gerade Fragen aktiv sind.
Ich werde das gleich mit Ihnen durchspielen.
Es sind im Augenblick keine aktiv, die kommen aber gleich.
Und dann haben wir hier diese verschiedenen Möglichkeiten.
Und dann gibt es weitere Dinge.
Wenn ich jetzt eine Frage stelle, kann es zum Beispiel sein, dass ich
Sie frage, wer entdeckte die elektromagnetische Strahlung?
Und da steht jetzt Heinrich Herz.
Das ist eine ein bisschen läppische Frage.
Da ist ein kleiner Schreibfehler drin.
Der kluge Student sagte natürlich Herz mit TZ.
Und dann kann er sich anschließend auch anschauen, sofern die
Ergebnisse dargestellt werden, wie die Verteilung der Antworten ist.
Und hier gibt es schon die erste Frage.
Sie sehen, das Draufsuchezeichen ist da.
Aber darauf wollte ich jetzt nicht gehen, sondern ich wollte hier
rauf.
Sie sehen, das ist eine schlechte Stelle.
Das ist eine Hallo.
Das ist eigentlich etwas, was nicht so gemeint ist.
Ich bitte Sie darum, das vernünftig zu benutzen.
Das ist im letzten Semester noch immer so passiert, dass wirklich gute
Fragen gestellt wurden, die wirklich für alle auch hilfreich waren.
Also wir sollten nicht unsere Zeit verschwenden.
Also Tom, der hier fragt, Hallo ist keine Frage.
Also die habe ich jetzt beantwortet.
Und jetzt gibt es hier schon die nächste Frage.
Und für immer top rated.
Okay, danke.
Machen wir so.
Und so weiter.
Und schon wieder fehlt einer eine Frage.
Sie sehen, was ist der Sinn des Lebens?
Diese Frage kann ich Ihnen natürlich nicht sofort beantworten.
Wir können es am Ende der Vorlesung darüber gerne noch austauschen, ob
ich Ihnen jetzt Beiträge geliefert habe, zu Ihrem Verständnis vom Sinn
des Lebens.
Ein gewisser Sinn des Lebens wird schon darin stecken, aber das ist
eigentlich eine Frage, die man in einer etwas anders thematisch
orientierten Vorlesung stellen würde.
Eine sinnvolle Frage ist es sicherlich.
Da gebe ich Ihnen also durchaus recht.
Und Sie sehen, die Werkzeuge haben auch ihre Probleme.
Wo finde ich Nukid?
Ich habe das ja gerade eben mit dem QR-Diagramm Ihnen gezeigt.
Also, ich kann gerne nochmal kurz zurückgehen auf die vorige Folie.
Das war Nukid.
Da sind Sie im App-Store und sollten dann Nukid runterladen können.
Jetzt probiert der König das sogar, ob da irgendein Link verkehrt ist,
aber ich nehme an, dass der richtig ist.
Also wenn Sie im App-Store suchen nach Nukid, finden Sie das da.
Jetzt haben wir schon wieder eine Frage.
Das ist wieder das Verkehrte.
Die habe ich noch nicht beantwortet.
Jetzt habe ich schon wieder eine Frage.
Ich höre das gleich auf und werde nachher nochmal ein paar weitere
Dinge dort machen.
Jetzt höre ich erstmal mit diesen Beantwortungen der Fragen auf, weil
ich hier weitermachen muss.
Ich muss ja nicht sofort alle Fragen beantworten.
So, das waren jetzt diese Möglichkeiten, die wir haben da drin.
Ich kann Ihnen auch Fragen stellen.
Jetzt werde ich das auf einmal kurz vorstellen.
Wie war das?
Genau, so komme ich darauf.
Und jetzt gehe ich auf Fragen.
Also damit Sie sehen, wie das funktioniert.
Ich stelle jetzt gleich eine Frage.
Zum Beispiel diese hier.
Und ich sage jetzt Publish Question.
So, jetzt sehen Sie meine Frage, die ich stelle.
Wenn Sie jetzt auf Ihrem App gucken oder wenn jemand das schon
installiert hat, dann wird er dort diese Frage sehen.
Die müsste gleich dort auftauchen.
Und dann können Sie sagen, gegen wen die deutsche
Fußballnationalmannschaft im Finale von München 1974 gewonnen hat.
War das gegen England?
Gegen Holland?
Gegen Österreich?
Oder ich möchte gerne jemanden anrufen.
Und Sie sehen einige...
Also ich weiß es gar nicht.
Bitte?
Niederlande?
Sind Sie sicher?
Ja?
Das glaube ich nicht.
Also mein Mitarbeiter sagt gerade, es wäre die Niederlande gewesen.
Die sind gar nicht dabei.
Also hier ist die Mehrzahl dafür, dass es Holland war.
Holland, natürlich.
Niederlande.
Da sehen Sie, wie blind man ist, wenn man auf einen Text guckt und
nicht richtig ständig nachdenkt.
Selbst wenn es Holland ist, natürlich auch Niederlande.
Aber die Holländer mögen es nicht immer, dass sie Holländer genannt
werden, sondern Niederländer.
Ist so.
Okay.
Damit haben wir jetzt hier also 22, die der Meinung sind,
übereinstimmen.
Hier sehen Sie also, wie das funktioniert, wenn ich jetzt sage,
Publish Results.
In dem Augenblick bekommen Sie die Statistik auch auf Ihre Apps
draufgespielt.
Da können Sie sich das selber hier anschauen.
Gut.
Das also zu diesen Möglichkeiten.
Sie sehen, ich habe eine Vielzahl von Fragen, die ich schon
vorbereitet habe, die ich Ihnen irgendwann im laufenden Vorlesung
stellen werde.
Und die meisten werden etwas ernsthafter sein als diese Fragen.
Obwohl es auch eine wichtige Frage ist.
Gut.
Damit kommen wir zurück zum Stoff.
Lassen Sie mich ganz kurz hier dahin gehen.
Was gilt der Bonus aus der Bonusklausur?
Auch für die Klausur im Juli?
Ja, gilt.
Aber... und gilt auch für die Klausur in der Nacht.
Der Bonus, den haben Sie ein für alle Mal, aber nur für die bestandene
Klausur.
Also, auch beantwortet.
Jetzt mache ich nochmal eine Antwort.
Das ist so nicht gewünscht.
Und jetzt müssen alle das einmal ausprobieren.
Hier stellt jemand überhaupt keine Frage.
Und damit ist es erstmal gut.
Jetzt noch einmal und dann gehe ich wieder zur Vorlesung.
Ich kann alle auf einmal anzeigen.
Show all questions.
Was machen Sachen?
Ist das Pumping Lemma Teil der Vorlesung?
Ja.
Pumping Lemma ist Teil der Vorlesung.
Testfrage brauchen wir nicht.
Niederlande gleich Holland?
Danke.
Und gut.
Holland gleich Niederlande?
Ja.
Alles richtig.
Damit habe ich alle Fragen beantwortet.
Genau dieses Feature kannte ich noch gar nicht.
Meine Mitarbeiter bei der letzten Version dazu gefügt.
Das hatten wir früher nicht drin.
Also, damit haben wir alle Fragen.
Und schon wieder hat jemand hier eine Frage.
Ah, ja, ja, ja, ja, ja.
Show all questions.
Ich muss also alle abhaken, dass ich sie alle beantworte.
Und erst dann kann ich sagen, es sind alle beantwortet und nun sind
sie weg.
Und jetzt kommen wir zum... jetzt geht es weiter.
Jetzt gehe ich erstmal weiter in der Vorlesung.
Und Sie haben also hier Möglichkeiten, zusätzlich, unabhängig von der
Vorlesung, auch noch in Fragerunden teilzunehmen.
Und zwar machen wir mindestens am Ende jedes Kapitels eine Fragerunde,
die dann nachmittags irgendwann freigeschaltet ist.
Und dann können Sie auf eine Reihe von Fragen antworten, können sich
damit beschäftigen und bekommen dann Informationen darüber, wie gut
Sie gewesen sind, beziehungsweise was Ihre Kommilitonen dazu gesagt
haben.
Das ist also auch noch eine weitere Sache.
Zum Beispiel Fragen zu Betriebssystemen würden so aussehen.
Und wenn Sie dann sich die Ergebnisse anschauen, dann sehen Sie, wie
diese Fragen beantwortet wurden.
Es sind dort nicht die Lösungen zu diesen Surveys dabei.
Aber auf die Art und Weise geben wir Ihnen Möglichkeiten,
Rückmeldungen zu bekommen, über Ihr Wissen zur Vorlesung.
Gut.
Wir kommen damit jetzt auch noch ganz kurz diese...
Ah!
Eine wichtige, das ist eine ganz wichtige Frage.
Eigentlich hätte ich Sie überlaufenes fragen müssen, dass der Mann mit
der Kamera hier aktiv sein darf.
Habe ich vergessen.
Der hat sich jetzt gefilmt und der Mann mit der Kamera, der ist dazu
da, im Zusammenhang mit der Verleihung des Lehrpreises, also bei der
akademischen Jahresfeier am 8.
November, 9.
November, richtig, 9.
November ist die Jahresfeier, werden zu jedem, der einen Lehrpreis
bekommt, bei der Verleihung ganz kurze Videoclips gezeigt, darüber,
was die eigentlich so machen.
Und wir fanden es sinnvoll, dann genau das aufzunehmen, wofür wir
eigentlich den Preis bekommen haben, nämlich diese vielfältige
Möglichkeit für Sie, sich mit dem Stoff der Vorlesung zu beschäftigen
und Rückmeldungen zu bekommen.
Das war jetzt der Sinn dieser Aufgabe.
Okay, vielen Dank.
Jetzt habe ich auch die beendet.
So, jetzt kommen wir zu den Inhalten der Vorlesung.
Und worum geht es in dieser Vorlesung?
Um einen Teil, der hier etwas hervorgerufen ist, ganz schwach,
Grundlage und Informatik 2.
Aufbauend auf den Dingen, die Sie gelernt haben in Programmieren 1 von
Grundlage und Informatik 1.
Und danach, im vierten bis sechsten Semester, können Sie natürlich
noch weitere Dinge machen.
Programmierung kommerzieller Systeme, weitere Vorlesungen,
Vertiefungsmodule oder Wahrsichtmodule Informatik.
Das ist also ein Teil, und hier liegen für Ihnen die Grundlagen, damit
Sie dann nachher sinnvoll die weiteren Vorlesungen bestreiten können.
Lassen Sie mich ganz kurz eingehen darauf, was Sie in Informatik 1
eigentlich gelernt haben.
Also Programmieren haben Sie Programmieren gelernt, Java.
Und worum ging es eigentlich in Informatik 1, oder Grundlagen in
Informatik 1?
Es ging im Wesentlichen darum, wie man Problembildungsverfahren durch
Programme für Universalrechner realisiert und wie man ihre Qualität
und Kosten beurteilen kann.
Ausgehend von irgendeiner Spezifikation, das ist das, was im
Wesentlichen bei Informatik 1 gemacht wurde.
Dazu muss man zunächst mal wissen, wie man Systeme und Abläufe
modelliert.
Grundlage für Programme für Softwareerstellung.
Dazu haben Sie etwas gelernt über UML.
Dann haben Sie etwas darüber gelesen, wie man das formal machen kann.
UML ist ja nicht formal.
Formal macht man das mit logischen Formen, mit logischen Modellen, mit
Aussagenlogik, Prädikatenlogik und auch mit Wunschen Algebren.
Die Wunschen Algebren werden wir vor allem in dieser Vorlesung noch
weiter kennenlernen, wenn es um Schaltplätze, Schaltwerke geht.
Dann haben Sie sich mit Algorithmen beschäftigt.
Wenn ich also etwas spezifiziert habe, brauche ich Algorithmen, um
Probleme zu lösen.
Welche Eigenschaften haben die Algorithmen?
Wie spezifiziert man sie?
Und wie beurteilt man die Qualität und die Kosten?
Qualität wäre Korrektheit.
Da haben Sie etwas gelernt über Testverfahren.
Whitebox-Test, Blackbox-Test und solche Dinge.
Systematische Testverfahren.
Was Sie nicht gelernt haben, ist Verifikation.
Aber ganz wichtig, bei Tests können Sie herausfinden, dass ein
Programm Fehler hat.
Sie können Fehler entdecken.
Sie können nicht nachweisen, dass ein Programm keine Fehler hat.
Wenn Sie nachweisen wollen, dass ein Programm keine Fehler hat, müssen
Sie es beweisen.
Also wenn Sie in Ihr Auto steigen und da Software drin ist, die nur
getestet wurde, dann ist das ein Risiko.
Insbesondere wenn Sie eine Komponente später verkaufen für ein Auto
und da ist Software drauf und Sie sind verantwortlich für
Fehlverhalten mit allen möglichen Haftungsrisiken.
Da können Sie nicht nachweisen, da kommt ein neues Patch drauf und
dann ist es in Ordnung.
Sie müssen dann, wenn technische Systeme gesteuert werden, zum
Beispiel ein ABS-System oder ein Werkzeug für autonomes Fahren oder
ähnliche Dinge, da müssen Sie wissen, das Programm ist richtig, da
müssen Sie verifizieren.
Das geht auch, aber sehr aufwendig.
Wurde im Grundland Informatik einzeln nicht gemacht.
Wird auch im weiteren Studium für die Wirtschaftsingenieure so
eigentlich nicht standardmäßig angeboten.
Müsste aber eigentlich angeboten werden.
Also wenn wir das mal überarbeiten, müsste man das eigentlich
einbauen, aber wir sind sehr beschränkt in der Anzahl der Stunden, die
wir Ihnen anbieten können.
Also Verifikation heißt beweisen, testen heißt durchprobieren, ob man
Fehler findet.
Und dann geht es darum, für Wirtschaftsingenieure ganz wichtig, was
sind eigentlich die Kosten?
Für den Entwurf, aber natürlich auch für die Ausführung.
Programm wird nicht nur einmal ausgeführt, sondern mehrfach.
Was ist also der Aufwand für eine häufige Ausführung eines Programms?
Deswegen interessiert uns der Zeitbedarf im besten, schlechtesten Fall
und der Mittel.
Haben Sie kennengelernt, können Sie später in der Vorlesung effiziente
Algorithmen noch einmal genauer kennenlernen.
Und dann die Frage, wie kann ich Programme systematisch entwerfen?
Auch dafür haben Sie Techniken kennengelernt, wie schrittweise
Verfeinerung, Modularisierung.
Dann gibt es gewisse Techniken, wie Backtracking, Divide & Conquer,
Branch -and-Bound, Dynamisches Programmieren.
Diese Techniken werden Ihnen noch immer wieder begegnen.
In unseren Vorlesungen, in den Vorlesungen von Operations Research,
also an verschiedenen Stellen.
Ganz wichtig, dass man sich damit auskennt.
Und welche Standarddatenstrukturen gibt es für die Realisierung von
Algorithmen?
Algorithmen verarbeiten Informationen, irgendwelche Daten, die in
einer sinnvollen Art und Weise strukturiert sind.
Sie haben dafür einige wesentliche Strukturen kennengelernt.
Listen, Baumstrukturen, Schlangen, Heaps und so weiter.
Die werden Ihnen an vielen Stellen wieder begegnen.
Das ist eine wichtige Sache.
Lassen Sie mich kurz auf die Fragen eingehen.
Na ja, also das ist sicherlich nicht eine sinnvolle Frage.
Die wurde uns da zweimal gestellt.
Die können ja auch alle weg.
Bekommt man den Bonus auch, wenn man in der...
in der Januarklausur, das kann ich nicht weiterlesen im Augenblick.
Doch, durchfällt, wenn man nochmal nachschreibt, selbstverständlich
bekommen Sie den dann.
Da ist nichts weiter.
Die Morse-Codierung erfüllt die Fano-Bedingung nicht.
Die Hartmann-Codierung schon.
Ja, das stimmt.
Da hat einer sich ein bisschen mit Dingen beschäftigt, die wir erst in
einigen, einigen Vorlesungen später machen werden.
Die natürliche Fortsetzung der Morse-Codierung, da steht irgendwas
mehr, weiß nicht, was da noch steht.
Kann ich jetzt hier nicht lesen, weiß nicht warum.
Da kann ich anscheinend, kann ich auch nicht scrollen.
Wann wird die Anmeldung in Ilias aktiv geschaltet?
Das sollte eigentlich jetzt schon der Fall sein.
Herr König nickt.
Bitte?
Yousufscribe.
Yousufscribe, richtig.
Genau, Yousufscribe wird freigeschaltet.
In Ilias kann man sich noch nicht anmelden.
Habe ich gestern Abend versucht, das Ding nicht, noch nicht aktiv.
Ja, gestern Abend gab es noch Anmeldungen zu den Foren, zu den
Aufgaben, wäre noch nicht aktiv.
Da kümmert sich mein Mitarbeiter drum.
Damit habe ich diese Fragen alle beantwortet.
Doch noch nicht, waren noch ein paar mehr.
Show all questions, so ist das, wenn man teilweise nur zwei leere
Fragen sieht und damit auch beantwortet.
Ich mache weiter.
Das war alles, was wir zur Grundlage der Informatik 1 gemacht haben.
Ich hoffe, dass Sie sich erinnern, dass Sie diese Themen dort
tatsächlich behandelt haben.
Es ist so, dass wir hier Dinge machen, die bauen zum Teil auf Ihrem
Verständnis von Algorithmen usw.
auf, aber im Wesentlichen sind das neue Themen, die wir hier machen.
Und die Fragen, die Sie hier sehen, hier stehen, beschreiben die
Motivation für die Behandlung der Themen von Grundlagen der Informatik
1.
Solche Fragen können Ihnen natürlich auch in Klausuren begegnen,
obwohl ich die für Grundlagen der Informatik 1 nicht stelle.
Kommen wir zu der Vorlesung Grundlagen der Informatik 2.
Da geht es in zwei Teilen um verschiedene Bereiche der Informatik.
Einmal um formale Modelle der Informatik.
Formale Modelle, wie hier endliche Automaten, rivuläre Sprachen,
Kellerautomaten und verschiedene Automaten, Turing-Maschinen,
Berechenbarkeit und Komplexität, das werden Sie alles später noch
genauer kennenlernen.
Teil 2, Architektur von Rechensystemen, da geht es darum, wie man
einen Rechner eigentlich baut.
Wie er funktioniert, wie man ihn betreibt, wie man dafür sorgt, dass
er all die schönen Dinge für uns tut, die uns mittlerweile
selbstverständlich erscheinen.
Literatur ist vielfältig vorhanden, Grundvorlesung.
Wir haben hier also unser Buch gar nicht mehr drin, das können wir
nochmal dazufügen.
Sie finden im VAB auf entsprechenden Seiten viele Informationen zur
Literatur.
Das ist eigentlich alles jetzt erstmal zur Einführung.
Ich komme gleich richtig zu den endlichen Automaten und ähnlichen
Dingen.
Das war der erste Teil, jetzt machen wir eine ganz kurze
Verschnaufpause, weil ich jetzt hier erstmal ins nächste Kapitel rein
muss.
Also, ein paar Minuten Verschnaufpause und dann...
Jetzt müsste es funktionieren mit dem Anwältin Ilias.
Ah ja, mein Mitarbeiter sagt gerade, dass es jetzt mit der Anwältin
Ilias funktionieren muss.
Dann gehen wir mal zum nächsten Kapitel.
Das müsste eigentlich hier schon offen sein, Kapitel 1, genau.
Und da fangen wir von Beginn an.
So.
Also ich mache jetzt keine Pause mit der Aufzeichnung.
Ich denke, ich mache weiter.
Und wir kommen damit schon zum ersten Teil des Inhalts der Vorlesung.
Wobei ich hier das erste noch als Einführung bezeichne.
Ich werde jetzt ein paar Dinge zu formalen Methoden erzählen.
Und dazu, was wir eigentlich machen wollen, wenn wir uns mit der
theoretischen Informatik beschäftigen.
Und das muss ich eine Sache sagen.
In dem Augenblick, wo ich jetzt anfange mit den inhaltlichen Dingen,
stehen einige von Ihnen auf.
So etwas ist etwas, was alle anderen, die weiter zuhören wollen, an
denen Sie jetzt vorbeigehen, stört.
Denn sie wollen zuhören.
Viele wollen zuhören.
Einige meinen, sie könnten jetzt gehen.
Ich bitte Sie, dass Sie sich vorher überlegen, wenn Sie hierher
kommen, ob Sie bleiben wollen oder nicht.
Wenn Sie vorher gehen wollen, dann sollten Sie besser gar nicht
kommen.
Also die, die hier sind, sollten bitte von Anfang bis Ende auch an der
Vorlesung teilnehmen.
Und dann können wir uns hier konzentriert mit dem Stoff der Vorlesung
beschäftigen.
Wenn jemand hier so zwischendurch aufsteht, natürlich muss man mal
raus.
Aber wenn so ganze Gruppen gehen, das stört.
Und ich bitte Sie darum, überlegen Sie sich das vorher.
Wenn Sie nicht die Zeit haben, ganz klar zu sein, schauen Sie sich die
Aufzeichnung an.
Das ist dann für alle eine bessere Entscheidung.
Ich hoffe, Sie haben dafür Verständnis.
So, jetzt kommen wir zur Fragestellung der theoretischen Informatik.
Wir sind in Teil 1, Formale Modelle der Informatik.
Und es geht also um abstrakte Modelle für Informationsverarbeitende
Systeme, für Programmiersprachen und Überlegungen zu den prinzipiellen
Möglichkeiten der Informationsverarbeitung.
Warum muss man das machen?
Warum muss man wissen, wie man Rechner formal beschreibt?
Vielleicht wollen Sie ja mal einen Rechner bauen.
Oder einen speziellen Prozess für eine spezielle Aufgabe.
So wie bei den Application-Specific Integrated Circles.
Sie wollen ein Bauteil entwerfen.
Da müssen Sie wissen, wie kann ich eigentlich solch ein Bauteil
beschreiben?
Wie macht man das?
Was gibt man da alles an?
Genauso, wenn Sie dann in der Lage sein wollen, mit einem solchen
Gerät zu kommunizieren.
Sie wollen dem Gerät sagen können, was es tun soll.
Das sagen Sie normalerweise über ein Programm.
Sie können heute mit einigen Geräten auch sprechen, und Sie verstehen
das.
Aber auch das müssen Sie spezifizieren, wie man dann gesprochene
Sprache versteht.
Wir machen das einfacher.
Wir gucken uns nur an, wie man eigentlich Programme sinnvoll schreiben
kann, innerhalb einer bestimmten Programmiersprache.
Und wenn ich sage, innerhalb einer Programmiersprache, da muss ich
erstmal wissen, was sind eigentlich die Regeln der Programmiersprache,
die mir sagen, wie ein richtiges Programm aussieht.
Und wenn ich ein Programm geschrieben habe, dann schicke ich das ab,
dann übersetze ich das, lasse ich es übersetzen in ein
Maschinenprogramm.
Das schreiben wir normalerweise in einer höheren Programmiersprache.
Und dann muss erstmal überprüft werden, ist das eigentlich ein
Programm dieser Programmiersprache?
Oder sind irgendwelche Regeln verletzt?
Das bezieht sich auf die syntaktische Korrektheit.
Ist das ein wohlformulierter Satz der Sprache Java?
Oder der deutschen Sprache?
Oder der Sprache Fortran?
Deutsche Sprache ist ein bisschen schwieriger, Fortran, Java sind
einfacher.
Es geht also nur um einfache Dinge.
Und was ist daran interessant?
Ich muss ja wissen, welche Möglichkeiten muss ich denn eigentlich
anbieten, damit man alles das, was man auf einem Rechner gerne
ausführen möchte, auch ausführen kann.
Also ich muss all das ausdrucken, ausdrücken können, ausdrucken man
auch, aber ausdrücken können, was ich mit einem Rechner machen möchte.
Dazu muss man überlegen, welche syntaktischen Regeln muss ich in der
Programmiersprache eigentlich formulieren?
Was habe ich da für Möglichkeiten?
Das ist eine wichtige Frage.
Um die werden wir uns mehrfach kümmern und irgendwann kommt die
Antwort, das ist es.
Das ist das formale Modell, mit dem wir Programmiersprachen sinnvoll
beschreiben können.
Natürlich kann ich ein ganz allgemeines, prächtiges, großes Modell
machen, in der deutschen Sprache kann ich ja alles ausdrücken.
Das Problem ist nur, wenn ich dann ein Programm übersetzen möchte,
muss ich es verstehen.
Dann schaue ich mir an, wie effizient ist eigentlich die Übersetzung
eines Programms, erstmal die Überprüfung der syntaktischen
Korrektheit, die Ausführung des Programms, dass die effizient ist.
Das heißt, ich muss eine möglichst einfache Sprache haben.
Einerseits ausdrucksstark genug, damit ich alles das formulieren kann,
was ich möchte, was der Rechner machen soll und andererseits einfach
genug, damit ich das effizient bearbeiten kann, effizient ausführen
kann, effizient übersetzen kann usw.
Das sind zwei gegenläufige Bestrebungen, also möglichst einfach, aber
gerade ausreichend ausdrucksstark.
Wir werden genau die Klasse von formalen Modellen verifizieren können,
die man braucht, um genau das richtig zu machen.
Das sind als Vorgriff die deterministischen Kellerautomaten bzw.
LRK-Grammatiken.
Das werden Sie später alles wissen, was das ist.
Also, kontextfreie Sprachen, die von deterministischen Kellerautomaten
akzeptiert werden können.
Auch das werden Sie in ein paar Wochen sehr einfach verstehen können.
So, kurze weitere Fragen, da ist keine weitere Frage, das ist alles.
Also ich bitte Sie, solche Fragen zu unterlassen.
Gut, wie kann ich also die syntaktische Korrektheit eines Programms
überprüfen?
Alle diese Fragen bearbeitet man, wenn es um Automatentheorie geht,
das ist Beschreibung von technischen Systemen, von Rechnern.
Grammatiken, da geht es um formale Modelle, also wie kann ich eine
Grammatik für eine Sprache formulieren.
Sie kennen die deutsche Grammatik, man kann auch eine Grammatik für
Java definieren.
Und wir schreiben damit formale Sprachen.
Und dann ist die andere Frage, was kann ich mit dem Rechner eigentlich
machen?
Wie kann ich das formulieren, das wissen Sie über den Begriff des
Algorithmus, den haben Sie schon kennengelernt.
Auch die nächste Frage, welchen Aufwand verursacht eine bestimmte
Berechnung, auch damit haben Sie sich schon beschäftigt.
Das hängt aber natürlich damit zusammen, welche Möglichkeiten ein
Rechner Ihnen bietet.
Ja, also wie effizient kann der Rechner das ausführen, was Sie als
einzelnen Schritt formuliert haben.
Wie schnell kann der eigentlich modifizieren oder addieren oder
dividieren.
Geht das schnell, gibt es da Unterschiede, ist das trivial?
Sie werden da verschiedene Ansätze kennenlernen.
Und dann wollen wir gerne beschreiben, wie schwierig es ist, ein
Problem zu lösen.
Sie kennen das Sortierproblem.
Wie kann ich die Komplexität des Sortierproblems beschreiben?
Sie kennen dafür Verfahren, die haben quadratische Komplexität, wie
QuickSort im schlechtesten Fall oder BubbleSort.
Sie kennen welche, die haben in Mittel-Komplexität n log n.
Andere haben immer, auch im schlechtesten Fall, n log n.
Wie ist eigentlich die Komplexität des Sortierproblems?
Damit wollen wir uns auch beschäftigen, also eine Charakterisierung
der Schwierigkeit eines Problems.
Und dann weiß ich, wie schwierig, wie aufwendig die Verfahren sein
müssen, um das Problem zu bearbeiten.
Und dann eine Frage, die Sie sich vielleicht noch gar nicht gestellt
haben.
Wo liegen eigentlich die Grenzen der Berechenbarkeit?
Kann ich eigentlich jede Funktion berechnen?
Kann ich jede Funktion, die ich mir irgendwie aufschreiben kann, kann
ich die berechnen mit einem Rechner?
Muss ich vielleicht nur den Rechner geeignet darstellen, geeignet
viele Operationen zu führen, damit er jedes Problem lösen kann?
Sie werden ein Problem kennenlernen, im Laufe der Vorlesung, ein
Halteproblem.
Bei dem wir zeigen können, es ist nicht entscheidbar mit einem
Rechner.
Ganz kurz, Vorgriff, Halteproblem heißt, Sie möchten gerne ein
Verfahren haben.
Also ich möchte gerne ein Verfahren haben, damit ich jedes Programm,
das Sie mir liefern, dafür überprüfen kann, ob dieses Programm für die
beliebige Eingabe hält oder nicht.
Ich möchte dafür ein Werkzeug haben, das wird sehr aufwendig.
Ich brauche ein Werkzeug, Sie geben mir Programme und ich möchte für
ein beliebiges Programm, für die beliebige Eingabe, nur die Antwort
haben, hält das Programm für diese Eingabe oder läuft es unendlich.
Und diese Frage ist nicht entscheidend.
Ja, es wird Sie wundern.
Ist so, werden Sie in ein paar Wochen verstehen, warum das so ist.
Und das heißt, es gibt wahnsinnig, es gibt sogar sehr, sehr, sehr
viele Probleme, die nicht mit einem Rechner bearbeitet werden können.
Und das, was wir machen mit der Informationsverarbeitung, ist uns mit
den Problemen beschäftigen, die wir berechnen können und darin
natürlich besonders solche, die wir effizient berechnen können, die
nicht zu schwierig sind.
All dies werden wir uns genauer anschauen in den entsprechenden
Kapiteln.
Diese Berechenbarkeitsgeschichte usw.
kommen wir nachher im Kapitel 5.
Vorher machen wir einiges bezüglich der Automaten-Programmatik usw.,
also Berechenbarkeits-Komplexitätstheorie, das ist das, was wir kurz
ansprechen werden in der Vorlesung.
Algorithm Engineering ist dann die Disziplin, in der man sich damit
beschäftigt, wie man effizient gute Programme schreibt.
Algorithm Engineering ist hier in Karlsruhe wesentlich geprägt worden
von meinen Kollegen Dorothea Wagner und Peter Sanders in der Fakultät
für Informatik.
Also das ist ein systematischer Ansatz, um Algorithmen zu entwerfen.
Da gehe ich in dieser Vorlesung eigentlich nicht drauf ein.
Hier werden wir nur Berechenbarkeits-Komplexitätstheorie machen.
Wir machen das Algorithm Engineering etwas mehr in meiner Vorlesung
effizienter Algorithmen.
Jetzt kommen wir schon zum ersten Beispiel.
Also, beispielliche Automaten.
Sie werden alle sehr viel Erfahrung sammeln, wenn Sie das bisher noch
nicht gemacht haben, mit einem Gerät, das sich Waschmaschine nennt.
Vielleicht ist das bisher von anderen gemacht worden für Sie, jetzt
müssen Sie sich selber darum kümmern.
Eine Waschmaschine ist eigentlich nur ein ähnlicher Automat, hat
einige vereinfachte Funktionen und Sie wissen, wie man die bedient, wo
man die Klappe aufmachen muss, wo man Knöpfe drücken muss und so
weiter.
Das ist einfach nur ein Automat.
Sie können mir formal beschreiben.
Eine Ampelsteuerung.
Eine weitere Möglichkeit, dazu muss ich hier kurz den Stift wegmachen.
Und jetzt schauen wir uns mal an, was eine Ampelsteuerung macht.
Oh, jetzt habe ich hier die Waschmaschine in der Ampel, das ist nicht
so gut.
Das ist äh...
Das kann ich jetzt auch nicht weglöschen.
Macht nichts.
Also, das ist hier eine Ampelsteuerung, ich habe das kurz angehalten
zwischendrin.
Was sehen Sie bei dieser Ampelsteuerung?
Sie sehen hier rechts einen Automaten.
Der hat fünf Zustände.
Und darunter steht immer, hier steht die Nummer, 0, 1, 2, 3, 4.
Darunter steht G, R, R, R, R, R, R, G und so weiter.
Das erste G steht für grün.
Das stimmt jetzt gar nicht ganz.
Links, rechts hat gar nicht grün überhaupt.
Hier, da sehen Sie, das ist der Highlight.
Das ist der aktuelle Zustand.
Jetzt geht es schon wieder weg.
Jetzt haben wir diesen Zustand hier oben, Zustand 0.
Jetzt haben Sie grün in der horizontalen Richtung.
Sie haben rot für die Linksabbieger.
Und Sie haben rot für die Nord-Süd-Richtung.
Sie haben hier Sensoren, Sensoren für Linksabbieger und Sensoren für
Nord -Süd.
Und wenn die Sensoren aktiv sind, dann schaltet der Automat von dieser
Default -Einstellung um.
Entweder in grün für die Linksabbieger oder grün für Nord-Süd.
Oder in der anderen Reihenfolge erst grün Nord-Süd und dann grün für
die Linksabbieger.
Und das Ganze kann man sich halt hier so schön angucken.
Da fahren die Autos durch und das ist etwas, was mit Logiflash gemacht
wurde.
Hier links und rechts, also auch mit Logiflash gemacht worden.
Da sehen Sie, wie also ein solcher Automat umschaltet durch die
verschiedenen Zustände.
Wenn also ein Auto hier auf den Sensor geht, dann wird irgendwann
diese Spur hier grün werden.
Wir sehen, jetzt hat er grün und kann fahren.
Und jetzt steht da schon wieder Linksabbieger, dann darf er auch
gleich fahren.
Also das ist ein Automat.
Das, was dort passiert auf der linken Seite, ist das, was hier in dem
Automaten alles dargelegt ist.
Mit dem Automaten kann ich also eine solche Ampelschaltung definieren.
Es fehlen dort die Zeitverzögerungen und solche Dinge, das
Zeitverhalten ist nicht mehr drin, kann man noch dazufügen.
Weitere Beispiele sind, meinetwegen, MP3-Player.
Haben Sie wenige Tasten, mit denen Sie den bedienen können.
Oder ein Rechner.
Dann gibt es Beispiele für Sprachen.
Es gibt die natürlichen Sprachen wie Deutsch, Englisch, Französisch,
Chinesisch und so weiter.
Formale Sprachen sind viel einfacher.
Dann haben wir Programmiersprachen wie C, C++, Java, Lisp.
Kurze Frage, wer von Ihnen weiß, was Lisp ist?
Keine.
Lisp Processing Language.
Eifel ist nach einem Menschen benannt, eine objektorientierte Sprache,
gemischt, algorithmisch und objektorientiert.
ALGOL.
ALGOL und FORTRAN.
Die ältesten Programmiersprachen, die wir haben.
Die ältesten richtigen.
Wobei die einzig richtige erste ist eigentlich ALGOL.
Algorithmic Language.
1960 wurde die entwickelt.
Und FORTRAN ist die Sprache, die die Ingenieure entwickelt haben.
ALGOL wurde von Informatikern entwickelt.
FORTRAN, obwohl es damals Informatik nicht gab.
Und FORTRAN von den Ingenieuren.
FORTRAN steht für Formal Translator.
Also die Sprache für ingenieurwissenschaftliche Berechnungen.
Dann haben wir Spezifikationssprachen.
UML, Vienna Definition Method.
Spezifikationssprachen.
Dann haben wir die Simple Query Language, Antragessprache.
Oder sogenannte Markup-Sprachen, mit denen wir immer mehr zu tun
haben.
Alle Anwendungen dieser offenen Vektoren, Prozenen, haben im
Hintergrund HTML und XML.
Darüber lernen Sie mehr in der Vorlesung angewandte Informatik 2.
Oder auch in anderen weiterführenden Vorlesungen.
Also viele verschiedene Sprachen.
Und die Aufgaben sind natürlich, wie gesagt, die Spezifikation.
Syntaktisch zulässige Strukturen von Sprachen mit Hilfe von
Grammatiken.
Das Spezifizieren, wie ein Programm aussehen soll.
Und dann gibt es die Frage, wenn ich ein Programm habe, will ich
überprüfen, ob es richtig ist.
Und das macht ein Automat.
Das ist also die Überprüfung.
Beide Dinge zur Beschreibung von Sprachen werden wir kennenlernen.
So.
Wofür braucht man überall Automaten im Format der Sprachen?
Für zig verschiedene Dinge.
Für Software Systems Engineering allgemeine Systeme beschreiben.
Ich habe die der Ampelsteuerung gezeigt.
Das sind natürlich viel komplexere Systeme.
Schaltwerke beschreiben.
Schaltwerke sind eigentlich endliche Automaten.
Und also systematisch digitale Schaltwerke entwickeln etwas, wo man
Automaten baut.
Aber auch Sprachen.
Es gibt auch Programmiersprachen oder Hardwarebeschreibungssprachen,
wo Sie einfach nicht ein Programm schreiben, sondern eine
Hardwarebeschreibung und daraus wird dann meinetwegen ein Addierer.
Oder Multiplizierer.
Oder ein Komponent, der für eine schnelle Projekttransformation oder
Ähnliches.
Dann haben wir die Programmiersprachen, wo wir uns eben um
Sprachumfang und Syntax kümmern und Compilerbau, da geht es halt um
die Übersetzung von Sprachen von einer Ebene in die nächste untere
Ebene.
Textverarbeitung, Data Mining.
Sie müssen in der Lage sein, Texte sinnvoll zu bearbeiten.
Sie wollen Muster suchen in Texten.
Sie wollen das Wort Engineering suchen.
Das können Sie über einen kleinen Automaten machen.
Das Suchen von Mustern in Texten ist etwas, was Sie mit endlichen
Automaten einfach beschreiben können.
Das können Sie in Algorithms for Internet Applications kennenlernen.
Oder Data Mining.
Sie haben im Augenblick ein Modethema, das Big Data.
Sie haben Gigabyte, Terabyte, Petabyte von Daten und wollen darin
interessante Muster suchen.
Da brauchen Sie effiziente Verfahren, um diese Riesendatenmengen zu
besuchen.
Zum Teil braucht man dafür auch Automaten und natürlich auch formale
Sprachen.
Ich könnte Ihnen eine lange Liste nennen.
Ich gebe Ihnen jetzt noch nachher gleich ein paar Beispiele dafür.
Bei formalen Sprachen haben wir einige wesentliche Dinge, die wir uns
da anschauen müssen.
Also wir wollen jetzt überlegen, wie kann man eine formale Sprache
beschreiben.
Das eine ist die Syntax.
Das haben wir schon mehrfach erwähnt.
Das sind die Regeln, mit denen man weiß, wie ich ein Programm schreibe
zum Beispiel.
Wie ich einen Satz aufbaue.
In der deutschen Sprache Subjekt, Kreditkart, Objekt und so weiter.
Das sind syntaktische Regeln.
Semantik geben uns die Bedeutung an.
Was soll eigentlich durch dieses syntaktisch beschriebene Konstrukt
gemacht werden?
Wenn ich eine Methode in Java aufschreibe, woher weiß der Rechner, was
er mit diesen Wortstücken, die da stehen, eigentlich anfangen soll?
Diese Semantik muss natürlich auch geeignet spezifiziert sein.
Und dann gibt es auch die Pragmatik.
Da geht es um einige weitere Aspekte, die wir aber hier nicht weiter
beachten werden.
Semantik ist auch ganz wichtig.
Zum Beispiel, wenn die Semantik einer Programmiersprache nicht
eindeutig formal festgelegt ist, hätte derjenige, der ein Programm
übersetzt und ausführt, einen Freiheitsgrad da drin, wie er die
Konstrukte in der Sprache interpretiert.
Das würde bedeuten, dass je nachdem, wo Sie ein Programm ausführen, es
unterschiedliche Dinge machen könnte.
Die Bedeutung eines Programms, also welche Funktion berechnet werden
soll, muss natürlich eindeutig festliegen.
Wenn dort ein Pluszeichen drin ist, soll das als Addition
interpretiert werden.
Und wenn dort ein Pluszeichen steht zwischen zwei Werten, die
Gleitpunktzahlen sind, also reelle Zahlen sind, soll auch eine
Addition von reellen Zahlen gemacht werden.
Und ähnliche Dinge.
Es müssen die entsprechenden Komponenten im Rechner angesprochen
werden.
Kurz nochmal hier eine Frage.
Zum Thema Big Data.
Tja, sehr aktuelle Frage.
Was halte ich von der Datensammelung der NSA?
Also, diese ganze Aufregung um die NSA ist einerseits richtig, man
sollte nicht unnötig Daten sammeln, andererseits ist das seit
Jahrzehnten bekannt.
Es ist seit Jahrzehnten bekannt, dass alles, was elektronisch
kommuniziert wird, dass all das durchgescannt wird von gewissen
Diensten, die die Aufgabe haben, Informationen zu sammeln.
Das war früher so, dass vor allen Dingen der Datenverkehr im Osten
überprüft wurde und als der Kalte Krieg zu Ende war, hat man die
Überwachungseinrichtungen hochgehoben, etwas verdreht, sodass man das
Land selber untersuchen konnte.
Das ist bekannt.
In Süddeutschland gibt es große Einrichtungen, wo sehr viele Leute
beschäftigt sind, die keine andere Aufgabe haben, als diese
elektronische Kommunikation in jeder Form durchzuschauen.
Das weiß jeder, der sich etwas mit beschäftigt.
Das ist nichts Neues.
Natürlich gibt es jetzt Ausflüge davon, und das ist auch alles nicht
in Ordnung.
Es ist nicht in Ordnung, dass unsere Daten, die wir schicken in einer
E -Mail von Karlsruhe nach Frankfurt erstmal über die USA laufen oder
vom Institut IFB zum Institut IIP am KIT, dass so eine Mail erstmal in
die USA läuft, weil sie dort nämlich straffrei durchgeguckt werden
kann und dann wieder zurück.
Das macht keinen Sinn.
Und da muss man aufpassen, dass das nicht passiert.
Man muss schon darauf achten, dass Datenschutz, Privatsphäre und so
weiter geschützt werden, dass das wirklich ernst genommen wird.
Und das ist bei uns nicht ernst genommen worden.
Aber es muss auch klar sein, dass man einfach gegen die Tätigkeit von
Geheimdiensten nicht sehr viel machen kann.
Man kann versuchen, einige Dinge zu regeln, das ist auch versucht
worden, ist auch damals von der damals zuständigen Bundesregierung
gemacht worden, nach dem 11.09.2001, also 9-11.
Danach gab es die Anforderung der Amerikaner, alles zu überprüfen und
hat die damals im Amt befindliche Bundesregierung dafür gesorgt, dass
das zumindest geregelt wurde, was sie kriegen durften und was nicht.
Das ist danach nicht mehr so oder ist nicht bekannt, dass nicht viel
danach noch gemacht wurde.
Aber solche Dinge muss man regeln.
Es gibt auch gewisse sinnvolle Begründungen dafür, dass man gewisse
Daten haben möchte.
Wir sind uns dieser Sachen immer sehr bewusst.
In Deutschland ist das auch gut so, weil der Schutz der Privatsphäre
wichtig ist.
Aber der Schutz vor Terroristen und vor Kriminalität ist auch wichtig.
Man muss die richtige Balance finden.
Es muss aber klar sein, wenn Sie eine E-Mail schreiben, das ist so wie
eine Postkarte.
Alles, was in der E-Mail drinsteht, ist für jeden lesbar.
Und wenn Sie nicht möchten, dass es lesbar ist, sollten Sie das
verschlüsseln.
Dafür gibt es viele Methoden, überhaupt kein Problem.
Nutzen Sie Political Privacy, PGP oder Ähnliches.
Sie können Ihre Daten, Ihre Kommunikation verschlüsseln, da kann
keiner reingucken.
Das ist durchaus möglich.
Und das sollte man auch machen.
Also das ist ein schwieriges Thema.
Da wird viel etwas behauptet, man wisse das ja alles gar nicht.
Man weiß darüber sehr viel.
Allerdings ist auch nach dem 9-11-Anschlag in den USA ein Programm auf
den Weg gebracht worden, das heißt Total Information Awareness.
Total Information Awareness heißt totale Wahrnehmung aller
Informationen.
Das ist das Ziel und das geht deutlich über das hinaus, was wir
eigentlich verantworten würden, wenn wir das zu verantworten hätten.
Also das ist nicht in Ordnung.
Man muss da aufpassen, aber es ist nicht so eine einfache, plakative
Diskussion.
Das hat sehr viele verschiedene Aspekte.
Aber Sie als Wirtschaftsingenieur sollten solche Fragen durchaus im
Kopf haben, weil das durchaus wichtig ist.
Dass man weiß, was geschieht mit den Daten.
Ich mache Energieinformatik, da ist der Schutz der Privatsphäre ein
ganz wichtiges Thema.
Einerseits will ich wissen, wie ich Geräte lokal steuern kann.
Andererseits soll das, was ein Mensch macht in seinem Haus, privat
bleiben.
Okay.
Gehen wir jetzt zur nächsten Folie.
Wir haben hier eine Reihe von Notationen, die wir brauchen.
Darf ich Sie bitten, ein bisschen ruhiger wieder zu werden.
Wir haben noch 10 Minuten oder eine Viertelstunde haben wir noch.
Die will ich aber ausnutzen.
Also, einige Begriffe werden immer wieder auftauchen und Notationen.
Und ich möchte das einmal kurz Ihnen hier zeigen.
Wir werden sehr viel zu tun bekommen mit Alphabeten.
Sprache bauen auf auf Alphabeten.
Was ist ein Alphabet?
Eine endliche, nicht leere Menge von Zeichen.
Endlich, also nicht beliebig viele.
Die Menge der natürlichen Zahlen ist kein Alphabet.
Die Menge der natürlichen Zahlen ist unendlich.
Aber die Menge der Zahlen von 0 bis 9 ist ein Alphabet.
Oder auch 0,1 oder auch A bis Z oder Kombination von all diesen
Dingen.
Und wenn ich ein Alphabet habe, kann ich Wörter schreiben.
Sie sehen hier viele Wörter auf dieser Seite.
Hier das Wort Informatik geschrieben über dem lateinischen Alphabet.
Oder 1,2,3 ein Wort über dem Alphabet 0 bis 9.
Oder hier dieses hier ein Wort über dem Alphabet 0,1.
Das sind Wörter.
Haben keine Bedeutung, einfach nur Wörter.
Bedeutung wäre dann Semantik.
Wie interpretiere ich so etwas?
Und dann rede ich darüber, wie lang ein Wort ist.
Da zähle ich einfach die Anzahl der Zeichen in dem Wort.
Also bei Informatik ist es 10, bei 1,2,3 ist es 3, hier bei diesem
binären Wort ist es 8.
So kann ich die Länge eines Wortes feststellen.
Dann gibt es manchmal leere Wörter.
Also überall sind ja ganz viele leere Wörter auf der Folie, natürlich.
Leere Wörter sind Wörter, in denen nichts ist.
Wir brauchen manchmal aus technischen, formalen Gründen das leere
Wort.
Wir sagen einfach, das leere Wort ist ein Wort der Länge 0.
Und wir bezeichnen das mit Lambda für leer.
Im Englischen finden Sie dafür häufig ein Epsilon für empty.
Auch etwas, wenn man Notationen wählt, irgendwelche Variablen wählt,
um etwas zu beschreiben, sollte man immer das mnemonisch machen.
Also mnemonisch.
Was ist mnemonisch?
So, dass man etwas damit verbindet.
Deswegen Lambda für leer oder Epsilon für empty.
Oder wenn Sie Variablen nehmen, auch immer bedeutungsorientiert,
natürlich.
Dann haben wir die Möglichkeit, systematisch Wörter zu bilden.
Zum Beispiel alle Wörter einer Länge n.
Zum Beispiel für n gleich 3 wäre das die Menge a hoch 3, die Menge der
Wörter über dem Alphabet 01, alle Wörter der Länge 3, die 0 und 1
enthalten.
Es gibt 2 hoch 3 solche Wörter, also 8 solche Wörter, von 000 bis 111.
Und das sind also Wörter der Länge 3.
Oder 17 oder was immer, was Sie haben wollen.
Dann möchten wir manchmal alle Wörter anschauen.
Die Menge aller Wörter über einem Alphabet.
Das wäre die Vereinigung aller Mengen a hoch n, wobei n von 0 an alle
möglichen natürlichen Zahlen durchlockt.
Also n größer als 0.
Das heißt, das leere Wort ist da drin, 0 1 0 0 0 1 1 0 1 1 und so
weiter und so weiter.
Alle Wörter über dem Alphabet sind dort drin.
Für Alphabet 01 geht das hier so los.
Dann gibt es eine andere Schreibweise a+.
Bei a+, sage ich, Wörter der Länge 0 oder das Wort der Länge 0 ist
nicht drin.
Alle nicht leeren Wörter.
Das ist übrigens eine Standardschreibweise.
Wenn ich irgendwo Plus sage, meine ich, 0 ist nicht dabei.
Wenn ich Sternen schreibe, sage ich, beliebig, kann auch mehr sein.
Aber Plus heißt immer, mindestens ein Zeichen.
Und dann habe ich ein Wort Sprache, L für Sprache, nicht Mnemonisch.
L für Language, Mnemonisch.
Also L für Language, Sprache über einem Alphabet, ist einfach eine
Teilmenge, beliebige Teilmenge der Menge aller Wörter über dem
Alphabet.
Also irgendeine Teilmenge.
Und eine formale Sprache ist dann eine solche Sprache, die ich durch
ein endliches, formales System vollständig beschreiben kann.
Und solche endlichen, formalen Systeme wollen wir da später genau
anfangen.
Hier zum Beispiel eine Sprache, Menge aller Wörter über dem Alphabet
01, wobei die Anzahl der Einsen in dem Wort gerade ist.
Das sehen Sie hier leider gerade nicht, weil das durch das Werkzeug da
verdeckt ist oder steht drunter.
Die Anzahl der Einsen in W ist gerade.
Also mit zwei oder drei oder vier oder null Einsen ist ein Wort dieser
Sprache.
Sie können also solche Sprachen unterschiedlich beschreiben.
Das, was ich hier aufgeschrieben habe, ist auch eine formale
Beschreibung.
Da habe ich ja die Menge definiert durch einen Text endlicher Länge.
Habe ich das spezifiziert.
Sie werden viele solche Dinge kennenlernen.
So.
Und jetzt gibt es für solche Beschreibungen von Sprachen verschiedene
Möglichkeiten.
Und diejenigen, die wir kennenlernen werden, sind einerseits die
erzeugenden Methoden.
Drei grundlegende Methoden.
Erzeugend heißt, wenn ich dieses formale System sehe, weiß ich, wie
ich ein Wort der Sprache aufbauen muss.
Ich kann also jedes Wort der Sprache durch Verwendung dieses Systems
in endlich vielen Schritten erzeugen.
Das ist eine erzeugende Methode.
Zum Beispiel eine Grammatik.
Das wäre also hier eine Grammatik.
Analysieren, eine ganz andere Methode.
Ich gebe Ihnen ein Wort und das formale System, der Analysator, sagt
mir nach endlich vielen Schritten, ob das Wort zur Sprache gehört oder
nicht.
Das wäre ein solcher Automat.
Und dann gibt es noch eine Methode operationell.
Ich gebe Ihnen eine Vorschrift für diese Wörter der Sprache.
Zum Beispiel, wenn ich sage A plus B Stern C.
Das ist eine operationelle Beschreibung einer Sprache.
Da drin sind, das soll ein Stern sein hier.
Stern steht immer für Null oder beliebig oft.
Ich darf also ein A oder ein B beliebig oft hinschreiben und dahinter
muss noch ein C stehen.
Das heißt, ich habe hier Operationen, mit denen ich aus einfachen
Bestandteilen eine Sprache definieren kann.
Also zum Beispiel das Wort C ist da drin.
Das Wort AC oder das Wort BC oder das Wort ABBBC und so weiter.
C immer am Ende.
Das sind drei verschiedene Arten und das sind die wesentlichen drei
Arten der Beschreibung von Sprachen, die wir hier kennenlernen.
Erzeugen über Grammatiken.
Analysieren über Automaten.
Operationell über solche Ausdrücke.
Und das werden wir uns im Weiteren dann genauer angucken.
Ich kann Ihnen jetzt noch ganz kurz etwas erzählen zu Chomsky
Grammatik.
Was ist denn jetzt das schon wieder?
Chomsky Grammatik habe ich Ihnen ja schon erzählt.
Sie werden das sehen, wie die aussehen.
Das hier ist der Chomsky, Noam Chomsky.
Ein Wissenschaftler, ein Sprachwissenschaftler, der sich eigentlich
mit der Beschreibung natürlicher Sprache auseinandersetzt.
Aber er möchte formale Modelle für Sprachen allgemein entwickeln.
Und er hat eine sogenannte Chomsky-Hierarchie entwickelt.
Und diese Chomsky-Hierarchie werden wir noch genauer kennenlernen.
Ich weiß nicht, wie weit wir heute noch kommen.
Vielleicht schaffen wir das noch, die kurz aufzuschreiben.
Ich gebe Ihnen jetzt aber noch ein anderes System, nämlich eine
sogenannte Bacchus-Naur-Forschung.
Bacchus und Naur sind zwei Wissenschaftler, die in den 60er Jahren,
Anfang der 60er Jahre, Ende der 50er Jahre, die Sprache allwohl
entwickelt haben.
Und die haben eine systematische Methode entwickelt für diese
Algorithmic Language, um die Syntax zu beschreiben.
Das ist hier die Art, wie Sie auch Java, Pascal und C beschreiben
können.
Und was sehen Sie hier drin?
Sie sehen einerseits solche Wörter in spitzen Klammern.
Das sind sogenannte Nicht-Terminal- oder Non-Terminal-Symbole, Nicht
-Terminal -Symbole oder auch Variablen.
Oder im Sinne der Sprachwissenschaftler syntaktische Kategorien.
Name, Buchstabe, Ziffer.
Dann sehen Sie hier ein solches Doppel-, Doppel-, ja zwei Doppelpunkte
und ein Gleichheitszeichen.
Das soll praktisch sagen, ich kann einen Namen, diese syntaktische
Kategorie oder variablen Name, ersetzen durch ein Buchstaben.
Und dann, etwas in geschweiften Klammern, das kommt gleich noch,
Wiederholung des eingeklammerten Ausdrucks.
Das heißt, ich kann hier Buchstaben und Ziffern beliebig oft machen,
das entspricht praktisch dem Stern.
Dann habe ich hier noch einen senkrechten Strich, das entspricht dem
Oder.
Das heißt, ein Name kann ich ersetzen durch ein Buchstaben, gefolgt
von einem Buchstaben oder einer Ziffer und das beliebig oft.
Oder das erste muss ein Buchstabe sein.
Ein Buchstabe kann etwas sein, dieser A bis Z und 0 bis 9 sind
Konstanten oder auch Terminalsymbole, atomare Bestandteile der
Sprache.
Und ein Programm später muss aus Konstanten bestehen.
Alle Variablen da drin müssen irgendwann ersetzt werden durch diese
Konstanten.
Also zum Beispiel etwas wie A1 2 wäre ein Wort der Sprache, die
hierdurch beschrieben wird.
Indem ich nämlich Namen durch Buchstaben ersetze und dann hinter
Buchstaben noch eine Ziffer schreibe und noch eine Ziffer.
Das kann ich über diesen Konstrukt machen.
Und dann muss ich den Buchstaben durch A ersetzen und die Ziffer
zweimal durch eine 1 und durch eine 2.
So.
Und dann kommen wir zur Grammatik.
Und jetzt haben wir also das formale Konstrukt, was der Chomsky
gemacht hat.
Das andere war Markus Maurer, pragmatisch für Programmiersprachen
definiert.
Jetzt kommt formal eine Abstraktion.
Und da sehen Sie jetzt eine Menge N von Nicht-Terminalsymbolen oder
syntaktischen Variablen.
Eine Menge von Terminalsymbolen oder Konstanten.
Eine Menge von Regeln.
Was ist das denn?
P enthaltenen N vereinigt T plus Kreuz N vereinigt T star.
Sie wissen ja schon was das ist.
N vereinigt T plus heißt, ich habe Paare von irgendwelchen Regeln.
Zum Beispiel kann hier stehen A, dann ein Pfeil und dann meinetwegen
hier irgendein BC.
Das wäre eine solche Regel.
Jetzt hier mit einem Pfeil dazwischen, weil das ersetzt werden soll,
das A durch BC.
Ich habe aber auf der linken Seite, das V ist immer mindestens ein
Zeichen.
Auf der rechten Seite darf aber auch das leere Wort stehen.
Da steht nämlich ein Stern.
Da können irgendwelche Konstanten oder Variablen stehen.
Irgendein Wort.
Also irgendwelche...
Sowas kann auch eine Regel sein.
Links steht ein Wort, rechts steht auch ein Wort und es ist noch keine
Beschränkung bezüglich der Länge usw.
Das kommt später noch.
Das sind irgendwelche Regeln.
Mit solchen Regeln, ähnlich wie das, was wir bei der Backels-Mauer
-Form kurz gesehen haben.
Mit solchen Regeln wollen wir Zeichen ersetzen durch andere.
Und wir beginnen mit dem S.
Mit dem Startsymbol.
Und damit haben Sie also hier alle vier Bestandteile.
Nicht-Terminalsymbole, Terminalsymbole, Regeln.
Das sind die eigentlichen Elemente, die Ihnen sagen, wie die Syntax
aussieht.
Und ein Startsymbol, mit dem Sie anfangen.
Und alles jeweils endliche nicht-leere Mengen.
Und damit haben wir also eine Grammatik gefunden.
Jetzt müssen wir wissen, wie man damit umgehen kann.
Ich sage Ihnen schon, wir wollen formale Sprachen beschreiben.
Möglichst so, dass sie ganz einfach sind.
So einfach wie möglich.
Aber auch so ausdrucksstark wie möglich, damit wir alles beschreiben
können, was in Programmiersprachen beschrieben wird.
Das, was ich Ihnen hier angegeben habe, ist viel zu allgemein.
Und deswegen muss man das noch... jetzt kommen aber noch Beispiele.
Zu den Einschränkungen kommen wir dann am Mittwochmorgen.
Also Mittwoch um 8 Uhr, etwas früh.
Aber es ist ja noch nicht richtig tiefer Winter.
Das kann man auch machen.
Also, schauen wir uns jetzt mal an, das was wir vorgesehen haben,
diese Bacchus-Nauer-Form, jetzt als Grammatik.
Ist ja ein bisschen was anderes, ein bisschen formaler.
Dazu brauchen wir die Menge der Nicht-Terminalsymbole, Namen,
Buchstabe, Ziffer.
Wir brauchen die Menge der Konstanten.
Und wir brauchen das Staatssymbol.
Das Staatssymbol in dem Fall sei also gerade diese syntaktische
Kategorie Name in spitzen Klammern.
Jetzt schreiben wir die Regeln der Grammatik auf.
Das sind die Regeln, die genau dieser Bacchus-Nauer-Form hier oben
entsprechen.
Die ist da oben ein bisschen kürzer, weil wir dort einige Metasymbole
drin haben, die wir hier in der Chomsky-Grammatik nicht haben.
Also hier müssen wir sagen, dass wir einen Namen durch einen
Buchstaben ersetzen können.
Oder durch einen Namen gefolgt von einem Buchstaben.
Da können Sie wieder den Namen durch einen Buchstaben ersetzen.
Oder einen Namen durch Name und Ziffer.
Also ich könnte, ich mach es mal kürzer, N für Name ersetzen durch
meinetwegen NZ für Name Ziffer.
Und das ersetzen durch NZ, das Z bleibt stehen.
Und dann könnte ich das wieder ersetzen durch N könnte ich durch A
ersetzen.
Dann steht da AZZ.
Und das könnte ich ersetzen durch A1Z.
Und das könnte ich ersetzen durch A12.
So würde ich mit dieser Grammatik ganz einfach dieses Wort A12
ableiten.
Beginnend hier mit einem N als Startsymbol, also ich hab das
abgekürzt, da müsste eigentlich Name in spitzen Klammern stehen.
Und es müsste das Z in spitzen Klammern stehen und es müsste Ziffer
stehen.
Dann hätte ich hier beziehungsweise, hier ist nur ein Fehler, eine
Sache fehlt noch.
Da hätten Sie gerade einparken müssen, ich hab hier eine Sache
vergessen.
Ich muss natürlich an dieser Stelle eine Regel dazwischen bauen.
Nämlich muss das auf WZZ überführen, für Buchstabe Ziffer Ziffer.
Denn aus dem Namen kann ich nämlich nicht direkt ein A ableiten,
sondern nur über den Buchstaben.
Ja, also das hatte ich hier gerade eben fast übersehen.
Und so haben wir hier eine vollständige Ableitung aus dem Startsymbol
N, das Wort A12 abzuleiten.
Das ist jetzt eine Grammatik für die Bacchus-Mauer-Form.
Wir werden am Mittwoch früh dann einige weitere Dinge dazu noch
kennenlernen.
Ich danke Ihnen für die Aufmerksamkeit.
Wir sehen uns am Mittwoch früh wieder.