Schönen guten Tag, ich begrüße Sie zur Vorlesung Grundlagen der
Informatik II.
Ich bitte Sie, sich etwas zu beruhigen.
Es ist zwar wahnsinnig aufregend, endlich wieder in der Uni zu sein,
im KIT zu sein und alle Bekannten wiederzutreffen.
Und ich habe den Eindruck, das ist noch nicht laut genug.
Jetzt wird es vielleicht... oder Sie sind zu laut.
Also, hier ist etwas, was mich überstört.
Das darf eigentlich nicht sein, dass das hier unten alles zu sehen
ist.
Ich habe keine Ahnung, warum hier unten...
Aber es stört ja eigentlich nicht weiter, dass das hier unten
auszusehen ist, solange Sie die Folien da oben vernünftig sehen
können.
Okay, also, nochmal, ich begrüße Sie herzlich im Wintersemester 2016
-17.
Erster Tag heute, für Sie vielleicht die erste Vorlesung heute.
Und es geht um Grundlagen der Informatik II.
Mein Name ist Hartmut Schmeck.
Ich bin am Institut für Angewandte Informatik und formale
Beschreibungsverfahren, AIFP.
Haben Sie im ersten und zweiten Semester schon mal kennengelernt.
Und insgesamt sind wir am KIT.
Lassen Sie mich kurz anfangen mit einer kurzen Begrüßung.
Also, Sie sehen auch mal mein Bild.
Sie sehen mich zwar alle hier auch tatsächlich, aber es ist nicht
schlecht, das Bild da drauf zu haben, weil es nämlich auch Leute gibt,
die diese Vorlesung vielleicht gar nicht hier im Hörsaal hören,
sondern die sich irgendwann aufgezeichnet anschauen.
Da komme ich gleich nochmal drauf.
Und hier sieht man erst noch mal, wo ich also erreichbar bin.
Das ist hier meine Adresse.
Sie können mich erreichen.
Dienstags habe ich Sprechstunde.
Dürfen Sie gerne mit Anliegen kommen.
Sie dürfen sich gerne vorher per E-Mail anmelden.
Auch am besten bei meiner Sekretärin.
Aber normalerweise können Sie problemlos da kommen und Ihr Anliegen
vorbringen, sofern Sie das nicht von den anderen erledigt bekommen.
Dann gibt es eine Reihe von Themen, die mich interessieren.
Ich dachte, es geht schlecht, wenn ich mich Ihnen kurz vorstelle mit
den Themen, die ich bearbeite.
Also ich mache ja nicht nur Grundlageninformatik II, sondern ich mache
ja auch ein paar andere Themen.
Also, mein wesentliches Kerngebiet sind effiziente Algorithmen.
Das heißt, wie kann ich interessante Probleme mit den vorhandenen
Informationsverarbeitungsinfrastrukturen bestmöglich kostengünstig
lösen, bearbeiten.
Standardthema der Wirtschaftsingenieure, dass sie kostengünstig,
effektiv und effizient Probleme der realen Welt lösen sollen.
Und heutzutage geht das alles nicht ohne Informatik.
Effiziente Algorithmen zeigen Ihnen, wie Sie Ressourcen bestmöglich
einsetzen können.
Dann ein Thema, naturenspirierte Optimierung.
Da optimieren wir den Einsatz oder optimieren wir zum Beispiel
Scheduling -Verfahren oder sonst so zig verschiedene Probleme in zig
verschiedenen Bereichen und machen das hier naturenspiriert.
Das heißt, es werden evolutionäre Algorithmen betrachtet dort.
Ameisenalgorithmen, Schwarmintelligenz.
Also Ameisenalgorithmen haben was damit zu tun, dass Ameisen in der
Lage sind, kürzeste Wege zu finden.
Ich will jetzt nicht zu sehr darauf eingehen.
Wenn Sie das Thema Ameisenalgorithmen suchen im Internet, finden Sie
dazu viele Beispiele, in denen gezeigt wird, wie man also dadurch,
dass man Erfahrungen aus früheren versuchen ein Problem zu lösen, wenn
man die sinnvoll nutzt und die jüngsten Erfahrungen mehr gewichtet als
die älteren Erfahrungen, da hat man sowas ähnliches gemacht wie das,
was die Ameisen mit ihren Pheromonen machen, mit denen sie ihre Wege
markieren und dann in der Lage sind, sich in unbekannten Gegenden
zurechtzufinden, weil sie Pheromone, also Duftstoffe von anderen
Ameisen, riechen können.
Und das sind die Erfahrungen, die wir dort im Algorithmenbereich
einsetzen.
Schwarmintelligenz, den Begriff hören Sie auch an vielen Stellen.
Dezentrale, selbstorganisierende Lösung von Problemen durch viele
einzelne Agenten.
Und das ist etwas, was wir im Bereich Organic Computing gemacht haben.
Das ist ein Forschungsgebiet, das sich in Deutschland entwickelt hat,
im vorigen Jahrzehnt im Wesentlichen, also von 2004 bis 2011, war die
wesentliche Zeit, wo wir das entwickelt haben, zunächst als Konzept
der technischen Informatik, also in ganz Deutschland, und dann gab es
ein Schwerpunktprogramm der Deutschen Forschungsgemeinschaft, über
sechs Jahre, das ich koordiniert habe und in dem dann etwa so 25
Arbeitsgruppen aus ganz Deutschland beteiligt waren, dieses Gebiet, in
dem es um gesteuerte Selbstorganisation geht, weiterzuentwickeln.
Da geht es also um adaptive Systeme, die sich einstellen können aus
sich ändernden Anforderungen und zwar so, dass das selbsttätig
passiert, weil es so viele Einzelkomponenten sind, die man nicht mehr
direkt steuern kann.
Deswegen muss das durch geeignete Systemarchitekturen möglich sein.
Das haben wir dort entwickelt für verschiedenste technische
Anwendungen und daraus entwickelte sich mein aktuelles wesentliches
Forschungsgebiet, nämlich die Energieinformatik, das heißt der Einsatz
von Informatikmethoden für Energiesysteme.
Wir machen die Energiesysteme smart oder intelligent, indem wir dafür
sorgen, dass sie geeignet gemanagt werden und dass man Informationen
an den richtigen Orten sinnvoll zur Verfügung hat und dafür die
geeigneten Methoden einsetzt.
Das ist also mein aktuelles Forschungsgebiet seit etwa 10 Jahren und
das wird auch an diesem Lehrstuhl weiter so gemacht werden.
Projekte führe ich hier eine ganze Reihe auf, die alle mit dieser
letzten Thematik zu tun haben.
Ich habe die jeweils mit einem Link versehen.
Wenn Sie sich die PDF-Version der Folien anschauen oder die im Rechner
haben, dann können Sie einfach auf die jeweiligen Stichworte
draufklicken und kommen zu den Webseiten der jeweiligen Projekte und
finden dann mehr Informationen darüber, was dort gemacht wurde.
Es geht also um den Einsatz von Informationsverarbeitungen für
Energiesysteme, zum Einbinden von Elektrofahrzeugen auf intelligente
Art und Weise in das Energienetz und das Ganze in verschiedenen
Szenarien, zum Beispiel auch hier im Spitzenklass der Elektromobilität
Südwest.
Da habe ich den Bereich Information und Kommunikation maßgeblich
geleitet und jetzt bin ich außerdem drin in einigen Helmholtz
-Programmen.
Ein Helmholtz-Programm, Supercomputing und Big Data, passt zu meinem
Thema der effizienten Algorithmen.
Da bin ich aber drin, weil ich ein Data Lifecycle Lab Energie dort
organisiere mit einem Mitarbeiter, der das vor allen Dingen macht.
Dann bin ich in einem neuen Helmholtz-Programm Speicher und vernetzte
Infrastrukturen.
Speicherforschung ist ganz wesentliche Forschung, um überhaupt mit der
Energiewende zurechtzukommen, weil erneuerbare Energien die
Eigenschaft haben, dass sie nicht immer zur Verfügung stehen, manchmal
aber im Überfluss.
Und deswegen muss man den Überfluss speichern, um ihn zur anderen Zeit
zur Verfügung zu haben, wenn wenig Energie da ist.
Dafür brauchen wir Speicher und die haben wir zur Zeit noch nicht in
ausreichend entwickelter Technologie.
Da müssen wir noch sehr viel tun und insbesondere müssen wir als
Informatiker daran arbeiten, diese Speicher sinnvoll zu integrieren in
die Energiesysteme, das ist dort im Wesentlichen meine Aufgabe.
Die vernetzten Infrastrukturen machen wir dort zusammen mit 6, 7
anderen Lehrstühlen aus der Informatik, Wirtschaftswissenschaft,
Elektrotechnik und etwa, also wir sind insgesamt beteiligt an dem
Programm, dass wir die Größenordnung sehen, 400 Wissenschaftler über 5
Jahre.
Das ist eines der größten Helmholtz-Forschungsprogramme.
Dann haben wir ein neues Copernicus-Projekt, neue
Energienetzstrukturen für die Energiewende, und dieses ist ein Projekt
eines von 4 großen Forschungsprojekten, die vom
Bundesforschungsministerium aufgesetzt wurden, um die Forschung zur
Energiewende voranzubringen.
Die Forschung zu neuen Netzstrukturen, die wird unter Karlsruher
Führung durchgeführt.
Auch da bin ich allerdings nur am Rande beteiligt.
Dann haben wir ein Thema, das uns alle angeht, nämlich wenn wir über
Informationsverarbeitung reden, in einer Zeit, in der ohne
Informationsverarbeitung eigentlich in kaum einem Bereich noch
irgendetwas vernünftig funktioniert, dann heißt das, jeder Angriff auf
die Informationsverarbeitung ist ein Angriff auf wesentliche Systeme
unseres täglichen Lebens.
Also ist es ganz wichtig, dass man weiß, wie man diese Systeme sicher
gestaltet.
Und deswegen haben wir hier in Karlsruhe eines der 3 nationalen
Kompetenzzentren im Bereich der IT-Sicherheit.
Das nennt sich hier Kompetenzzentrum für angewandte
Sicherheitstechnologien.
Und da arbeiten wir mit meiner Gruppe speziell an
Sicherheitstechnologien für Energiesysteme, für Smart Home-Anwendungen
usw.
Und schließlich gibt es auf europäischer Ebene sogenannte Knowledge
and Innovation Communities, insbesondere das EIT Digital, früher ICT
Labs, wo europäisch vernetzte ganze Reihe Leute sich beschäftigen mit
dem Einsatz von Informationssystemen in verschiedenen Bereichen.
Ich mache das vor allen Dingen dort in der sogenannten Action Line
Smart Energy Systems.
Also Sie sehen, viele Themen, alles im Zusammenhang mit Energie.
Der Bereich Energie ist ein Bereich, der wahnsinnige Herausforderungen
darstellt.
Da müssen wir Lösungen liefern und deswegen ist das ein sehr
faszinierendes Thema, mit dem man sich heutzutage beschäftigen muss.
Und wenn wir diese Lösungen nicht liefern, wird es Schwierigkeiten
geben, dass wir tatsächlich die ganzen Herausforderungen der
Energiewende tatsächlich meistern können.
Das heißt nicht, dass wir Informatiker alleine die Energiewende
stemmen können, aber ohne uns geht es nicht.
Das dazu und dann gibt es am KIT eine Reihe von Zentren, in denen die
Forschung organisiert ist.
Und da gibt es das Zentrum Informationssysteme und Technologien.
Da war ich über längere Zeit Sprecher, bin ich jetzt seit 1.
Oktober nicht mehr.
Die Aufgabe habe ich zum Glück abgeben können.
Und im Forschungszentrum Informatik.
Forschungszentrum Informatik ist die Innovationsplattform des KIT für
Informationstechnologie.
Dort bin ich einer der 24 Direktoren und habe dort insbesondere das
House of Living Labs mit aufgebaut.
Und dort entwickeln wir in enger Kooperation mit der Industrie weitere
Dinge im Zusammenhang mit Energiemanagementsystemen.
Das ist alles verlinkt, können Sie sich alles anschauen.
Also, das war zu meiner Person.
Und jetzt kommen wir ein bisschen mehr zu organisatorischen Dingen.
Ich bitte Sie wirklich ein bisschen leiser zu werden.
Ich merke schon, ich muss zu laut sprechen und das ist für meine
Stimme nicht gut.
Und wenn ich leiser spreche, dann müssen Sie auch ruhiger sein, um
mich zu verstehen.
Organisatorisches.
Also die Informationen zur Vorlesung, die sind vielfältig.
Sind alle verfügbar über diese URL hier.
Den Vorlesungsarbeitsbereich, der durch das ILIAS-System
bereitgestellt wird.
Über dieses QR-Diagramm können Sie direkt darauf zugreifen.
Und da sind eine ganze Reihe Informationen, insbesondere zu den
Terminen.
Also Sie wissen alle, die hier sind, dass das heute ist, 11.30 Uhr im
Gerzenhörsaal.
Mittwochmorgen, 8 Uhr, treffen wir uns im Hörsaal am Fasanengarten.
Ist eine andere Atmosphäre.
Ich gucke lieber auf diese Art in Ihre Augen, dass Sie so aufsteigend
hier sitzen.
Im Hörsaal am Fasanengarten sitzen Sie irgendwo weit unten.
Das liebe ich eigentlich nicht, ist aber leider so.
Dann gibt es einige wesentliche Termine, die damit zu tun haben, dass
Sie natürlich gerne auch am Ende irgendwelche Zertifikate haben wollen
darüber, dass Sie hier erfolgreich teilgenommen haben.
Und dafür gibt es einerseits eine Bonusklausur.
Einzelheiten dazu kommen gleich noch.
Dienstag, 17.
Januar, 19.30 Uhr, eine Bonusklausur.
Dauert eine Dreiviertelstunde.
Darüber erzähle ich gleich noch ein bisschen mehr.
Sie können sich da anmelden bis 8.1.2017.
Wer das bis dann nicht gemacht hat, der nimmt nicht teil.
Ganz einfach.
Das ist eine feste Deadline.
Bis dahin muss man sich angemeldet haben.
Dann kommt die Klausur am Ende dieses Semesters, mit der Sie dann
tatsächlich zeigen können, dass Sie etwas gelernt haben.
Am 14.
Februar 2017 ist die wirklich am Dienstag.
Das wundert mich etwas.
Der Termin haben meine Mitarbeiter hier eingetragen.
Sonst war das immer am Montag, aber ist anscheinend dieses Mal verlegt
worden.
Da gab es einige Verhandlungen darüber, wann wer welche großen Hörsäle
bekommt für die Klausuren.
Also ist es jetzt der Dienstag, der 14.
Februar 2017.
Ich hoffe, dass das stimmt.
Meine Mitarbeiter nicken, deswegen wird das wohl auch stimmen.
Anmeldung können Sie aber erst machen, nachdem Sie sich zur
Bonusklausur angemeldet haben.
11.1.2017 bis 1.2.2017.
Allerdings ist es nicht so, dass Sie sich nur zur Klausur anmelden
können, wenn Sie an der Bonusklausur teilgenommen haben.
Das ist unabhängig voneinander.
Hat aber Vorteile, wenn Sie die Bonusklausur mitmachen.
Die zweite Klausur, also wir bieten immer zweimal eine Klausur an zur
Vorlesung.
Das zweite Mal am Ende des Sommersemesters.
Voraussichtlich am Montag, 24.
Juli.
Kann aber auch am Dienstag sein.
Auch diesmal hat es ja Verschiebungen gegeben, von Montag auf
Dienstag.
Das wird dann rechtzeitig mitgeteilt.
Gut.
Dann gibt es eine ganze Reihe Tutorien.
Da kommen gleich noch Informationen dazu.
Ansonsten natürlich vieles auch auf der Webseite.
Die Anmeldung können Sie jetzt gleich machen.
Allerdings brauchen Sie das nicht sofort zu machen.
Da das mit YouSubscribe läuft, wissen Sie, haben Sie wahrscheinlich
schon mal genutzt.
YouSubscribe nimmt Ihre Präferenzen auf und erst, wenn der
Anbindezeitraum vorbei ist, dann werden gemäß den Präferenzen die
Übungsgruppen zugeteilt.
Das heißt, da ist es nicht so, dass First Come, First Served, der
Erste bekommt die beste Übungsgruppe, sondern es geht nach Ihren
Präferenzen.
Und es ist also nicht so, dass Sie jetzt alle ganz schnell da rein
müssen.
Zu den Vorlesungsinhalten.
Die sind natürlich alle hier verfügbar.
Wenn Sie sich hier die Vorlesungsfolien anschauen, dann haben Sie die
ja alle.
Sie können sich die Vorlesungsfolien auch als PDF-Datei anschauen.
Die ist im Vorlesungsarbeitsbereich ja verfügbar.
Und jetzt habe ich noch eine Sache, bevor wir jetzt hier weitermachen,
möchte ich noch auf einen Punkt eingehen.
Es kommt nämlich gleich hier so, dass wir diese Vorlesungsinhalte
nicht nur auf Folien zeigen, sondern wir haben auch begleitendes
Material dazu.
Es gibt dazu Bücher.
Die werden gleich noch kurz erwähnt.
Es gibt ein Buch Theoretische Informatik ganz praktisch.
Es gibt ein Übungsbuch 100 Übungsaufgaben zu Grundlagen der
Informatik.
Band 1 Theoretische Informatik.
Band 2 Technische Informatik.
Diese drei Bücher sind von einem sehr effektiven Team geschrieben
worden, von Lukas König, Friederike Pfeiffer-Bohnen und von mir.
Wobei ich am wenigsten dazu beigetragen habe, sondern am wesentlichen
waren es Lukas König und Frau Pfeiffer-Bohnen.
Frau Pfeiffer-Bohnen sitzt da vorne.
Die können Sie mal kurz beklatschen, weil das ganz toll ist, dass Sie
die Bücher gemacht haben.
Und diese Bücher empfehlen wir natürlich, zusätzlich zu dem, was ich
hier als Vorlesungsfolien Ihnen anbiete.
Und damit Sie jetzt auch richtig aufpassen im Weiteren und auch
Interesse haben, bis zum Ende da zu bleiben, wollen wir Ihnen einen
Fragebogen verteilen.
Auf diesem Fragebogen sind eine ganze Reihe Fragen drauf und diese
Fragen können Sie beantworten.
Das sind Felder, in die Sie das eintragen können.
Und dann gibt es, je nachdem, was für Antworten Sie da eintragen,
einige Felder, aus denen Sie Buchstaben zusammenstellen müssen zu
einem Lösungswort.
Kurz vor Ende der Vorlesung werden wir die Fragebögen alle einsammeln.
Und dann ziehen wir aus diesem Stapel der eingesammelten Fragebögen
drei Stück raus.
Wir werden so lange ziehen, bis wir drei Fragebögen mit richtigen
Antworten haben.
Und diese drei Personen bekommen jeweils einen Satz dieser Bücher
geschenkt.
Und noch etwas, mit einer persönlichen Widmung.
In jedem dieser Bücher hat einer von uns unterschrieben.
Und jetzt müssen Sie aufpassen, damit Sie auch wissen, welche Fragen
Sie beantworten müssen.
Also, die Vorlesung wird aufgezeichnet.
Sie sehen, ich habe hier zwei Mikros umhängen.
Das eine ist für das Saalmikrofon.
Das andere ist für meinen Rechner, damit der über Camtasia das
aufnehmen kann.
Also der Ton wird aufgenommen.
Alles, was auf dem Bildschirm passiert, wird aufgenommen.
Also auch, wenn ich hier irgendwas drauf male.
Und damit das alles verfügbar bleibt, ist es dann alles mit
aufgenommen.
Das können Sie sich alles wieder anschauen.
Das ist also im digitalen Video- und Audioarchiv verfügbar.
Ich kann hier mal kurz raufgehen.
Dann sehen Sie gleich, wenn das alles richtig funktioniert.
Sollte eigentlich alles richtig funktionieren.
Irgendwas stimmt hier nicht.
Doch, da ist es.
Da ist das digitale Video- und Audioarchiv.
Und wenn Sie hier nach Vorlesungen suchen, dann finden Sie hier ganz
viele Vorlesungen.
Irgendwo können Sie auch nach... suchen wir doch mal nach...
Ich habe keine Ahnung, ob das jetzt reicht.
Dann sehen Sie hier alle möglichen Vorlesungen von mir.
Und insbesondere finden Sie hier dann auch die Vorlesungen zur
Grundlageninformatik 2.
Das ist also hier etwas, wo Sie etwas sehen zur Vorlesung Agenda
Computing.
Sie können auf die einzelnen Vorlesungen draufklicken.
Wenn man da draufklickt, kriegt man dann hier einen Videostream.
Und den will ich jetzt gar nicht weiter anschauen.
Dann können Sie sich das anschauen.
Sie können aber auch sich das runterladen.
Das gibt es auch als MP4-Dokument.
Und dann haben Sie das auf Ihrem Rechner.
Das ist wesentlich sinnvoller, als das im Streaming-Modus sich
anzuschauen.
Also das ist die Plattform Diva.
Kennen Sie vielleicht schon das digitale Video- und Audioarchiv der
SKIT.
Abspielen können Sie das mit verschiedensten Playern.
Ich empfehle sehr, einen Player zu nehmen, der ein sichtbares
Scrolling hat.
Das heißt, Sie können, wenn Sie da durchrauschen, können Sie sehen, wo
Sie sind.
Der Media Player von Microsoft macht das leider nicht.
Deswegen ist der ungeeignet.
Der VLC kann das.
Und der hat noch eine schöne Eigenschaft.
Der kann die Geschwindigkeit verändern.
Das heißt, Sie können mich dann ein bisschen hochdrehen in der
Geschwindigkeit.
Beim Anhören ist es manchmal so, dass man denkt, der redet ja
wahnsinnig langsam.
Dann dreht man das ein bisschen hoch.
Und dann hat man das in 1,2, 1,3 oder 1,5-facher Geschwindigkeit.
Und dann hört sich meine Stimme zwar ein bisschen anders an, aber das
ist ja irrelevant.
Also das ist VLC.
Damit können Sie sich das anschauen.
Gedacht ist es dafür, dass Sie sich später nochmal anschauen können,
was war in der Vorlesung drin.
Dass Sie zur Vorbereitung auf Prüfungen sich das anschauen können, bei
Übungsaufgaben reinschauen können.
Da können Sie beliebig hin und her springen und haben dann diese
Informationen.
Das Lehrbuch hatte ich gerade eben schon erwähnt.
Das Übungsbuch ebenso.
Da kommen gleich noch ein paar mehr Informationen dazu.
Ich empfehle Ihnen, dass Sie sich bei dem Vorlesungsarbeitsbereich aus
dem ILIAS-System an der entsprechenden Stelle eine Benachrichtigung
aktivieren, dass Sie, wenn immer dort neue Sachen drauf sind, eine
Info kriegen per E-Mail, sodass Sie wissen, jetzt lohnt es sich darauf
zu gucken, sind neue Vorlesungsfolien da oder ähnliches.
Genauso bei den Foren können Sie sich die letzten Fragen und Antworten
immer geben lassen.
Ist ganz hilfreich, dass man nicht immer darauf gucken muss, gibt es
da was Neues.
Sie wissen, wann es was Neues gibt und schauen dann rein.
Dann gibt es natürlich auch Übungen.
Das war gerade eben zur Vorlesung.
Jetzt kommt es zu den Übungen.
Da habe ich also vier Mitarbeiter, die sich da beteiligen.
Das eine ist Herr Braun.
Ich gehe mal da rein nach.
Herr Braun sitzt da vorne.
Der macht also auch einiges mit der Vorlesung.
Dann Frau Pfeiffer-Boden haben Sie gerade eben schon beklatscht.
Frau Wünsche, Michaela Wünsche sitzt auch da vorne.
Hat auch mit der Vorlesung zu tun, mit der Übungsorganisation.
Und Herr König ist leider krank heute, würde sonst auch da vorne
sitzen und der organisiert auch einiges in den Übungen.
So, wir haben dazu ganz wesentlich für Sie 20 Tutorinnen und Tutoren,
die an 40 Tutoriumsterminen Ihnen etwas erzählen bzw.
Sie betreuen in den Übungsgruppen.
14-tägig sind die Übungen für Sie.
Ich würde sie Ihnen gerne wöchentlich anbieten, ist aber vom Lehrplan
so eigentlich nicht vorgesehen.
Leider, die Tutoren machen das wöchentlich, aber Sie sind nur jede
zweite Woche dran.
Die Gruppen beginnen am 31.10.
bzw.
7.11., je nachdem, ob Sie in einer A- oder B-Gruppe sind.
Also A am 33.10.
oder in der Woche und B am 7.11.
bzw.
in der entsprechenden Woche.
Anmelden, schon gesagt, über YouSubscribe.
Den Link dazu kennen Sie und ist hier auch nochmal drauf.
Können Sie sich dann in Ruhe das PDF anschauen und darauf klicken.
Bis nächsten Donnerstag, 27.10.
sollten Sie das erledigt haben.
Gut, dann zu den Tutorien.
Was machen wir in den Tutorien?
Erstmal, Sie machen dort sehr viel.
Tutorien sind ganz anders als eine Vorlesung.
Zumindest so, dass die Übung natürlich interaktiv ist.
Es macht keinen Sinn, dass dort nochmal jemand vorne steht und alles
mögliche erzählt.
Sie sollen dort aktiv mit dem Stoff umgehen und deswegen erwarten wir
eine aktive Teilnahme sowie eine ausreichende Vorbereitung.
Sie sollten natürlich wissen, was in der Vorlesung gewesen ist, was
jetzt Basis ist für das, was in der Übung gemacht wird.
Es ist nicht Aufgabe der Tutorien, Ihnen den Vorlesungsstoff nochmal
zu erzählen.
Natürlich wird dort intensiver eingegangen auf das, was in der
Vorlesung gemacht wurde.
Aber es ist nicht Aufgabe der Tutoren, nochmal die Vorlesungsfolien zu
zeigen, sondern da werden spezielle Themen rausgegriffen und dann
intensiver gemacht anhand der Übungsaufgaben.
Und selbstverständlich können Sie Fragen stellen und die werden dann
auch beantwortet und behandelt.
Aber es wird erwartet, dass Sie sich selbstverständlich damit
beschäftigen.
Also wenn Sie das mal vergleichen an nordamerikanischen Universitäten,
da ist es so, dass Sie in Vorlesungen, dass da erwartet wird, dass Sie
den Stoff kennen, bevor er präsentiert wird, damit Sie auf Fragen
antworten können und ähnliches.
Das ist selbstverständlich dort, dass man sich anhand des Textbuches
beschäftigt hat mit dem Stoff, der in der Vorlesung präsentiert wird
und nicht erst irgendwann 14 Tage vor der Klausur.
Wer sowas macht, hat keine Chance, durch irgendeinen Kurs an den
Spitzenuniversitäten durchzukommen.
So ein bisschen was in die Richtung gehen wir hier auch.
Nur eigentlich ist das so klar, dass man sich in einer Universität
aktiv mit dem Stoff beschäftigt und erst dann, wenn man den Stoff
tatsächlich aktiv bearbeitet hat, kann man ihn lernen.
Wenn Sie nur den einmal durchlesen, haben Sie noch nichts wirklich
gelernt.
Und Sie sollen ja nicht nur Wissen erwerben, sondern Fähigkeiten
erwerben und die erwerben Sie erst durch das aktive Behandeln des
Stoffes.
Deswegen geben wir Ihnen ja auch Übungsaufgaben, die Sie bearbeiten
sollen.
Der Tutor wird einige Übungsaufgaben vorrechnen und erklären, andere
werden von Ihnen vorgerechnet, wenn Sie sich damit beschäftigt haben.
Also die werden dann interaktiv in Gruppenarbeit gelöst und von
Studierenden präsentiert.
Dazu sage ich gleich noch was.
Dann ist es so, dass Sie sich ja anmelden über YouSubscribe, Sie geben
Ihre Präferenzen an für die Zeiten und dann werden Sie zugeteilt.
Und Sie müssen also dann auch genau zu dem Tutorium gehen, dem Sie
zugeteilt wurden.
In anderen ist es voll, da können Sie nicht rein.
Sie sind in einem Tutorium zugelassen und dort sollten Sie hingehen.
Sie können nämlich durch die aktive Teilnahme an den Tutorien Vorteile
für die Bonusklausur erwerben und damit auch Vorteile für Ihre
endgültige Note.
Aber nur, wenn Sie im korrekten Tutorium teilnehmen.
Wenn Sie in einem anderen versuchen teilzunehmen, stören Sie die, die
dort korrekt teilnehmen und Sie können daraus keinen Vorteil für sich
erwerben.
Also, das ist wichtig.
Übungsblätter bekommen Sie.
Jede Woche, jedes Mal, also alle 14 Tage ein Übungsblatt zum aktuellen
Vorlesungsstoff.
Da drin sind Anwesenheitsaufgaben, Anwendungsaufgaben auch, aber
Anwesenheitsaufgaben.
Das heißt, dort im Tutorium werden die bearbeitet in kleinen Gruppen,
zu denen Sie sich das spontan zusammensetzen.
Und es gibt außerdem Heimaufgaben, die Sie zu Hause lösen können, zu
denen Sie auch Feedback bekommen, sofern Sie die Lösungen abgeben.
Aber das ist so, dass die zusätzlich da sind.
Bearbeitung ist freiwillig, aber natürlich hilfreich für Sie.
Musterlösungen werden nach Durchlauf des jeweiligen Zyklus dann
bereitgestellt, damit Sie anschließend wissen, was wäre eine richtige
Lösung gewesen.
Ich wehre mich immer eigentlich dagegen, eine Musterlösung, also die
Lösung zu bezeichnen, weil das nämlich nie der Fall ist, sondern es
gibt für Aufgaben in der Regel viele mögliche Lösungen oder zumindest
mehrere und man sollte nicht meinen, dass jede Aufgabe nur eine
korrekte Lösung hat.
Also, das ist das dazu.
Dann geht es um den Bonus.
Genau, Bonusklausur heißt, man kann einen Bonus erwerben.
Was ist der Bonus?
Der Bonus besteht darin, das ist hier unten so ein bisschen kursiv
dargestellt, erreichen des Bonus führt zu einer Notenverbesserung
einer bestandenen Klausur um eine Stufe.
Das heißt, aus einer 1,3 wird eine 1,0.
Eine 1,0 können Sie nicht mehr verbessern, das ist schon die
bestmögliche Note.
Aus einer 4,0 wird auch eine 3,7.
Das kommt natürlich kaum vor, weil Sie alle besser sind normalerweise.
Aber wenn Sie hier intensiv mitgearbeitet haben, schreiben Sie alle
gute Noten.
Und wenn Sie die ganzen Dinge nutzen, die wir Ihnen bereitgestellt
haben, dann werden Sie hier wirklich mit sehr guten Noten rauskommen.
Aber es gibt alle würdigen Zwischennoten und die können Sie also durch
den Bonus um eine Stufe verbessern.
Und wann bekommen Sie den Bonus?
Die Bonusklausur besteht aus drei Aufgaben.
Sie haben 45 Minuten Zeit in der Bonusklausur.
Und dieser Bonus wird erreicht, wenn Sie zwei dieser drei Aufgaben
komplett richtig lösen.
Zwei Aufgaben jeweils vollständig richtig.
Oder mindestens eine der drei Aufgaben komplett richtig und das
zugewiesene Tutorium mindestens viermal besucht und eine interaktive
Aufgabe in diesem Tutorium erfolgreich präsentiert.
Vorne an der Tafel vor Ihren Kommilitonen.
Wenn Sie also dieses Drei hier zusammenbringen, bekommen Sie den Bonus
auch.
Oder Sie machen zwei Aufgaben.
Oder Sie machen alle drei Aufgaben richtig und haben das andere auch
noch alles gemacht, dann haben Sie ganz viel gelernt.
Auch alles ganz toll.
Wie gesagt, Bonusklausur bis 8.
Januar.
Später geht es nicht mehr.
Und das ist also ein wichtiger Punkt.
Die Bonusklausur greift Aufgaben heraus, die sehr viel zu tun haben
mit den Übungsaufgaben, die vorher bearbeitet wurden.
Und dadurch können Sie also, wenn Sie an den Übungen erfolgreich
intensiv teilgenommen haben, werden Sie eine gute Chance haben, die
Aufgaben komplett richtig zu lösen.
Dann bieten wir Ihnen nicht nur die Module, die wir...
also nicht nur das, was ich in der Vorlesung erzähle, sondern auch
weitere Module zum Selbststudium.
Wir haben vor einigen Jahren, vor vielen Jahren mal in einer
Wissenswerkstatt Rechensysteme mit dem Förderprogramm Neue Medien für
die Lehre, sehr viele Module erstellt, E-Learning-Module für
Selbststudium von Themen der technischen Informatik.
Daraus sind einige interessante Dinge entstanden, die wir auch
verlinken.
Und eine insbesondere sehr interessante Anwendung, die dort entstanden
ist, ist Logiflash.
Das will ich einmal kurz darstellen.
Logiflash ist ein Werkzeug, um Schaltkreise, Schaltnetze und
Schaltwerke zu beschreiben.
Und Sie sehen, meine E-Mail rauscht rein.
Das hier ist jetzt ein Logiflash-Beispiel.
Und dieses Logiflash-Beispiel zeigt also eine elektronische Schaltung,
die dazu gedacht ist, wie Sie hier sehen, Quadratzahlen zu berechnen,
also jeweils irgendeine Zahl zwischen 0 und 9 wird hier hergenommen,
beziehungsweise das ist eine Hex-Darstellung, also bis 15, Quatsch,
also A, B, C, D, E bis F.
Und hier wird in Hexadezimaldarstellung dann die Quadratzahl berechnet
aus dieser Schaltung.
Wie sowas funktioniert, werden Sie im Laufe der Vorlesung feststellen.
Also diese Vorlesung präsentiert Ihnen theoretische Informatik und
technische Informatik.
Sie lernen hier also, wie man Schaltnetze, Schaltwerke entwerfen kann,
um Funktionen zu berechnen.
Und damit Sie damit umgehen können, werden Sie dieses Werkzeug auch
nutzen, um Schaltungen zu erstellen, zu testen und eben auch in
praktischen Anwendungen einzusetzen.
Also das ist ein wichtiges Werkzeug, damit können Sie rumspielen.
Der Link dazu ist im Vorlesungsarbeitsbereich auch angegeben.
Okay, das also zu diesem E-Learning-Modul.
Und als weiteres gibt es sogenannte Nukid-Tools.
Notebook, University, KIT.
Das ist ein Werkzeug, um Feedback zu geben.
Jetzt weiß ich nicht, wo mein Werkzeug geblieben ist.
Das ist das hier anscheinend.
Da, genau, da haben wir es ja.
Genau, bisher ist da noch gar nichts passiert.
Ich weiß gar nicht, warum.
Eigentlich weiß ich schon, warum, aber keiner hat sich hier versucht,
einzuwählen.
Was kann man da tun?
Wir gehen gleich auf die nächste Folie.
Genau, Sie sehen hier eine Web-Anwendung, die jetzt verfügbar ist.
Wenn Sie auf dieses QR-Diagramm da gehen oder auf den Link, kommen Sie
auf die entsprechende Webseite und dort können Sie sich erstmal die
Vorlesung aussuchen.
Da müssen Sie ein Passwort angeben.
Das ist info2.
Ich gehe mal auf die nächste Folie, da sehen Sie das Passwort.
Da, info2.
Damit können Sie die Vorlesung tatsächlich auswählen und sich dann da
entsprechend einloggen.
Und jetzt gehe ich nochmal kurz zurück.
Hier, genau, das ist also der Link.
Es gibt auch eine App dafür für Android-Handys.
Leider ist der Update dieser App für diesem Semester, der war
vorgesehen, noch nicht fehlerfrei.
Deswegen können wir leider im Augenblick die neue Version der App
nicht bereitstellen.
Das wird in den nächsten Tagen korrigiert.
Heute steht leider nur die Web-Anwendung zur Verfügung, aber auch mit
der können Sie ein bisschen rumspielen.
Was können Sie da machen?
Sie können eine Vorlesung auswählen.
Wenn Sie da raufklicken, finden Sie info2.
Sie können sich selbst identifizieren mit einem Namen.
Sie können irgendeinen Namen da eingeben, wen immer Sie wollen.
Und am besten Ihren eigenen, oder eigentlich am besten Ihren eigenen.
Und Sie können eine Frage stellen.
Sie können eine Frage eintippen, die losschicken.
Das sehe ich dann hier auf diesem Werkzeug.
Und Sie können sagen, das Ganze ist zu langsam, oder ist gerade
richtig, oder es ist zu schnell.
Ja, also faster hier im Augenblick heißt es, ich soll schneller
machen.
Und ich vergesse immer, ob oben das schneller ist oder unten.
Oben ist schneller, genau, ich soll schneller machen.
Dann mache ich mal schneller.
Sie sehen, fünf Leute haben sich hier schon eingeloggt und haben
gesagt, schneller.
Fünf Leute sagen, richtig.
Jetzt sind es sechs Leute.
Einer sagt, das Ganze sollte langsamer sein.
So bekomme ich ein Feedback dazu, wie der aktuelle Eindruck ist von
der Vorlesung.
Jetzt gibt es hier die erste Frage.
Auch da sehen Sie, was da passiert.
Ja, Sie sehen, hier wird gefragt.
Warum lachen Sie?
Was ist das für eins live?
Ich weiß nicht, warum Sie diese Frage gestellt haben.
Keine Ahnung.
Also, das zeigt aber schon, dass man dieses Werkzeug unterschiedlich
einsetzen kann.
Und ich bitte Sie, das auf die richtige Art und Weise einzusetzen.
Das haben Ihre Vorgänger in den vorigen Semestern auch gut gemacht.
Es ist dafür da, dass Sie Fragen stellen können zum Inhalt der
Vorlesung.
Und ich sehe dann, dass Fragen hier kommen und kann dann die an
geeigneter Stelle einblenden und darauf antworten.
Es scheint hier schon wieder eine Frage zu sein.
Dazu sage ich natürlich gar nichts zum Unentschieden der Bayern,
obwohl ich als Norddeutscher mich natürlich freue, wenn die Bayern
nicht immer die Besten sind.
Das ist klar.
Da stört mich nur leider, dass die Norddeutschen gerade alle relativ
weit unten sind.
Das sollte eigentlich nicht der Fall sein.
Aber das sind Fragen, die kann man auch stellen.
Die können Sie auch, wenn Sie das Werkzeug nutzen, Ihren Kommilitonen
stellen.
Aber hier in der Vorlesung eigentlich nicht.
Man kann hier alle möglichen Dinge machen und auf die Art und Weise
kann man die Vorlesung verzögern.
Wenn ich das feststelle, werde ich keine Fragen beantworten.
Dann spare ich mir die bis zum Ende auf und kann die dann alle einmal
abhaken.
Aber wenn Sie das gut machen, ist das eine hilfreiche Ergänzung der
Vorlesung.
Ich kann dann, wenn es sinnvoll ist, auf die Fragen eingehen und dann
wird das die Vorlesung ein bisschen verbessern.
Das ist also eine Sache, die man machen kann.
Und jetzt kommt hier noch eine Frage, auf die gehe ich auch nochmal
kurz ein.
Das ist eine schöne Frage, genau.
Diese Frage ist sehr gut, weil wir darauf gleich eingehen werden.
Da gehe ich also gleich drauf ein in den nächsten Folien.
Mit dem machen wir dann gleich weiter.
Also, jetzt gehen wir hier drauf und wir können hier nochmal kurz...
Das können Sie jetzt leider nicht live erleben.
Diese Android-App ist halt leider jetzt nicht zum Hochladen zur
Verfügung oder zum Unterladen zur Verfügung.
Da können Sie dann genau die Dinge, die Sie auf der Webseite machen
können, in Ihrem Smartphone mit einer App machen.
Jetzt machen Sie es halt mit dem Smartphone in einer Web-Anwendung.
Geht ja auch.
Also, ich kann Ihnen auch Fragen stellen und Sie können die Fragen
dann auch beantworten.
Hoffentlich sehe ich dann auch, wie das läuft.
Ich werde das in der nächsten Vorlesung machen.
Heute werde ich Ihnen dazu, obwohl eine Frage könnte ich stellen, aber
ich werde das ein bisschen später machen, wenn sich schon mehr Leute
diese Webseite aufgemacht haben.
Also, nochmal dazu.
Es gibt das einerseits vielleicht doch ganz kurz.
Sie können Fragen stellen, Sie können die Feedback geben zur
Geschwindigkeit.
Ich kann Ihnen Fragen stellen, dann müssen Sie darauf antworten.
Ich kann eine Übersicht über die Antworten geben.
Dann gibt es sogenannte Fragerunden.
Nach der Vorlesung können Sie irgendwann im Laufe des Tages oder der
Woche sich so ein Survey, so eine Umfrage anschauen und dort Fragen
zur Vorlesung beantworten.
Da gibt es zu jedem Kapitel immer wieder neue Umfragen, sodass Sie
einfach Fragen bekommen, die ähnlich sind wie Fragen, die in der
Klausur auftauchen können und Sie sehen dann, wie Sie damit
zurechtkommen.
Also, das sind dann diese Dinge, die Sie dort in der App sehen.
Das geht auch nur mit der App und nicht mit der Webanwendung im
Augenblick.
Geht auch mit der Webanwendung, da habe ich hier eine alte Version der
Webanwendung drauf gehabt.
Geht da also auch.
Also, das zu diesen Werkzeugen und jetzt gibt es den X-Wizard.
X-Wizard ist ein Werkzeug, erstellt von meinem Mitarbeiter Herrn
König.
Und der hat damit ganz tolle Sachen gemacht.
Der hat nämlich ein Werkzeug geschrieben, mit dem man die meisten
Konzepte, die in der Vorlesung vorgestellt werden, praktisch
durchprobieren kann.
Also, Sie können dort zum Beispiel einen Automaten sich anschauen.
Und das ist ein Automat, den Sie mit Zuständen und Übergängen zwischen
den Zuständen...
Sie werden sehr bald wissen, was ein Automat ist.
Und dann können Sie auf diese Dinge eingehen.
Ich gehe mal kurz auf die Anwendung rauf, dann sehen wir das direkt.
Das ist also hier die Anwendung.
Und da steht jetzt leider nicht der Link auf genau dieses Werkzeug.
Das ist das allgemeine Werkzeug.
Und da gibt es eine ganze Reihe Beispielsachen.
Also zum Beispiel hier ein endlicher Automat.
Dann haben Sie hier einen anderen endlichen Automaten.
Und dann sehen Sie hier, was passiert, wenn man da ein bestimmtes Wort
eingibt.
Wird das hier gehighlighted.
Also da kann man schön mit rumspielen.
Ich will das aber jetzt eigentlich im Einzelnen gar nicht machen.
Sondern das können Sie selber machen und damit rumspielen.
Da steht, simuliere einen Schritt.
Wenn ich den jetzt simuliere, das hatte ich gerade gesucht, dann sehen
Sie, sind wir in einem anderen Zustand.
Und sind hier in den Zustand gegangen.
Haben das A eingelesen.
Und beim A einlesen, da geht dieser Automat, da mit A geht er in den
Zustand über.
Und wenn ich jetzt den nächsten Schritt simuliere, würde ich hier
entsprechend weiter durchlaufen.
Und Sie können hier auch sehen, mit welchem Skript dieser Automat
geschrieben wurde.
Wenn ich jetzt also hier drin was verändern würde, würde sich sofort
der Automat verändern.
Ich könnte hier oben, da steht zum Beispiel, wo habe ich das jetzt?
Irgendwo steht hier, genau, Input.
A, A, B, B, A.
Da könnte ich jetzt hier noch ein B dazu schreiben.
Und könnte jetzt sagen Draw.
Und dann würde er entsprechend das nochmal darstellen.
Und da hätten Sie jetzt hier drei Bs drin.
Vorher waren da nur zwei Bs.
Das heißt, das ist ein sehr schönes interaktives Werkzeug, wo Sie
etwas grafisch darstellen.
Sie können simulieren, wie Sie durch den Automat arbeiten.
Und können damit die Konzepte aus der Vorlesung, Automaten, formale
Sprachen und so weiter, sehr schön experimentell tatsächlich
bearbeiten.
Kurz nochmal eine Frage.
Ja, ja, ja, das wollen Sie wohl gerne wissen.
Also, es ist so, wenn nur das Lösungswort auf seinen Fragebogen drauf
schreibt, und nichts anderes, der hat keine Chance etwas zu gewinnen.
Es kommt nicht auf das Lösungswort an.
Sie müssen auch die Fragen beantworten.
Man kann manchmal auch ein bisschen raten, aber Sie sollten schon die
Fragen beantworten.
Und nicht nur das Lösungswort abschreiben beim Nachbarn.
Das geht nicht.
Okay, jetzt zurück zur Vorlesung.
Und das ist also ein Werkzeug, dieser X-Visit.
Ganz wichtig, damit Sie praktisch arbeiten können mit dem Stoff der
Vorlesung.
Sie können damit beliebig rumspielen und damit weitere Erfahrungen
sammeln.
Darin sind also die meisten Konzepte aus der Vorlesung implementiert.
Automaten, Sprachen, auch zum Teil Schaltnetze, aber vor allen Dingen
ist das für die theoretische Informatik sehr gut einsetzbar.
Und dann gibt es sogenannte Mini-Aufgaben.
Das sind bei X-Visit, das ist ein wesentlicher Teil, dass dort kleine
Zusatzaufgaben gestellt werden in den Übungsaufgaben.
Und mit solchen Mini-Aufgaben, die können Sie dann bearbeiten und
können damit eben ganz spezielle Themen, die wir für wichtig halten,
weiter sich anschauen, damit rumspielen und können das auch
diskutieren dann im Forum.
Wenn Sie damit Probleme haben, gehen Sie ins Forum, diskutieren
darüber, welche Erfahrungen Sie mit der Nutzung dieses X-Visits
gemacht haben.
Forum heißt, wir haben dort ein Forum, da gibt es viele verschiedene
Arten von Foren.
Wir haben ein Question-Answer-System dort Ihnen angeboten, wo Sie,
auch da gehe ich mal ganz kurz rauf, wo Sie eben die...
wo Sie also Fragen stellen können zum Stoff der Vorlesung.
Und dauert anscheinend einen Augenblick, bis das tatsächlich da ist.
Dauert einen Augenblick, da kommt es jetzt schon.
Sie sehen, hier sind alle möglichen Fragen, die Sie sich hier
anschauen können.
Und dann können Sie da reingucken, können selbst in jedem, das sind so
einzelne Threads, einzelne Diskussionsfäden, wo Sie sich dann mit
beteiligen können.
Und Sie sehen, was für Arten von Fragen hier gestellt werden, zu
Klausuren, alle möglichen Fragen, Klausurergebnisse und so weiter.
Zu jeder einzelnen Aufgabe, die im Übungsbuch drin ist, gibt es ein
Frage -Thread da drin, also da ist einiges, was Sie machen können mit
dem diesem Question-Answer-System.
Und jede Aufgabe hat also eine spezielle Kennung, da werden Sie sich
schnell mit zurechtfinden.
Und Sie können dann also die Bearbeitung der Aufgaben sinnvoll machen.
Wir haben also ein Aufgaben-Pool.
Erstmal haben wir dieses neue Lehrbuch, Theoretische Informatik ganz
praktisch.
Wenn Sie das durchblättern, werden Sie feststellen, dass dieses Buch
Ihnen sehr viel erzählt über die Theoretische Informatik.
Also Ziel ist, Sie dort einzuführen in das, was die wesentlichen
Konzepte der Theoretischen Informatik sind.
Die braucht man einfach, um zu verstehen, was sind die prinzipiellen
Konzepte der Informationsverarbeitung, der Informatik.
Welche Möglichkeiten gibt es?
Wie kann man damit geeignet umgehen?
Und wir wollten das möglichst praktisch formulieren.
Es sind viele Beispiele drin, Tipps, Hilfestellungen.
Es sind Fallen dabei drin.
Nicht, dass Ihnen eine Falle gestellt wird, nein.
Es werden dort Themen kurz gehighlighted, also unterstrichen und
markiert.
Themen, bei denen Sie vielleicht einfach drüber weglesen und gar nicht
merken, dass Sie da etwas nicht verstanden haben.
Auf die wird nochmal genauer eingegangen in solchen Extrakästen.
Und es geht uns darum, dass Sie wirklich verstehen, worum es geht.
Sie sollen praktischen Zugang bekommen, reale Anwendungen.
Typische Klausuraufgaben spielen natürlich auch eine Rolle im
Hintergrund.
Das Ganze ist mit Exquisite verknüpft und dann bekommen Sie also da
die Möglichkeit, direkt zwischen dem Buch und dem Exquisite hin und
her zu springen.
Jetzt könnte man meinen, wir wollen auch Geld verdienen damit.
Das ist nicht der Fall.
Das Buch ist relativ preiswert.
Wir verdienen da nur einen ganz kleinen, wirklich sehr kleinen Betrag.
Wir bekommen fast nichts.
Unser Ziel ist es, Ihnen da eine Hilfestellung zu geben.
Sie werden aber feststellen, das Buch folgt nicht vom Aufbau vorher,
genau dem ersten Teil dieser Vorlesung Theoretische Informatik,
sondern stellt das ein bisschen anders dar, in einer anderen
Reihenfolge.
Es liefert Hintergründe.
Und es ist eine gute Lektüre, die Ihnen hilft, wesentliche Konzepte
dieser Vorlesung zu verstehen.
Und das ist das Ziel dieses Buches.
Es ist nicht ein genaues, nur eine erweiterte Version der Folien.
Es ist deutlich mehr.
Also, das ist dieses Buch.
Wir sind gespannt auf Ihr Feedback.
Ganz neu herausgekommen, dieses Semester, also gerade jetzt erst Ende
September.
Und Sie sind die Ersten, die damit konfrontiert werden,
beziehungsweise die das genießen können, endlich mal einen praktischen
Einstieg in die Theoretische Informatik zu bekommen.
Gut.
Und dann gibt es seit bereits 2014 unser Übungsbuch und den
Aufgabenpool schon etwas länger.
Das Übungsbuch enthält viele Aufgaben zur Vorlesung.
100 Aufgaben zum ersten Teil, 100 Aufgaben zum zweiten Teil, also
Theorie und Architektur von Rechensystemen, technische Informatik.
Und dort sind alles verlinkt, jeweils mit dem Aufgabenpool auf dem
Rechner, mit Aufzeichnungen der Vorlesung zu dem jeweiligen Thema.
Das heißt, das ist hier eine Multimedia-Geschichte in den Materialien
zur Vorlesung.
Der Aufgabenpool ist erstellt worden, übrigens von Kommilitonen von
Ihnen.
Wir haben die Tutoren gebeten und Tutorinnen gebeten, typische
Aufgaben sich auszudenken, die hilfreich sind, um den Stoff besser zu
verstehen.
Wir haben die dann alle durchgeguckt, mit Lösungen versehen und daraus
ist dann im Laufe der Zeit oder sind im Laufe der Zeit diese beiden
Übungsbücher entstanden.
Und dann gibt es dazu das Diskussionsforum, das ist alles miteinander
verlinkt und Sie können dann also dort hin und her springen und viele
Informationen zu dem Stoff dieser Vorlesung bekommen.
Das heißt, wir haben hier sehr viele Informationen, die wir Ihnen
bereitstellen.
Das geht einerseits um theoretische Dinge, es geht darum, dass Sie
lernen, dass Sie damit arbeiten können, dass Sie diskutieren können
und Sie sollen es auch anwenden können.
Und damit Sie am einfachsten den Zugang finden, haben wir Ihnen drei
Videos zur Verfügung gestellt, bei YouTube verfügbar, einerseits zu
Nukid, zu dem Vorlesungswerkzeug, dann zum X-Wizard und zum Forum.
Dann wissen Sie, wie Sie damit am besten umgehen können.
Diese Videos sind bereits verfügbar und geben Ihnen einen Einblick
darin, wie man am besten damit umgeht.
Also, Vielfalt von Informationen.
Manche Studenten geben uns die Rückmeldung viel zu viel, aber es ist
einfach ein wesentlicher Stoff.
Es ist sehr viel an Stoff, den ich Ihnen hier präsentiere.
Theoretische Informatik, Technische Informatik mit sehr vielen
Kapiteln, sehr vielen Themen, sehr breites Spektrum und deswegen sind
wir der Meinung, wir müssen Ihnen Möglichkeiten geben, sich das
möglichst effektiv anzueignen und deswegen die vielen begleitenden
Werkzeuge dafür, die begleitenden Medien.
Also, das dazu und dann kommen wir gleich zum Inhalt der Vorlesungen.
Kurze Frage noch hier.
Das hier war natürlich nicht Sinn der Sache.
Ja?
Also solche Fragen sollte man, also das ist unfair, würde ich sagen,
aber es ist egal.
Das war jetzt noch mal drauf, weil ich das hier nicht da auf Ansatz
geklickt hatte, aber Sie müssen die Fragen beantworten, hatte ich ja
gesagt.
Nur die Zettel, auf denen die Fragen beantwortet sind, werden auch
eine Chance haben, nachher ein Buch zu bekommen.
Also, Inhalte der Informatikvorlesung.
Was machen wir hier?
Sie haben Programmieren I mitbekommen, da geht es um
Objektorientiertes Programmieren, mit Java.
Grundlageninformatik I, da ging es um verschiedene Themen, auf die ich
noch genauer eingehen werde, etwas später.
Dann kommt Grundlageninformatik II.
Also, das sind die Themen, die wir hier behandeln werden.
Theoretische Grundlagen, Automaten, Formate Sprachen, Berechenbarkeit,
Komplexität, Schaltnetze, Schaltwerke, Codierung, Rechenarithmetik,
Rechenarchitektur, Programmiersprachen, Betriebssysteme,
Dateikonstellation.
Das heißt, Sie sollen lernen, was sind eigentlich die grundlegenden
Überlegungen zur Gestaltung von Rechensystemen, wie kann man sie
eigentlich programmieren, wie kann man damit umgehen und wie baut man
eigentlich die Rechensysteme?
Das ist dann Rechenarchitektur, da gehen wir runter bis zur
Höchstintegration, also zum Aufbau mikroelektronischer Schaltungen, zu
Very Large Scale Integration und so weiter, zur wirklichen
Mikroelektronik, aber gehen eben auch in Betriebssysteme und am Ende
etwas noch in Dateiorganisation.
Ok, dann haben wir im Hauptstudium später noch weitere Vorlesungen,
Grundvorlesungen, Programmierung kommerzieller Systeme, Advanced Java
oder Standardsoftware, das können Sie ja auch noch machen, haben
einige von Ihnen vielleicht schon gemacht, im Sommersemester wird ja
von einigen schon vorgezogen.
Ok, jetzt will ich ganz kurz eine Pause machen und hier auf dieses
Fragetool nochmal eingehen.
Also, übrigens werde ich versuchen, in der Vorlesung immer in der
Mitte eine Pause zu machen, jetzt ist es schon über die Hälfte der
Vorlesung rum, in der Regel versuche ich nach einer Dreiviertelstunde
eine kleine Pause zu machen, damit man kurz sich beruhigen kann oder
dass man abschalten kann einen Augenblick.
Oder ich kann Ihnen in der Zeit eine Frage stellen.
Und solch eine Frage kann ich Ihnen zum Beispiel jetzt stellen, ich
habe hier eine Reihe Fragen drin.
Zum Beispiel, hier ist eine ganze Reihe Fragen, die ich stellen
könnte.
Ich stelle mal diese Frage hier.
Und diese Frage, sehen Sie jetzt dieses Werkzeug, was kann ich damit
machen?
Ich habe hier eine Frage, welche Art von mobilen Geräten besitzen Sie?
Und da stehen jetzt hier eine ganze Reihe Sachen zur Auswahl.
Und jetzt sage ich Publish Question.
Und jetzt finden Sie auf der Webanwendung, können Sie jetzt also diese
Frage sich auswählen.
Und dann sage ich Show Results.
Und wir sehen bis hier, aha, einige machen es schon.
Kann ich also sofort zeigen, welche Antworten gegeben werden.
Und das ist also so, dass man, das werde ich natürlich nicht immer
zeigen, bei allen Fragen, die ich stelle, sofort die Antworten zeigen,
aber man kann es also nutzen, um Umfragen zu machen.
In dem Fall gibt es nicht nur eine richtige Antwort, sondern man kann
hier viele Sachen eintippen.
Und Sie sehen also hier, das ist die Nutzung dieses Werkzeugs.
Wenn ich Ihnen Fragen stelle, dann kann ich sehen, was Ihre Antworten
darauf sind.
Auf die Art und Weise kann ich zum Beispiel bei einigen Themen, die
ich in der aktuellen Vorlesung behandelt habe, kann ich kurz
feststellen, ob Sie das verstanden haben oder nicht.
Oder auch Dinge aus der vorigen Vorlesung kann ich hier nochmal
ansprechen und dann feststellen, wie Sie das tatsächlich bearbeitet
haben.
Hier nochmal zur Frage, wie lautet das Lösungswort?
Da hat jemand nicht aufgepasst.
Das also zu diesen Werkzeugen.
Und das lasse ich jetzt im Hintergrund laufen.
Ich habe jetzt sehr viel Zeit gebraucht für diese Einführung.
Ich möchte sehen, dass ich weiterkomme und deswegen gehe ich doch
gleich wieder zurück.
Die Pause ist heute etwas kurz.
Sie wird in der Regel so ein paar Minuten sein, damit man mal kurz
verschnaufen kann zwischendurch.
Kurzer Rückblick auf Themen, die in der vorigen Vorlesung
Grundlageninformatik 1 behandelt wurden.
Und zwar schreibe ich Ihnen hier Fragen auf.
Weil alles, was wir machen, hängt damit zusammen, dass wir Ihnen etwas
vermitteln wollen, damit Sie wissen, wie man Informatik sinnvoll
einsetzt.
Also, wie realisiert man Problemlösungsverfahren durch Programme für
Universalrechner und wie beurteilt man deren Qualität und Kosten?
Das ist eigentlich die wesentliche Frage in der Grundlageninformatik
1.
Und dazu hat man sich angeguckt, wie man Systeme und Abläufe
modelliert.
Sie haben das über UML dort kennengelernt.
Etwas, Sie haben Aussagenlogik, Prädikatenlogik, Busche Algebren
kennengelernt, um zu wissen, wie man Aussagen über Eigenschaften von
Systemen formuliert und beweist.
Stellen Sie sich vor, Sie wollen Software für ein kritisches System
erstellen, zum Beispiel die sehr kritische Systemsteuerung eines
Reaktors.
Oder Bremse im Fahrzeug.
Einfaches Beispiel.
Bremssteuerung in Ihrem Fahrzeug.
Sie treten auf das Bremspedal, aber das wird ja umgesetzt über
Software in tatsächlich Steuerung eines Controllers, der dann
tatsächlich die Bremsfunktion anspricht.
Sie müssen beweisen, Sie müssen zeigen, genau die richtige Funktion
wird damit durch Ihre Software realisiert.
Dazu müssen Sie das Problem spezifizieren, in entsprechender
Aussagenlogik, Prädikatenlogik beschreiben und Sie müssen beweisen
können, dass das, was Sie dort an Software geschrieben haben,
tatsächlich korrekt ist und keine Fehler macht.
Schwierige Sache, über Beweisen haben Sie leider noch nichts gehört in
der Vorlesung.
Sie haben dort etwas gehört über Testen, Verifikation wäre Beweisen,
auch das kann man machen, das sind aber andere Werkzeuge, da braucht
man die horsche Logik und braucht man Dinge wie Modelchecking, das
gegenüber die Grundlagen der Informatik 1 hinaus, aber Testen haben
Sie kennengelernt, ganz wichtige Thematik.
Also wie beurteilt man Qualität und Kosten?
Korrektheit, dann die Kosten, für den Wirtschaftsingenieur ganz
wichtig, Platzbedarf, Zeitbedarf, was macht das Programm im
schlechtesten Fall, im besten Fall, im Mittel, Sie haben das
kennengelernt am Beispiel von Sortierverfahren, da haben Sie alle
Varianten kennengelernt, Programme, die im besten Fall, im mittleren
Fall oder im schlechtesten Fall sehr unterschiedliche Laufzeit haben,
zwischen linear und quadratisch in der Länge der Eingabe beim
Sortieren.
Und dann, welche Einsätze gibt es für den systematischen Entwurf
effizienter Programme, Software, Entwicklungsmethodik, da gibt es halt
verschiedenste Prinzipien, hier sind ein paar genannt, die haben Sie
kennengelernt, sollten Sie kennen.
Welche Standarddatenstrukturen gibt es, auch das haben Sie
kennengelernt, Listen, Baumstrukturen, Warteschlangen, Hieb und
ähnliches, als einfache Beispiele für so standardtypische
Datenstrukturen.
Und diese Fragen könnten auch in Klausuren auftauchen.
Aber das sind Fragen, die schreibe ich vor allen Dingen auf, weil ich
Ihnen klarmachen möchte, das was wir Ihnen präsentieren, hat zu tun
mit relevanten Fragen im Umgang mit informationsverarbeitenden
Systemen.
Bei Informatik 2 haben wir zwei Teile, das erste sind die formalen
Modelle der Informatik, das zweite die Architektur von Rechensystemen
und wir haben dort also bei den formalen Modellen geht es einerseits
um Automaten, wie wir also Rechenanlagen modellieren können, oder auch
Sprachen damit beschreiben können, Kellerautomaten, Turingmaschinen
und dann unterschiedliche Sprachen, reguläre, kontextfreie,
kontextsensitive.
Es geht um Berechenbarkeit, um Komplexität, was können wir überhaupt
berechnen?
Und wie schwierig ist es etwas zu berechnen?
Dann die Architektur von Rechensystemen, wie setze ich das eigentlich
um?
Wie baue ich meine Rechner auf?
Von den kleinsten Einheiten in den Transistoren, wie baue ich
eigentlich in höchstintegrierter Technologie meine schaltenden
Bereiche auf?
Wie kann ich also Hardware entwerfen?
Wenn Sie Funktionen berechnen wollen, wenn Sie Systeme entwerfen,
entwerfen Sie nicht nur Software, die auf irgendeinem Prozessor
ausgeführt wird, sondern Sie müssen häufig auch Hardware entwerfen,
weil Sie Echtzeitanforderungen erfüllen müssen, die nur durch Hardware
entsprechend erfüllt werden können.
Dann müssen Sie wissen, wie Sie Zahlen darstellen, wie Sie mit Zahlen
im Rechner umgehen können, Rechenarithmetik, Sie müssen
Rechenarchitekturen kennenlernen, wissen, wie man die auf
unterschiedlichen Ebenen programmiert, von der Maschinenprogrammierung
bis hoch zur Hochsprache, wie Java oder ähnliches.
Sie sollten etwas wissen über Betriebssysteme und über
Dateiorganisation.
Ziemlich breites Spektrum.
Und dann gibt es eine ganze Reihe von Literatur dazu, sehr viel
Literatur und diese Literatur wird auch immer breiter.
Unser Buch haben wir da gar nicht mehr drauf.
Es gibt einige klassische Werke, die man hier anschauen kann, also zu
Theoretische Informatik, der Hopcroft-Almen ist ein schönes Buch, das
hier dann von Schöning, Theoretische Informatik, Wegener, Theoretische
Informatik, eine algorithmenorientierte Einführung, Gary Johnson,
Standardwerk zu algorithmischer Komplexität, zu sogenannten NP
-Vollständigkeit, ein Klassiker.
Und dann zur Rechenorganisation Patterson-Hennessey, Hennessey
-Patterson, hier Computerarchitektur, gibt es auch als deutsches Buch
und ist also ein Standardwerk über Rechenarchitektur.
Okay, weitere Literatur in der Vordesungswebseite.
Das war jetzt die Einführung in die organisatorischen Dinge und jetzt
kommen wir gleich zu dem zweiten Teil, nämlich zu den, wo sind wir
jetzt hier, Info 2, Wintersemester, Kapitel 1, das sollte dieses hier
sein.
Ich möchte noch anfangen, Ihnen etwas zu erzählen über so ein paar
Modelle, formale Modelle der Informatik.
Ich möchte gleich mit dem Stoff anfangen heute.
Ich werde aber noch kurz eine Frage beantworten, die dort noch steht.
Auch diese Frage steht immer noch da.
Das werden Sie irgendwann tatsächlich wissen.
Und hier ist noch eine Frage.
Also Fragen mehrfach zu stellen.
Jetzt zeige ich mal alle Fragen.
Auch das kann ich machen.
Ich kann alle Fragen zeigen.
Sehen wir, da sind weitere Fragen.
Ist schon ein Datum für die Veröffentlichung der Nukid iPhone-Version?
Leider nicht.
Die ist immer noch in der Zukunft.
Dazu sind wir noch nicht gekommen.
Sie können auch auf dem iPhone die Web-Anwendung nutzen.
Und wir haben es halt für die Android-Plattform gemacht und nicht für
die iPhone-Plattform.
Ist halt...
Also auf die Frage habe ich jetzt beantwortet.
Braucht man Info 1, um Info 2 zu machen?
Nicht unbedingt.
Es ist hilfreich, selbstverständlich.
Aber das sind die Sachen, die ich Ihnen präsentiere, eigentlich alle
auch machbar, ohne dass man Info 1 schon gehört hat.
Wobei die Dinge, die ich dann erzähle, zu Rechnerarchitektur und zu
Programmiersprachen schon ein bisschen damit zu tun haben.
Bursche Algebren, das ist ein Punkt, der ist in Grundlageninformatik 1
drin.
Auf den gehe ich noch ganz kurz ein.
Aber im Wesentlichen auf spezielle Themen.
Das ist sehr hilfreich, wenn man das, was dort steht, über
Aussagenlogik, Prädikatenlogik und Bursche Algebren, den Teil sollte
man sich schon mal vorher angeschaut haben.
Das ist also hilfreich, um dann mit dem Teil hier in der Vorlesung
zurecht zu kommen.
Ansonsten ist das also weitgehend alles machbar, ohne die
Voraussetzung Informatik 1.
Okay.
Kommen wir also zur Grundlagen der Informatik 2, formale Methoden der
Informatik und eine Einführung.
Und nochmal kurz, worum geht es eigentlich?
Ich möchte Ihnen abstrakte Modelle für informationsverarbeitende
Systeme vorstellen.
Für Programmiersprachen und Ihnen dabei zeigen, welche prinzipiellen
Möglichkeiten es gibt, Informationsverarbeitung mithilfe von Rechnern
tatsächlich zu machen.
Und Fragestellungen, die man dort immer wieder hat, sind, mit welchen
Modellen wir Rechner formal beschreiben können.
Wir wollen nämlich argumentieren können über die Möglichkeiten von
Rechenanlagen.
Dann, welche Eigenschaften haben sinnvolle Programmiersprachen?
Diese Frage beschäftigt uns jetzt in den nächsten acht
Vorlesungsdoppelstunden.
Und zwar geht es um zwei Punkte.
Das eine ist die Ausdrucksfähigkeit.
Ausdrucksfähigkeit heißt, was kann ich in einer Programmiersprache,
die mir zur Verfügung steht, tatsächlich alles formulieren?
Beziehungsweise, wie muss die Sprache gestaltet sein, damit ich alles
das, was ich dem Rechner erzählen möchte, auch erzählen kann?
Wenn ich also alles das, was notwendig ist, ausdrücken kann, muss die
Sprache gewisse Eigenschaften haben.
Und deswegen müssen wir uns mit der Ausdrucksfähigkeit einer formalen
Sprache beschäftigen.
Oder einer Programmiersprache.
Das andere ist die Effizienz.
Wenn ich ein Programm eingebe, das übersetzt werden soll, dann soll
diese Übersetzung nicht zu lange dauern.
Das heißt, ich muss möglichst einmal da durchlaufen können und in
möglichst linearer Zeit in der Länge des Programms eine Überprüfung
machen können, ob das Programm korrekt ist.
Ich muss übersetzen können und das soll nicht quadratisch, kubisch
oder sogar exponentiell abhängen von der Länge des Programms.
Weil wir auch lange Programme schreiben werden und es darf nicht so
sein, dass ein langes Programm exponentielle Zeit in der Länge des
Programms braucht, dann könnten wir das nie übersetzen.
Das macht keinen Sinn.
Deswegen Effizienz und Effizienz bezieht sich auf die Frage, wie
schnell kann ich überprüfen, ob ein von mir geschriebenes Programm
syntaktisch korrekt ist, also entsprechend den Regeln der
Programmiersprache geschrieben ist.
Das ist die Effizienz der Programmiersprache und die
Ausdrucksfähigkeit, wie gesagt, kann ich alles das, was ich
formulieren muss, tatsächlich in dieser Programmiersprache auch
formulieren.
Diese beiden Fragen beschäftigen uns bei dem Teil formale Sprachen,
weil ich Ihnen zeigen muss, was ist das geeignete formale Modell, um
genau die Programmiersprachen zu beschreiben, die wir in der Praxis
brauchen.
Wie lässt sich diese taktische Korrektheit überprüfen?
Das ist also genau der Punkt, dass wir möglichst schnell gehen.
Das sind Automaten, Grammatiken und formale Sprachen.
Der zweite Teil, da geht es darum, nochmal, was ist ein Algorithmus?
Das wissen Sie eigentlich schon aus Grundlagen der Informatik 1.
Dann welchen Aufwand verursacht eine bestimmte Berechnung?
Also eine bestimmte Berechnung.
Oder welchen Aufwand erfordert die Lösung eines Problems generell?
Egal, wie ich es mache, wie viel Aufwand muss ich mindestens dort
einsetzen?
Untere Schranken.
Also wenn ich sortiere, was ist der Mindestaufwand an Vergleichen, die
ich einsetzen muss, um ein Sortierproblem zu bearbeiten?
Da wissen wir, das ist n log n, wobei n die Länge der Folge ist.
Und wo liegen die Grenzen der Berechenbarkeit?
Gibt es Probleme, die überhaupt nicht lösbar sind?
Also mit dem Rechner kann ich doch alles machen.
Keineswegs.
Wir werden einsehen, dass es Probleme gibt, die man nicht durch
rechnerische Verfahren lösen kann.
Ein Beispiel ist das sogenannte Halteproblem.
Festzustellen, also einen Algorithmus anzugeben, der für ein
beliebiges Programm und ein beliebiges Wort, Eingabewort, beliebige
Eingabe, überprüft, ob dieses Programm mit der Eingabe anhält oder
nicht.
Dieses Problem kann ich nicht algorithmisch entscheiden, wenn ich das
für beliebige Programme machen möchte.
Für spezielle Programmiersprachen mag das sein, aber für beliebige
Programme nicht.
Also es gibt Probleme, die kann man nicht algorithmisch entscheiden.
Und es gibt viele andere neben diesem Halteproblem, die man auch nicht
algorithmisch entscheiden kann.
Und dann will ich natürlich auch wissen, in welcher Klasse liegen die,
wie schwierig, wenn es berechenbar ist, in welcher Klasse liegt das
Ganze.
Das ist dann Berechenbarkeit, Komplexitätstheorie, hat ein bisschen
was zu tun mit Algorithm Engineering, also wie entwerfe ich
systematisch Algorithmen.
Das ist nicht Thema dieser Vorlesung, das ist eher Thema meiner
Vorlesung Effiziente Algorithmen, aber das ist ein wichtiges Thema.
Ist übrigens hier eine Domäne in Karlsruhe.
Karlsruhe ist weltweit berühmt für Algorithm Engineering.
Das sind vor allem meine Kollegen Peter Sanders und Dorothea Wagner,
die dort sehr aktiv und weltweit das Renommee haben.
Ganz kurz, Beispiel für endliche Automaten.
Also eine Waschmaschine ist ein endlicher Automat.
Oder auch das, was ich hier angegeben habe, eine Ampelsteuerung.
Schauen Sie sich das hier mal an, das ist ein Automat, der steuert die
Ampel.
Wir haben hier eine Kreuzung und Sie sehen hier Autos fahren, Sie
sehen die Ampeln, die sind mal rot, mal gelb, mal grün.
Und entsprechend haben wir hier, also jetzt den Zustand Null, in dem
wir horizontal grün haben, die Nebenstraßen haben rot.
Und dann stehen hier, da stehen Autos, die wollen gerne abbiegen.
Deswegen ist das jetzt hier umgesprungen in den Zustand.
Und das konnten die abbiegen, ist schon wieder rot, jetzt können die
wieder fahren.
Jetzt ist es so, dass andere Fahrzeuge jetzt hier, genau, die wollten
jetzt hier in der Richtung zwischendurch mal fahren, da konnten wieder
welche links abbiegen.
Also springt hier immer hin und her, zwischen den verschiedenen
Zuständen dieses Automaten und dadurch werden diese Ampeln an der
Kreuzung gesteuert.
Das ist ein endlicher Automat, der entsprechend diese
Zustandsübergänge hat und wie man sowas baut, werden wir später noch
genauer sehen.
Genauso ist ein MP3-Player ein endlicher Automat oder ein Rechner
natürlich auch.
Sprachen, gibt es auch viele Beispiele.
Ich spreche die ganze Zeit in einer natürlichen Sprache, in Deutsch.
Ich könnte auch auf Englisch umschalten.
Ach, da habe ich übrigens noch eine...
Geh mal kurz nochmal hier auf...
Wo habe ich denn jetzt das...
Da ist das Werkzeug geblieben.
Nochmal kurz hier auf meine...
auf dieses Werkzeug, da wollte ich mal kurz hier rauf gucken.
Da sehen wir also die schönen Antworten bezüglich dieser verschiedenen
Geräte.
Also die meisten haben Notebook und so weiter.
Zwei Leute haben auch Google Glasses.
Aha, interessant.
Ich habe auch welche, aber das ist irrelevant.
Also, es haben noch relativ wenige teilgenommen bisher.
Ok, ich wollte eigentlich dann auf die nächste Frage nochmal kommen.
Close Question, die mache ich jetzt zu.
Und jetzt nehmen wir mal die nächste Frage.
Wo wir gerade auf die Sprache kommen.
Ich möchte fragen, welche Vorlesungen sollten auf Englisch gehalten
werden?
Diese Vorlesung halte ich auf Deutsch.
Und ich mache einfach mal diese Frage hier auf.
Publish question and show results.
Na, wo ist es?
Da, genau.
Also, es ist immer die Diskussion, sollten wir Vorlesungen...
Was ist das jetzt?
Sollten wir Vorlesungen auf Deutsch halten oder auf Englisch?
Müssen wir mal gucken.
Also, diese offensichtlich nicht.
Nur weiterführende Vorlesungen?
Keine oder alle?
Also, ich halte meine weiterführenden Vorlesungen überwiegend auf
Englisch.
Diese halte ich in der Regel auf Deutsch.
Und es steht ja mal in der Prüfungsordnung, man kann Vorlesungen auf
Deutsch oder auf Englisch halten.
Also, das ist beides möglich.
Wir machen es auf Deutsch, weil wir sagen, jemand, der hier in
Deutschland etwas lernt, sollte auch Deutsch lernen oder Deutsch
sprechen können.
Wir haben allerdings auch einige Anforderungen, dass zum Beispiel
Studierende aus dem Ausland kommen, die meinetwegen nur ein Semester
oder ein Jahr hier verbringen wollen.
Und die sollen natürlich auch Gelegenheit haben, dann hier zu
studieren, auch wenn sie kein Deutsch können.
Und für die bieten wir dann in allen Bereichen auch englischsprachige
Vorlesungen an.
Aber das ganze Studium in der Regel ist halt nicht
englischsprachig.
Okay, das lasse ich nochmal ein bisschen laufen.
Jetzt gehe ich nochmal zurück zur Vorlesung.
Also, das war zu den natürlichen Sprachen.
Ist klar, die kennen wir alle.
Formale Sprachen.
Formale Sprachen zeichnen sich dadurch aus, dass sie einen relativ
beschränkten Regelsatz haben.
Programmiersprachen sind formale Sprachen.
C, C++, Java, Lisp, Eifel, Algol, Fortran, Snowball, zig verschiedene
Sprachen gibt es da.
Spezifikationssprachen.
Wenn Sie also nicht ein Programm schreiben wollen, sondern ein System
beschreiben wollen, dann machen Sie das mit UML, Unified Modeling
Language oder Vienna Definition Method oder was immer.
Es gibt verschiedene Spezifikationssprachen für Systeme, die gebaut
werden sollen.
Dann gibt es Anfragesprachen für Datenbanken, Simple Query Language,
oder es gibt Markup-Sprachen, um irgendwelche Dateien inhaltlich zu
strukturieren und sie zu präsentieren, zum Beispiel im Browser im
World Wide Web.
Das sind dann HTML, XML sind Markup-Sprachen.
Also Sprachen, die formal beschrieben sind, festen Regelsatz haben und
dann können wir also sehr genau sagen, was ist ein korrektes Programm
oder eine korrekte Spezifikation oder eine korrekte Anfrage oder ein
korrekt strukturiertes Dokument.
Wir müssen spezifizieren syntaktisch zulässige Struktur, also durch
die syntaktisch andersrum.
Wir wollen die zulässigen Strukturen von Sprachen genauer
spezifizieren können, das machen wir mit Grammatiken in der Regel.
Und wir wollen dann überprüfen können, ob Programme korrekt sind und
das machen wir mit Automaten.
Da haben wir ein Automat, in dem wir ein Programm eingeben können und
der Automat sagt uns, das Programm ist korrekt oder nicht.
Wenn wir ein Programm schreiben wollen, müssen wir die Regeln kennen,
nach denen wir schreiben dürfen.
Das sehen wir in der Grammatik.
Deswegen brauchen wir Grammatiken zum Schreiben und Automaten zum
Überprüfen, ob ein Programm tatsächlich korrekt ist.
Welche Bedeutung haben die insgesamt für das normale Leben?
Also für die Informatik, aber auch für andere Dinge.
Software Systems Engineering geht nicht ohne Automaten und formale
Sprachen.
Schaltwerk -Synthese braucht Automaten, um die Funktion tatsächlich zu
beschreiben.
Programmiersprachen ist klar, die muss ich geeignet beschreiben
können.
Ohne das geht es nicht.
Textverarbeitung, Data Mining auch ganz wichtig, wenn Sie Suchanfragen
machen, eine Query schreiben, im Prinzip sind das reguläre Ausdrücke,
mit denen Sie Anfragen für Systeme machen können.
Und viele andere konkrete Anwendungen, also das sind Werkzeuge, die
relativ einfach beschreibbar sind, also Automaten, insbesondere
endliche Automaten, sind relativ einfache mathematische Konstrukte.
Und deswegen kann man an denen sehr gut lernen, wie man solche Systeme
erst einmal formuliert und dann auch damit umgeht.
Ganz kurz zu den Grundlagen der formalen Sprachen, was gehört alles
dazu?
Es gehört also die Syntax dazu.
Ich muss wissen, welche Regeln gibt es, die darlegen, wie ein Satz
formuliert ist.
Also das hier ist ein korrekter Satz, nämlich eine Frage, die muss so
formuliert sein im Deutschen.
Das andere hier sind keine vollständigen Sätze, das sind nur
irgendwelche Stichworte.
Aber ich muss eben genau sagen, was ist ein Subjekt, Prädikat, Objekt
und so weiter, wie baue ich die Sätze auf im Deutschen oder eben auch
in Programmiersprache.
Die Semantik, auch ganz wichtig, sagt uns, welche Bedeutung ein
Programm hat, oder ein Konstrukt einer Sprache hat.
Also, ich muss ja wissen, was soll ein Programm eigentlich tun, welche
Funktionen sollen durch ein Programm im Rechner tatsächlich ausgeführt
werden.
Dafür brauche ich Informationen über die Semantik.
Wenn ich das nicht weiß, kann ich nicht vernünftig einen Rechner
programmieren.
Die Pragmatik gibt dann noch andere Sachen an, das sind dann mehr
subjektive Dinge, die will ich jetzt nicht weiter behandeln.
Wir werden uns im Weiteren konzentrieren auf die Syntax.
Semantik ist auch ein wichtiger Bereich.
Es gibt Semantic Web, und da geht es noch wieder um andere Themen.
Aber mit Semantik beschreibt man, hier ist es nochmal genauer
angegeben, beschreibt man etwas, um sicher zu sein, dass Programme auf
verschiedenen Rechnern alle jeweils die gleiche Funktion.
Also, wenn ich ein Programm auf verschiedenen Rechnern implementiere,
dann muss das Programm immer die gleiche Funktion tatsächlich
bewirken.
Und dazu muss ich wissen, wie Konstrukte des Programms im Rechner
interpretiert werden müssen.
Diese Vorschrift für die Interpretation der syntaktischen Komponenten
eines Programms im Rechner, das ist die Semantik.
Und die ist wichtig für Compilerbau und für die Ausführung von
Programmen.
Ansonsten hätte ich auf verschiedenen Rechnern unterschiedliche
Bedeutungen von Programmen, das darf nicht passieren.
Also, das ist die Rolle der Semantik.
Wir werden aber erstmal uns hier nur mit der Syntax beschäftigen.
So.
Und vielleicht nochmal ganz kurz eine Bemerkung.
Sie merken, dass ich ab und zu etwas raufmale auf die Folien.
Und manchmal unterstreiche ich auch nur etwas.
Und einige sagen dann, warum unterstreicht ihr das, darauf kann man
doch verzichten.
Ein wesentlicher Punkt ist, wenn die Vorlesung aufgezeichnet ist und
Sie schauen sich die wieder an, dann muss ich Ihre Aufmerksamkeit auf
den aktuell relevanten Teil der Folie lenken.
Und das mache ich dadurch, dass ich annotiere.
Unterstreichen heißt einfach, ich gehe dann auf bestimmte Bereiche.
Hier sage ich jetzt etwas zum individuellen Benutzer, da kann ich
einfach meinen Stift so rüberlaufen lassen oder ich kann es eben
unterstreichen.
Oder ich könnte auch andere Dinge hier noch machen, aber manchmal
schreibe ich auch Dinge extra noch dazu.
Aber dieses Unterstreichen hat den Effekt, dass Ihre Aufmerksamkeit
beim Betrachten der Aufzeichnung auf den richtigen Punkt gelenkt
werden soll.
Jetzt kommen wir schon zu Dingen, die was mit Notationen zu tun haben.
Auch eine gewisse Art Vereinbarungen, wie wir miteinander
kommunizieren.
Ich schreibe hier etwas auf, zum Beispiel, wenn ich ein großes A
hinschreibe, kann das ein Alphabet sein.
Kann auch ein Alphabet sein, manchmal auch ein E bezeichnen.
Was ist ein Alphabet?
Ein Alphabet wird normalerweise mit großen lateinischen Buchstaben
bezeichnet.
Und das ist einfach eine Menge, eine endliche, nicht leere Menge von
Zeichen.
Zum Beispiel lateinische Schriftzeichen, die kleinen Schriftzeichen
oder nur die Ziffern 0 bis 9 oder nur 0 und 1.
Also das wären Zeichen eines Alphabets.
Dann will ich über ein Alphabet, wir reden von formalen Sprachen, ich
möchte Wörter bilden können.
Also, ein Wort ist eine endliche Folge von Zeichen von A.
Zum Beispiel das Wort Informatik ist ein Wort über diesem Alphabet.
Da tauchen nur die kleinen Buchstaben von A bis Z drin.
Natürlich nicht alle, sondern einige.
Dieses Wort hier, 1, 2, 3 ist ein Wort über diesem Alphabet hier oben.
0 bis 9.
Und dieses Wort hier ist ein Wort, könnte ich sagen, das könnte sich
darauf beziehen, kann sich aber auch darauf beziehen.
Also 0,1 oder das sind ja was Wörter über einem Alphabet.
Eine endliche Folge von Zeichen über einem Alphabet.
Übrigens in X-Wizard werden die meistens mit Kommata dargestellt.
Da werden die nicht so aneinander geschrieben.
Das werden Sie aber noch lernen.
Und dann möchte ich wissen, wie lang ist ein Wort?
Ich möchte Aussagen machen über alle Wörter einer bestimmten Länge.
Also das Wort Informatik hat 10 Zeichen, deswegen ist der Betrag
dieses Wortes das Wort in
senkrechten Strichen also 10, das nächste Wort hat Länge 3 und das
Wort hier hat die Länge 8.
Das ist die Länge eines Wortes.
Und dann gibt es auch ein Wort, das hat die Länge 0.
Ein Wort, das die Länge 0 hat, enthält natürlich überhaupt kein
Zeichen.
Das ist das leere Wort, deswegen Lambda.
Also bei den Abkürzungen stellen Sie fest, ich habe dort immer
Abkürzungen, die mnemonisch sind, also die haben was mit der Bedeutung
zu tun.
Ich würde also nicht ein Alphabet mit Z bezeichnen, sondern ein
Alphabet mit A.
Oder eben ein Wort mit V.
Das ist eine Notationsvereinbarung, die man immer befolgen sollte,
dass Bezeichnungen von Variablen, von irgendwelchen Begriffen, von
Abkürzungen immer einen inhaltlichen Bezug haben müssen zu dem Objekt,
das beschrieben wird.
Dann habe ich halt das leere Wort hier als Lambda bezeichnet.
Im Englischen ist das leere Wort ein Empty Word und dann haben Sie
dort die Bezeichnung Epsilon für das leere Wort.
Deswegen finden Sie häufig dann Epsilon für das leere Wort.
Im Englischen, im Deutschen sagen wir Lambda für das leere Wort.
Dann möchte ich manchmal alle Wörter...
Mein Stift spinnt manchmal ein bisschen.
Diese senkrechten Striche hat er automatisch gemacht gerade eben.
Also A hoch N, das sind alle Wörter der Länge N.
Wenn ich also N gleich 3 mache und das Alphabet 0,1 nehme, dann ist A
hoch 3 die Menge der Wörter von 0,0,0 bis 1,1,1.
Also alle Kombinationen von Nullen und Einzelnen in Wörtern der Länge
3.
Wenn ich jetzt alle Wörter betrachten möchte, beliebiger Länge, dann
habe ich also im Prinzip die Vereinigung aller Wörter der Länge 0, 1,2
,3,4 und so weiter.
Also Vereinigung A hoch N, für N größer gleich 0.
Das geht mit dem leeren Wort los, dann kommt die 0, die 1, die 0,0, 0
,1 und so weiter.
Hier lexikografisch aufgeführt.
Und das bezeichnen wir als A-Stern.
Also der Stern steht immer für beliebig häufig Wiederholungen oder
auch überhaupt kein Auftreten des Objektes.
Der Stern steht dafür.
Wenn ich alle nicht leeren Wörter haben möchte, also mindestens ein
Zeichen da drin, dann steht da A+.
Das Pluszeichen so im Exponenten hier steht dafür, dass ich etwas
nicht Leeres mache, mindestens einmal.
Bei Stern muss es nicht unbedingt auftauchen, deswegen da habe ich die
0 auch mit drin, bzw.
das leere Wort mit drin, bei Plus ist das leere Wort nicht drin.
Und was ist jetzt eine Sprache?
Eine Sprache über einem Alphabet ist eine Teilmenge der Menge aller
Wörter über dem Alphabet A.
Irgendeine beliebige Teilmenge.
Also das ist hier, dieses A hoch 3 ist auch eine Sprache der Sprache
aller Wörter der Länge 3 über dem Alphabet 0,1.
Oder ich kann die Sprachen auch etwas formaler beschreiben, zum
Beispiel wie hier, die Sprache L L für Language, da habe ich die
englische Bedeutung genommen.
Language ist also die Sprache L.
W aus 0,1 Stern.
Die Anzahl der Einzelnen in W ist gerade.
Also da wäre 0,1,1,0 wäre drin oder auch 1,1 oder auch 0 wäre auch
drin.
Die Menge der Einzelnen in dem Wort ist gerade, weil überhaupt keine
Einzelnen vorkommen.
Deswegen ist natürlich dieses Wort auch in der Sprache.
Also die sind alle hier aus L.
Okay.
Das ist dann eine formale Sprache, weil ich diese Sprache gerade durch
ein endliches formales System vollständig beschrieben habe.
Ich brauche also ein Stück Papier, auf dem ich aufschreiben kann, was
diese Sprache genau ausmacht.
Dann ist es eine formale Sprache.
Es gibt auch Sprachen, die kann ich nicht durch endliche Systeme
beschreiben.
Das sind dann keine in dem Sinne formalen Sprachen.
Jetzt gibt es hier noch eine Frage.
Das ist genau der Punkt, das nicht von Relevanz ist.
Das mag sein, aber sehen Sie, da haben Sie den Begriff des
Unterstreichens eben doch nicht verstanden, weil ich unterstreiche
das, worauf ich gerade jetzt Wert lege.
Und natürlich ist das Unterstrichen danach nicht verschwunden.
Ich könnte mich darauf beschränken, darauf zu zeigen, aber es ist
einfach manchmal sinnvoller, das so zu machen.
Ich werde mich bemühen, dabei auch besser zu unterstreichen.
Das ist hier manchmal ein bisschen kriegerlich, aber sei es drum.
Wir müssten eigentlich jetzt die Fragebögen einsammeln.
Vielleicht könnten Sie das mal kurz machen.
Die vielleicht durchgeben an die Seite, dann könnten Sie die jeweils
an die Seite durchgeben, dann könnten Sie das machen.
Herr Braun, können Sie nicht auch mit einsammeln?
So, ich mache noch ganz kurz das hier noch weiter, beziehungsweise, es
macht glaube ich keinen Sinn.
Nächstes Mal kommen wir auf die Klassifizierung, da kommen wir
nächstes Mal drauf.
Genau, wann machen wir das Gewinnspiel?
Das geht jetzt noch schnell los.
Es wird jetzt eingesammelt.
Und
ich werde dann die Vorlesung hier schon mal zumachen.
Genau, da kommt noch eine Frage.
Ja, ja, ja, ja, die Bücher kommen ja gleich.
Habe ich leider zu spät angedacht, das einzusammeln.
Ich hoffe, Sie haben die alle jetzt ausgefüllt, abgegeben.
Wo sind die Zettel?
So, jetzt.
Wo ist Frau Münsche?
Können die nicht mal schneller laufen, die Leute?
So, alles da rein.
Alles hier rein.
Alles da rein.
Und jetzt.
So, wir mischen jetzt hier ganz kräftig.
Und jetzt kann einer von Ihnen was raussuchen, vielleicht am
sinnvollsten.
Das ziehe ich mal raus.