Ja, erste Vorlesung von SE2. Es ist ein bisschen
eine andere Vorlesung als die SE1-Vorlesung, die Sie kennen.
Das fängt schon bei der Vielzahl der Referenten an. Achso,
der Kollege, der nette Kollege hat mir gesagt,
ich muss hier Freeze oft drücken, sonst funktioniert es nicht.
Und da muss ich es auch noch mal drücken.
Gut, das hätten wir schon geschafft.
Also rechtsaußen in einem Bild, schon ein bisschen älter.
Das bin ich. Ich bin hier seit 91,
Professor hat einen Lehrstuhl. Erst hieß er Software-Technik.
Jetzt haben wir zwei, die relativ nah miteinander inhaltlich verbunden sind.
Deshalb mache ich jetzt mein Fachgebiet zur Verarchitektur.
Diesen Job mache ich seit vielen Jahren Halbzeit.
In der anderen Hälfte bin ich Geschäftsführer einer Firma WPS,
die Softwaretechnik und Softwarearchitektur machen.
Ist wahrscheinlich nicht so weit verliegend. Vertreten, halb und halb
, sowohl in der Geschäftsführung als auch an der Uni.
Guido Kritzan, der als Zweiter Referent mit mir diese Lehrveranstaltung machen wird.
Und den dritten Referenten, den kennen Sie natürlich,
Axel Schmolitzky, wenn er hier aufläuft, danken Sie ihm vielmals,
denn eigentlich ist er seit Beginn dieses Semesters.
Professor an der HAW. Und ich finde,
oder wir finden es aus dem Team wahnsinnig nett,
dass er gesagt hat, okay,
ich lasse euch jetzt mit der Horde netter Menschen nicht alleine,
sondern ich will da auch noch meinen Beitrag leisten,
dass wir hier diesen SE1, SE2 der Zyklus in gewohnter,
zumindest Qualität, vielleicht an nicht gewohnter Form,
hier rüberbringen.
Also das mal zur Einleitung. Insgesamt können Sie sich glücklich schätzen
oder traurig schätzen in dieser Konstellation, in dieser Form der Lehrveranstaltung,
ist das der letzte Durchgang von SE1, SE2.
Nach uns kommt nicht die Sündflut, sondern kommen Kollegen,
die den Zyklus übernehmen werden. Das aus dem Grund,
weil Ende des Wintersemesters meine Zeit an der Uni vorbei ist.
Axel ist dann auch weg und dann haben wir gesagt,
dann soll die Lehrveranstaltung jemand anders machen.
Aber jetzt für Sie noch in dieser Besetzung hier vorne als Dozenten.
Kilo Kritzer, Axel Schmolitzke und ich. Eigentlich genauso froh,
dass Axel noch mitspielt, sind wir dass Christian Späh,
der gleich hier auch selbst zur Organisation und Durchführung noch einiges erzählen wird,
dass er noch dabei ist.
Auch das war gar nicht sicher. Noch so Ende letzten
Jahres war das mehr als unsicher. Denn ohne Christian würden
Sie und wir hier sehr wenig Vernünftiges in dieser Lehrveranstaltung machen können,
weil Christian derjenige ist,
der diesen ganzen Übungsbetrieb und den Tutorenbetrieb und die Ausbildung der
Tutoren und die Organisation des Ganzen der Klausuren und des Scheinwesens,
der das alles hier macht.
Und also Christian ist auf jeden Fall noch in dieser Serie weitgehend mit dabei.
Uns hält das hier im Griff. Also können Sie mit Flug und Recht
die Qualität des Übungsbetriebs weiter erwarten, so wie Sie das gewohnt sind.
Okay, das sind Erstmal so meine ersten Worte hier.
Ich glaube, jetzt ist der Zeitpunkt,
dass ich übergebe an Christian, der also erzählt,
was so in diesem Semester organisatorisch und von den Übungen auf sie zukommt.
Test, Test. Okay, auch von mir ein herzliches Willkommen.
Herzlich willkommen war schon so freundlich, mich vorzustellen.
Ich möchte mal zu der Folie zurückspringen. Wenn ihr irgendein Anliegen habt,
was die Organisation der Übungen betrifft, dann gibt es eine neue E-Mail-Adresse dafür.
Die heißt jetzt S-E- orga at informatic uni-hamburg.de. Also ein alias,
der ist dazwischen geschaltet ist,
bitte nicht mehr direkt an mich schreiben,
denn Mitte des Jahres bekomme ich Zwillinge,
beziehungsweise meine Frau schenkt mir welche und ich werde ab irgendeinem
Zeitpunkt X ja nicht mehr hier sein und hinter dieser E-Mail-Aralias verstecken sich denn die anderen Vimis,
die euch dann weiterhelfen werden.
Die gesamte Veranstaltung wird quasi wieder gehostet über das Komsi.
Da seht ihr den Namen des Komsi-Raums, SE2-2 kommen sie, Soße
2014. Bitte kontrolliert noch einmal die E-Mail-Adresse, mit der ihr
euren Account bestückt habt, in wen kommen sie.
Wenn ich E-Mails über den Komsi-Raum scheibe,
wenn da halte ich immer so 10 bis 20 Rückläufer,
weil da eine falsche E-Mail-Adresse drin ist.
Also meine bitte an euch kontrolliert das noch einmal.
Ja, Videoaufzeichnung wird es wieder geben, kennt ihr aus SE1.
Es gibt dabei eine kleine Änderung
Wir werden es nicht mehr als Livestream anbieten,
sondern es wird jetzt nur eine Videoaufzeichnung sein und diese könnt
ihr dann wie gewohnt über Lecture to Go abrufen.
Denkt da dran, das,
was ihr hier murmelt und von euch gebt,
das kann eventuell auch über die Mikrofone hier aufgenommen sein und
dann für alle anderen weltweit verfügbar, über die Electro-to-Go-Plattformen abhörbar sein.
Und ihr denkt aber auch daran, dass ihr euch nicht
darauf verlassen könnt, dass wir das Video korrekt aufgenommen wird.
Das ist Technik, die hier benutzt wird. Ihr seid Informatiker,
ihr wisst das, da kann immer irgendetwas schiefgehen.
Also verlasst euch nicht darauf, dass die Vorlesung innerhalb einer
bestimmten Zeit zur Verfügung steht oder dass ihr überhaupt zur Verfügung zur Verfügung steht.
Die Wahrscheinlichkeit, dass ihr hoch, dass es klappt,
aber verlasst euch nicht darauf.
Tja, so ist SC1, SC2 formal aufgebaut.
Links die OPM, drei LP-Vorlesung. Rechts die drei LP-Übungen
zusammen wechseln
Leistungspunkte, die ihr hier erwerben könnt? Axel Latz ist immer angewohnt.
Einmal so ein bisschen Mitmachstimmung aufzubringen und uns interessiert das natürlich auch,
wer hier so sitzt und wo hier so die Blöcke längs verläufen.
Welche Gruppen sich gebildet haben. Wer seid ihr denn hier?
Mach doch mal deutlich jetzt die Finger auch, wer ist Informatiker?
Okay, gar nicht so viele wie gedacht und relativ gleich verteilt.
Aber so der rechte Vater war nur so ein Vereinzelner.
Okay, wer ist denn hier Wirtschaftsinformatiker oder Wirtschaftsinformatikerin?
Okay, auch etwas weniger als Bewachtung finde ich beachtlich,
dass sie ja relativ weit vorne sitzt.
Also ihr kapselt euch gar nicht so weit nach hinten ab.
Ich selbst bin auch für das Informatiker und finde es immer etwas schade,
dass Wirtschaftsinformatiker bei den SE1 und SE2-Klausuren relativ schlecht abschneiden.
So die Durchschnittsnote. Vielleicht schafft ihr das ja mal ein
bisschen nach oben zu ziehen. Wer ist denn hier Mehramtsstudierender,
egal ob berufliches Lehramt oder Gymnasium, okay,
der hat sich so einen Block gebildet.
Einer ist da oben alleine. Auch noch einer,
ja, gar nicht so viel wie gedacht.
Also Lärm da hatten wir jetzt eigentlich auch immer relativ viele,
so zwischen 20, ich glaube 20 waren es insgesamt.
Physik? Ja, alle da hinten. Ihr seid unsere
Leistungsträger. Wenn wir euch nicht hätten bei der Klausur.
Also nehmt das als Ansporn, die Physiker schaffen immer so
einen Durchschnitt von... Irgendwas zwischen 1,7 und 2,1. Zur Durchschnittsnote
. Das ist beachtlich. Mathematiker. Eine, zwei,
drei, ich war auch ganz vereinzelt. Okay,
da lohnt es sich fast gar keine Durchschnittsnote zu bilden.
Die Mathematiker, die schwanken immer relativ. Die waren mal
eine Zeit lang ziemlich gut mit den Physikern die können immer
auf einem Treppchen und jetzt war das immer so ein Auf und Ab bei euch.
SSI. Vielleicht studiere ich gar nicht, den wir selber hier ausrichten.
Ja, auch relativ viele. Fast so viele wie Wirtschaftsinformatiker.
Strengt euch doch auch ein bisschen mehr an weiter Klatschnur.
NCI. Ja, wunderbar. Okay, so ein paar Blöckchen,
ein paar Grüppchen. Mit euch sind wir auch immer sehr zufrieden.
Wunderbar. Swiss? Noch noch relativ viele. Und das
überlebt haben. Okay, wunderbar. Wen habe ich denn
so vergessen? Mir wurde bisher nicht aufgerufen. Briana,
was studierst du? Chemie. Ja, im Chemie-Hörsaal.
Bist du denn richtig hier? Okay, wunderbar.
Dann haben wir so einen kleinen Überblick hier über euch.
Wer dabei ist
SE2, könnt ihr euch vorstellen, wenn da eine Zweiterin ist,
dann gab es irgendetwas, was davor war,
was eins hieß, SE1. Das sind so die Inhalte,
die wir euch versucht haben, ein SE1 beizubringen.
Ich gehe sie jetzt nicht alle durch, aber auf den bauen wir natürlich auf.
Also wir erwarten, dass ihr das parat habt.
Und wir wissen, jetzt war vorlesungsfreie Zeit,
80 Prozent von euch haben 80 Prozent wieder vergessen.
Von 20 Prozent haben mehr vergessen.
Bitte wiederholt das nochmal. Schaut das gleich nochmal an.
Geht das Skript noch einmal durch, in dem SE2 kommen.
Sie findet ja zum Beispiel die Kernbegriffe nochmal auf neuen Seiten
zusammengefasst, die wir in den Übungen hatten.
Höhnt euch nochmal auf den Stand, damit ihr gut in die Übung geht. Und am besten,
bevor ihr in eure erste Übung reingeht,
denn da werden wir gleich anfangen,
mit euch wieder darüber zu diskutieren, was ist ein Konstrukt da,
zeigt mir doch mal die Methode, was ist die Signatur,
Parameter vormal,
aktueller,
alles,
was wir da hatten
Werden wir gleich wieder sofort in die Waagschale werfen und gucken,
ob ihr damit halten könnt.
Einen Überblick über die Vorlesung. Ich werde das jetzt nicht
alles vorgreifen und einzeln durchgehen. Ich bin ganz froh,
dass wir es seit mehreren Jahren jetzt geschafft haben,
zumindest die linke und rechte Seite synchron zu halten.
Links ist die Vorlesung, rechts sind die Inhalte der Übungen.
Ihr werdet bei den Übungen jetzt zum Glück kein Thema mehr finden,
was in den Übungen behandelt wird, bevor es in der Vorlesung überhaupt drankam.
Es gab Zeiten, da war das etwas anders.
Also zum Beispiel Polymorphie und Typ Hierarchie in Vorlesungswoche 3,
rüberspringt zur Übung, Subti-Polymorphie und Typ
Pürechien kommt dann auch in der Übung dran. Wunderbar. Was
ihr dann rechts sehen könnt bei der Übung sind zwei Bereiche.
Einmal etwas Geldliches. Das ist unsere Laborphase 1. Dieser Übungsbetrieb
wird so ablaufen, wie ihr das aus SE1 kennt.
Fünf Wochen, fünf Übungswochen, jede Woche einen Aufgabenblatt,
das ihr bearbeiten müsst
Zu zweit am Rechner und abnehmen lassen müsst. Die schwarze
Linie trennt dann die Laborphase 2. Und die wird etwas anders
ablaufen mit zweiwöchigen Aufgabenblättern. Dazu sage ich gleich noch was.
Worauf ich jetzt noch hinweisen möchte, ist zum einen das.
Wir müssen mit drei Feiertagen zurechtkommen. Diese Feiertage sind für alle
da. Das findet keine Übung statt, kein Übungstermin.
Trotzdem müssen natürlich die Übungen von euch bearbeitet werden.
Also wenn ihr an einem Freitag, dem 18. Montag oder Donnerstag
dabei seid, an diesen Tagen finden keine Übungen statt.
Ihr müsst aber trotzdem das Aufgabenblatt in dieser Woche bearbeiten.
Das könnt ihr entweder dadurch machen, dass ihr einen anderen Termin besucht.
Da habt ihr dann freie Auswahl. Dann dürft ihr
ausnahmsweise in jeden anderen Übungstermin in dieser Woche rein,
um das dort noch der betreuten Bedingungen zu machen.
Oder aber ihr bereitet das selber zu Hause nach vor
und lasst es dann in der darauffolgenden Woche abnehmen.
Es gibt noch eine Besonderheit, am 29.05.,
das ist auch wieder ein Feiertag, Christi Himmelfahrt.
Das ist aber quasi kein Ausfall,
sondern eigentlich ist es immer so, dass es Donnerstag,
unser erster Übungssache in einer Woche ist.
Aber wir nutzen diesen Ausfall dazu. Alle,
die am Donnerstag sind, nach hinten zu verlegen.
Dann ist nicht mehr Donnerstag unser erster Tag,
sondern das Blatt kommt dann offiziell am Freitag aus.
Und Donnerstag ist dann offiziell unser letzter Tag einer Übungswoche.
Also da verlieren wir nicht einen Übungstermin, der dann ausfällt.
Gut, noch ein bisschen was zu den einzelnen Phasen.
Woche 1 plus 5, Laborphase 1,
habe ich gerade eben schon alles gesagt.
Bis auf, das ist ein Programmierdiktat geben wird.
Dieses Programmierdiktat muss von euch bestanden werden.
Genauso wie die gesamte Laborphase 1, damit ihr in die
Laborphase 2 starten könnt.
Zum Programmierdiktat sage ich gleich nochmal was
Was? Woche 6 bis 13, acht Wochen lang haben wir denn Laborphase 2.
Auch wieder drei Stunden Präsenzbetrieb, in den Rechnerräumen unten im RZ.
Wirklich Präsenzbetrieb. Wir erwarten also, dass ihr wirklich
vor Ort seid und die Aufgaben vor Ort löst.
Ihr kriegt 14-tägige Übungsblätter und die arbeitet dann in Vierer-Teams.
Nicht mehr zu zweit am Rechner, sondern in Vierer-Teams.
Wenn das nicht glatt aufzuteilen ist in einem Übungsbetrieb,
dann machen wir auch ausnahmsweise mal Dreier- und Fünfer-Teams.
Aber das sind die Ausnahmen. Ihr seid selber in der Verantwortung,
am Ende der Laborphase 1, drei Kommilitonen gefunden zu haben,
die ihr gut riechen könnt.
Mit denen ihr also euch vorstellen könnt,
in Lila Borphase 2 zu starten, ein Vierer-Team zu bilden,
das dann konstant alle Aufgaben weiter bearbeitet.
Denkt daran, dass ihr dieses Team findet.
Ihr kriegt nicht mehr jede Woche verschiedenste Ausgangssysteme,
an denen ihr denn arbeiten sollt
Wie wir das bei Blue Jay kennengelernt habt,
sondern wir bleiben jetzt bei einem größeren System, das wir vor euch gebaut haben.
Die sogenannte Mediathek, ein Mediathekar kann da drin Medien ausleihen,
wie CDs und DVDs, verwalten und zurücknehmen.
Und da fehlt noch so einiges, einiges funktioniert noch nicht.
Und das sollt ihr im Übungsbetrieb dann immer einbauen.
Die Aufgaben bauen also aufeinander auf. Denkt also daran,
dass ihr a euer Netzlaufwerk verwendet, wenn die ganzen Daten bin,
auch wenn ihr an einem anderen Rechner angemeldet seid,
wieder verfügbar zu haben.
B, dass ihr den Quelltext, den ihr denn geschrieben
habt in einer Übung, auch immer wieder exportiert.
Dazu bittet ihr Clips eine ganz einfache Möglichkeit.
Das zeigen wir euch auch, aber exportiert es als ZIP,
dass euer Pair-Programming-Partner das dann auch in der nächsten Woche zur Verfügung hat.
Falls ihr dann mal nicht dabei seid.
Zweite Laborphase haben wir auch nochmal einen Aufgaben dazu, Mediathek.
Und dann kommt noch ein zweites System dazu.
Unser Kino-Ticket-System für die Beta 7 bis
Gut, range denn auch noch arbeiten werdet. Ja,
das Programmierdiktat. In der zweiten Woche werden wir das durchführen,
während der ganz normalen Übungszeiten. Also es ist kein Extra-Termin,
ihr müsst einfach nur da sein. Woher das Diktat nicht besteht,
hat die Möglichkeit in der vierten Woche, das nochmal zu wiederholen.
Aber einer dieser beiden, Zitate, Diktate, muss bestanden werden.
Das ist die Voraussetzung für Laborphase 2. Wenn ihr an einem
der Termine nicht teilnehmen konntet und nicht bestanden habt,
dann müsst ihr einen Attest der Christian Zoller,
der leitet dieses Programmierdiktat, einreichen.
Somit wir dann akzeptieren, dass wir euch noch eine dritte Möglichkeit geben.
Was ist das? Es geht um Java,
ihr sollt Java-Code schreiben, ihr schreibt das nicht am Rechner,
ihr schreibt es handschriftlich auf einem Blatt Papier,
das wir euch stellen.
Ihr müsst nur einen Kugelschreiber,
irgendein permanent schreibenden Stift
dabei haben
Ein Beispiel. Ich sage, weklariere eine Variante namens X von Typ End.
Das ist die Diktatanweisung. Ihr müsst das in Java-Quelltext übersetzen
und auf dem Blatt Papier denn in X Simikola hinschreiben.
Über ein anderes Beispiel jetzt mal schnell ausgedacht, etwas länger.
Schreibt die Deklaration einer Klassenkonstanten vom Cheep End mit den Namen X auf.
Dann müsst ihr das umsetzen können im Kopf in die Java-Sprache
und hinschreiben. Indisch-Version von Non-Native German Speaker. Please contact
Christian Zoller at Zoller at Informatik.only Hamburg.de von Appointment.
Remake and extra programmiert diktat for you.
Nein, ein Satz.
Nochmal so in Erinnerung
Wir erwarten drei Präsenzstunden in den Übungen.
Ihr habt hier zwei Stunden lang Vorlesung. Wir erwarten
mindestens noch drei Stunden Vor- und Nachbereitung der ganzen Inhalte.
Sind das ja auf acht Stunden pro Woche in der Vorlesungszeit kommt.
Das sehen wir als Minimum an. Das ist so das,
womit ein Durchschnittsstudent, sagen wir mal,
eine gute Note erreicht und in den Übungen einigermaßen mitkommt.
Einige brauchen weniger, sicherlich, aber einige von euch werden auch mehr Zeit brauchen.
Und das werden wir in den Übungen dann wieder merken und
dann werden wir euch auch darauf ansprechen. Also bitte,
nehmt euch auch für diese Veranstaltung, auch wenn ihr das Gefühl habt,
ach, das mache ich mit links,
Watte oder irgendwas anderes ist viel wichtiger,
da brauche ich viel mehr Zeit, ausreichend Zeit.
Denn der Stoffumfang ist trotzdem ganz schön hoch.
Die SE2-Übungswoche. Eigentlich gab es immer sechs Termine,
der Grüne, der jetzt dann noch auf belinkt.
Das ist jetzt unser siebter Termin, den wir aufgrund der Größe hier noch eingerichtet haben.
Wir haben jetzt ja mittlerweile ungefähr 400 Teilnehmer bei SE2.
Die roten Termine haben augenblicklich keinen freien Platz mehr.
Die sind voll. Denn ich habe zurzeit auch keinen Betreuer,
den ich noch irgendwie da hinziehen kann.
Ich bin im Augenblick noch auf der Suche in den vorherigen SE2-Durchgängen,
ob noch irgendeiner dabei ist, der dort einspielen kann.
Aber zurzeit habe ich noch keinen. Das heißt,
wenn ihr mich anschreibt und dorthin wollt, kann ich euch
auch keinen Platz zusagen. Ich werde euch nur darauf hinweisen,
versucht in einem der anderen Plätze,
der landen andere übrigens, die mit irgendwie unterzukommen.
Grün ist der Freitag, weil dort zumindest heute Morgen 11
Uhr noch 20 Plätze frei waren.
Und laut Silke Peters aus dem Studienbüro ist das eine Zeitspanne,
wo ziemlich viele von euch Zeit haben sollten.
Wenn ihr schon in einem anderen Termin drin seid und der
Freitag Würde bei euch gut passen, dann meldet euch bitte um.
Dann nehmt lieber den Freitag, wenn der gut passt,
als irgendeinen anderen Termin, der schon voll ist.
Ihr habt noch Zeit, bis zum 10. April diese Ummeldung
ins Dinge selber zu machen. Die gelben sind natürlich übrigens Heizzoll.
Ich sehe auch gerade Donnerstagvormittag, steht 20 freie Plätze.
Da habe ich mich vertan. Das sind, glaube ich
, nur zwei. Die Null ist zu viel.
Deswegen gelb. Also versucht euch selber umzumelden.
Falls das bis zum Ende der Woche für euch nicht erfolgreich
ist und ihr unbedingt in einen bestimmten Termin rein müsst,
dann schreibt mir eine E-Mail, die dort unten steht,
se-orga.
Ich werde nachhaken. Wer Vollzeitstudent ist und kein Teilzeitstudium beantragt
hat. Und als Begründung bringt, ich muss aber arbeiten
Das kann ich erst mal nicht so einfach gelten lassen.
Denn ihr habt euch als Vollzeitstudent eingeschrieben,
dann müssen wir hier auch erwarten, dass ihr Vollzeit studiert.
Gut, das war so mein ganzer Orga-Kram.
Es sind jetzt Fragen. Wie gut, bitte, bitte ersten
Format ab. Ich bin, worauf die Umweltpartner ist,
muss ich erst mal noch eine hohe Zahlengruppe machen, der nicht.
Zum Glück ist es so, diese Woche sind ja nur Donnerstag und Freitag Termine.
Und die sind ja noch frei. Das heißt,
wer da unbedingt hin will, kann sich anmelden.
Das heißt, wir haben diese Woche... Nochmal die Frage dann.
Ich habe dann vor die Umformat. Ja, okay,
also die Frage ist jetzt, du bist an einem Freitag
und du willst in einen anderen Übungstermin rein und wie läuft das sozusagen diese Woche?
Denn du kannst freitags nicht. Dann schreibst du mir
eine E-Mail,
dass dem so ist
Schreib es mir möglichst zwei, nicht nur einen Vorschlag,
in welcher anderen Berührungstermine du rein möchtest.
Und ich schaue, ob das möglich ist.
Also ich werde halt intern wieder eine Excel-Tabelle führen,
wo ich möchte von da nach da wechseln.
Und wenn jemand wieder in die andere Richtung wechseln will,
dann addiert sich das halt zu null auf in meiner ganzen Spalte,
sodass das denn möglich ist.
Aber das erste Ziel sollte sein, dass wir das alles in Stine abbilden können.
Und gerade der Dienstagmittag sind im Augenblick 63 Plätze, 64 sind bereits zugelassen.
Ich habe schon sechs E-Mails, die da rein wollen und
diese sechs E-Mails werde ich heute Nachmittag erstmal damit beantworten.
Ich kann euch da nicht reinlassen. Denn die ist im
Augenblick absolut voll und ich habe im Augenblick keinen weiteren,
der dort hingehen kann.
Gut, keine weiteren Fragen. Alles Weitere klärt sich dann
in den Übungen vor Ort.
Vielen Dank.
Dann übergebe ich wieder
Hans Total, so, jetzt bin ich wieder auf Sendung. Bevor wir mit den Inhalten loslegen,
noch haben, in Anschluss an das, was Christian gesagt hat,
vielleicht noch so ein paar Worte, ist ja, wie gesagt,
für mich die letzte Runde, Herr Setz 2 hier,
haben, weil Axel sie weitestgehend die Lehrveranstaltung gemacht hat,
darf ich ja ruhig mit etwas Abstand da drauf schauen und sagen,
Sie haben ein ziemliches Glück,
dass hier hier die Lehrveranstaltung mitmachen können.
Das weiß ich deshalb, es gibt bundesweit alle zwei Jahre
eine die heißt S-E-U-H. Software, Engineering am Unterricht der Hochschulen.
So. Und Axel und ich sind recht regelmäßig auf dieser Konferenz,
weil wir dort immer Kolleginnen und Kollegen treffen, mit ihnen reden,
die auch versuchen, Softwaretechnik oder Software Engineering und das Volk zu bringen.
Und ich bin sehr stolz, dass ich sagen kann,
hier vor Ihnen,
diese Lehrveranstaltung in Ihrer Form auch mit diesen Übungsgruppen der Organisation,
praktisch alle Kolleginnen und Kollegen im deutschsprachigen Raum,
beneiden uns darum, dass wir so eine Lehrveranstaltung hier haben.
Und dass Sie so eine Lehrveranstaltung hier haben. Also insofern
genießen Sie das, dass Sie das hier haben können,
auch mit dieser Betreuung. Ich will gar nicht sagen,
wie viel Arbeit das kostet,
beispielsweise für 400 studierende Übungsgruppen zu organisieren,
zu betreuen und vernünftig durchzuführen,
die Übungsgruppe
Gruppenleitungen vorzubereiten. Das ist schon was Besonderes.
Nur so als einen kleinen Blick, was das bedeutet.
Ich habe die Unterschriften unter die letzte Nachholklausur gesetzt.
Die Unterschriften unter die letzte Nachholklausur. Das Unterschreiben der Nachholklausuren
hat mich eine Stunde gekostet. Nur Unterschriften setzen.
Können Sie sich vorstellen, wie lange das dauert,
diese Klausuren zu korrigieren? Okay. Mobert,
so als Hinweis, dass Sie hier wirklich einen Service haben,
den wir so über 15 Jahre entwickelt haben und an sich
auch sehr froh sind, dass wir das machen können.
Sie haben eine Frage, bitte. Wie ist die ältere Stunde
, oder? Bitte? Wie die Klausur aufgebaut ist.
Das ist auch die SE1. Die ist in der Form
so aufgebaut wie die SE1-Klausur. Es sind ein paar mehr
konzeptionelle Fragen
Was daran liegt, und da komme ich gleich drauf,
dass wir in SE2 ein paar zusätzliche Themen reinbringen.
So, und damit sind wir, danke, dass Sie mir
das Stichwort gegeben haben. Wir sind also jetzt so zum Übergang,
zum ersten inhaltlichen Teil von SE2,
der auch so ein bisschen schon den Akzent setzen soll,
was in SE2 zu den Konstruktionsen zu den Programmierthemen dazukommt.
Ich blättere nochmal zurück auf das, was Christian vorgelegt hat.
Ich will das jetzt nicht im Einzelnen hier durchgehen,
weil das erleben Sie ja oder können Sie nachlesen.
Die Folien gibt es wie immer im Kommen.
Natürlich wird es am Anfang nach den ersten beiden Vorlesungen,
die so eine Einstimmung geben, wieder eine Reihe von Konstruktionsthemen geben,
die in bewährte Form hier auch von Axel Schmolitzky vorgetragen werden.
Wenn das Thema Programmieren in Java ist ja noch lange nicht abgeschlossen,
jetzt kommen eigentlich die, würde ich sagen,
so als Softwaretechniker mit vielen Jahren Borussia Farm.
Jetzt kommen die spannenden Themen. Diese Konstruktionsthemen sind auch für Sie spannend,
weil diejenigen von Ihnen, die sagen, naja, so programmieren,
das habe ich schon in der Schule oder neben der Schule gelernt,
das kann ich ganz gut.
Was jetzt kommt, beispielsweise das Thema Vererbung, was wir
ja ganz rausgelassen haben, das ist schon noch eine deutliche Hürde.
Also die Programmier- und Konstruktionsthemen, die in diesem Semester kommt,
sind schon anspruchsvoll. Deshalb, was Christian gesagt hat,
auch wenn Sie meinen, dass mit dem Programmieren läuft schon ganz gut,
nehmen Sie sich Zeit,
arbeiten Sie das gründlich auf.
Das ist das eine
Gibt es die? Damit nicht genug, wir haben einige Themen
bewusst hier reingenommen, die einen ganzen Schritt weitergehen als Programmierung.
Wir werden auch zum ersten Mal etwas mehr erzählen,
wie entwirft man Programme. Das ist natürlich, wir haben früher,
in den früheren Jahren dieser Lehrveranstaltung sehr viel mehr von diesen Themen gehabt,
aber wir haben dann gemerkt, das ist so etwas schwierig.
Es ist schwierig über den Entwurf großer Softwaresysteme vor Leuten zu reden,
die, sagen wir mal, an guten Tagen so dreieinhalb Klassen zusammen programmieren.
Das soll jetzt nicht gegen sie sein, sondern sie fangen ja gerade an.
Keiner von uns als Dozent kann erwarten, dass sie sich
mit Softwaresystemen von anderthalb, zweieinhalbtausend Klassen länger rumgeschlagen haben.
Aber über dieses Format reden wir. Wie kommt man zu
solchen Systemen
Wie entwirft man sie, auf was muss man achten?
Und da kommen hier einige Themen, beispielsweise,
was sie oben finden, Strukturierung von Anwendungssystemen.
Das ist so ein Thema. Dass sich genau damit beschäftigt,
wie kommt man denn zu größeren Softwareeinheiten? Es gibt Themen,
die ganz wichtig sind für jede berufliche Praxis in der Informatik oder Softwareentwicklung.
Das, was sie davor sehen, objektorientierte Analyse und Modellierung.
Also normalerweise gehe ich ja als Softwareentwickler, wenn ich irgendwo arbeite,
nicht raus. Und dann kommt eine Anwendung oder eine Kundin
und legt mir so eine Übungsaufgabenbeschreibung hin,
wie sie das jede Woche kennen und sagen,
sag zu mir, programmier das mal.
Normalerweise sieht das ja anders aus. Sie gehen irgendwo in
eine Firma und da heißt es,
wir sind hier eine Versicherung,
wir wollen einen neuen Versicherungstarif für Studierende wollen
Wollen wir bei uns in der Versicherung konzipieren,
den wollen wir auch verkaufen, damit wir den verkaufen und ausführen können.
Dann brauchen wir eine IT-Unterstützung, baut uns mal eine solche IT-Unterstützung.
Also wie kommt man von so einer fachlichen Aussage dazu,
dass sie irgendwann Klassen in Java programmieren?
Das sind ja die eigentlich spannenden Fragen,
aber wir wissen, da können wir in diesem Semester,
wo relativ viel von vorne hoffentlich verständlich erzählen und können nicht sagen,
überlegt mal, das war doch so und so und das habt ihr sonst so gemacht.
Also trotzdem meinen wir, dass eine Reihe von Themen konzeptionelle
Art über Entwurf von Software-Systemen in die ersten zwei Semester reinpacken sollten,
die dann weitergehenden Themen, wie geht man in einem Projekt wirklich vor?
Was macht man mit sehr großen Systemen? Das kommt in
Lehrveranstaltungen, die wir dann danach Es gibt das Softwareentwicklungspraktikum.
Empfehlen wir im Anschluss hier diese Lehrveranstaltung, wo es darum geht,
wie kann ich wirklich mal im Team von einer Anforderung,
die mir jemand stellt, bis zu einem lauffähigen kleinen Software-System kommen.
Also sowas gibt es hier im weiteren Angebot,
aber wir wollen zunächst mal an allerersten Überblick geben.
So, das ist also schon so ein Blick nach vorne.
Wollte ich hier an den Anfang stellen,
damit sie sich darauf einstellen, SA2 ist die Fortsetzung von SA1,
aber es kommen ein paar neue Dinge,
die auch in einer etwas anderen Form dargebracht werden,
als das, was wir bis jetzt gewohnt sind.
Also wenn ich beispielsweise hier demnächst erzählen soll über objektorientierte Analyse und Modellierung,
kann ich natürlich hier nichts live programmieren und vorführen,
weil das passt ja irgendwie dann nicht zusammen.
Okay, so
Jetzt sind wir. Hier,
ich habe noch so eine, in etwa eine Dreiviertelstunde.
Und das sind Sachen, die finden sie im Skript.
Hier vielleicht noch auch, ohne dass ich im Einzelnen darauf eingehe.
Aber für sie, damit sie wissen, weshalb wir das empfehlen.
Somit SE1-Themen konnte man, konnten sie weitestgehend mit
dem Skript und dem Vorspann in den Übungsaufgaben zurechtkommen.
Viele von ihnen haben sie auch anhand dieser Unterlagen vorbereitet und das war auch okay.
Für Softwareentwicklung mit Java wirklich in den Griff zu bekommen,
reichen die Unterlagen von SE1 und SE2 nicht aus.
Deshalb empfehlen wir ihnen und da gucken wir jedes Jahr drauf,
empfehlen wir ihnen weiter weiterführende Literatur auf den verschiedenen Ebenen.
Ich will jetzt nicht auf jedes einzelne Buch eingehen,
wenn Sie Fragen haben, gerne an einen der Dozenten.
Wir haben uns ja schon Gedanken gemacht, was wir auswählen
und schauen auch immer, gibt es eine neue Auflage davon?
Hier erstmal die Grundlagen, Programmierung in Java.
Mehr zu Java bis hin zu Büchern, die sich
mit Java als Programmiersprache in ihrer Definition und Konstruktion befassen.
Wenn man wirklich bestimmte Detailfragen klären will, kommt man oft
ohne solche Bücher und Nachschlagen in solchen Büchern nicht aus.
Ich denke, sie sind alle in der Bibliothek vorhanden,
das eine oder andere Buch, wenn sie sich auch anschaffen wollen.
Nur, dass sie wissen, wir machen Ihnen Vorschläge,
wie sie sich in Java intensiver einarbeiten können
Aber Java ist natürlich nicht Softwareentwicklung, ist natürlich nicht
die Welt. Sie studieren, zwar nicht im Hauptfarbe,
sie studieren hier in der Informatik. Da gibt es Begriffe,
die um die Programmierung bis an den Rand der Informatik gehen.
Da muss man sich auch informieren, was da gemeint ist.
Also insofern gibt es hier zwei Hinweise für Handbücher,
wo sie die anderen Fachbegriffe der Informatik nachschlagen, in einer umfangreicheren oder in einer Knappenform.
Wir verwenden hier und in den Übungen auch als Darstellungsmittel,
die BML, BML werden sie schon im letzten Semester gehört haben,
kann man sich drüber streiten, von morgens bis abends,
wie gut dieses Darstellungsmittel ist oder wie schlecht.
Das ist für mich kein Diskussionspunkt, obwohl ich da gerne
darüber diskutiere. Was wir ihnen vermitteln wollen, ist,
wenn sie ernsthaft In der Informatik sich mit Modellierung und Darstellung auseinandersetzen,
kommen Sie an der UML nicht vorbei.
Punkt. Deshalb müssen Sie sich das irgendwann,
die verschiedenen Diagrammtypen und was das bedeutet, müssen Sie sich das reinziehen.
Und dann ist es immer ganz gut, wenn man dazu brauchbares Lehrbuch hat.
Weiterführend, jenseits der Programmierung gibt es sehr viel zur Entwürfe,
Konstruktion, sehr viel Gutes, noch viel mehr Fragwürdiges.
Wir haben eben hier drei Sachen vorgestellt. Das,
was wir selbst gemacht haben, zum Schluss aber auch ein sehr,
sehr gutes Buch. Da kommt auch demnächst in ein,
zwei Monaten eine neue Version raus über Programmiersprachen.
Wie sind die allgemein gebaut? Welche Merkmale haben Sie?
Nur so als Hinweis. Okay, das zur Literatur.
Wir nähern uns den Inhalten
. Das Thema der zweiten Hälfte, dieser Lehrveranstaltung wird es sein,
im Wesentlichen, was bedeutet Abstraktion und was bedeuten Modelle in der Softwareentwicklung.
Für mich eigentlich die zentrale Frage, weil das,
was in unserer Arbeit sowohl in der Wissenschaft als auch in der Praxis
eigentlich den kleinsten Anteil gedanklichen Anteil einnimmt, ist das Programmieren selbst.
Ab irgendeiner Stufe wird jeder ihr Projektleiter, ihr Manager,
wer auch immer, wird von ihnen erwarten,
dass wie sie lesen und schreiben können, dass sie programmieren können.
Gut, aber deshalb machen sie ihren Job nicht.
Sie werden ihren Job machen, weil sie mit diesem Programmieren
als Handwerkszeug irgendetwas machen sollen und wie sie dazu kommen, irgendetwas zu machen.
Wer soll hier ein bisschen drüber gesprochen werden, weil das,
was als Idee dahintersteht, ist, dass man Modelle bildet.
So. Damit sind wir so an den ersten zwei Bausteinen angekommen.
Objektorientierte Programmierung. Das kennen Sie aus SR1. Das wird auch
weiter hier Thema sein. Objektorientierte Modellierung. Da werde ich
jetzt ein bisschen zu erzählen. Das kommt ein klein bisschen
auch in der Lehrveranstaltung. Das wird dann immer wichtiger.
Aber damit ist natürlich noch nicht alles gesagt.
Wie entwerfe ich Programme ein Thema, was Sie bis jetzt
eigentlich kaum hatten? Wenn Sie das nicht wissen,
wissen Sie nicht, wann Sie anfangen sollen,
was zu programmieren
Da werden Sie in diesem Semester mehr zu hören.
Pfff. Ciao. Wenn wir jetzt da so drauf schauen,
was soll das Ganze, dann finde ich,
Split hat Axel rausgesucht, das zeigt eigentlich ganz gut,
die Situation, in der wir sind.
Also, wir können sagen, wir haben bis jetzt hier gemeinsam mit Ihnen durchexerziert,
wie stellt man einen Bauplan für ein ablaufendes Programm zusammen?
Das könnte man auch so vergleichen mit dem Bauplan für eine Maschine. Ich fange ja eigentlich nicht an,
wenn ich einen Maschinenbau tätig bin,
fange ich ja nicht an und mache einfach mal so die Kisten
auf von dem Schrauben raus und irgendwelche Muttern und Wellen oder was,
sondern Ich arbeite auf der Basis eines Bauplans und es ist natürlich ganz gut,
wenn man das selbst konstruktiv machen will,
dass man Baupläne zeichnen kann.
Und hinterher anhand dieses Bauplans entsteht dann eine solche Maschine.
Ganz wichtig und an diesem Beispiel können Sie sich das
vielleicht oder an dem Bild auch klar machen.
Ich kann aus den einzelnen Schrauben und Muttern und Wellen und Getriebe
teilen, kann ich etwas zusammenbauen,
was dem Bauplan entspricht und was wie so eine Maschine aussieht.
Aber zu was das Ding gut ist,
was die Macht ist damit ja noch nicht festgelegt.
Das heißt, ich kann immer sagen, das ist korrekt zusammengeschraubt.
Das sollte auch so aussehen und der Rest interessiert mich nicht.
Das sind so die Leute, die programmieren,
weil sie gerne programmieren.
Hauptsache,
es läuft irgendwas
Wozu das läuft und ob das irgendwas Sinnvolles ist.
Die Frage, interessiert sie nicht so sehr?
Wir vertreten hier ja einen anderen Ansatz in der Softwareentwicklung.
Wir versuchen ihn so als einen Kernsatz beizubringen. Ein Programm
als solches macht keinen Sinn. Erst wenn ich weiß,
wozu es gut sein soll und wenn es das auch tut,
Hexo ist cool von soll, dann ist das ein gutes Programm.
Und dann rede ich über ein Software-System oder ein Stück Software
, was sinnvoll ist. Ja. Gut,
ich denke, es ist so klar an dem Beispiel,
wenn ich die Frage beantworten kann,
wozu ist ein Stück Software gut,
dass ich dann die Frage auch beantworten muss und tut die Software das auch,
was sie soll und völlig außen vor sozusagen im Bereich
des Handwerklichen ist,
ich kann es
auch bauen
Ich kann die Einzelteile so zusammensetzen anhand meines Plans,
dass hinterher das rauskommt, was auf diesem Plan draufsteht.
Ja. Das so als erste Idee? Ja, Hupf.
So. Ich versuche die Idee nochmal auf einen anderen Punkt zu bringen.
Was haben wir bis jetzt im Vordergrund gehabt, Programmieren? Das heißt,
wir haben im Vordergrund gehabt, ich schreibe mit einer Programmiersprache
ein Programm, Pinjava, was auf einem Rechner ablauffähig ist.
Vielleicht bin ich sogar schon in der Lage, dass eine Programm,
was einmal läuft, ein, zwei, drei Schritte weiterzuentwickeln.
Ich weiß, aus welchem Bestandteil dieses Programm besteht,
aber auch mittlerweile gelernt, Eine Klasse,
nicht nur etwas ist, was eine Besonderheit von Java ist,
sondern dass eine Klasse etwas ist,
was für jede Objektorientierte Programmiersprache existiert.
Eine Ausprägung haben Sie jetzt kennengelernt. Das ist gut.
Also das heißt, das war unser Fokus bis jetzt.
Das Thema Modellieren war noch nicht so im Fokus.
Das Thema Modellieren kann man auf zwei Arten betrachten.
Wir sind hier ein bisschen durch die beiden Bildchen angedeutet.
Wenn ich so Kita und so Modelliermasse bekommen habe,
dann ist die vielleicht rot-grün-blau, aber ansonsten ist das so ein amorpher Haufen.
Und dann sitze ich da mit meinen strahlenden Kinderaugen und knete
irgendwas zusammen. Irgend ein nettes Tier oder irgendeine Blume.
Ich weiß oder habe eine Vorstellung,
wie die Blume aussieht
Athlete jetzt das aus dieser Modelliermasse? Es gibt dann
erkennbaren oder nicht erkennbaren Zusammenhang zwischen der Blume und dem,
was ich mir da in der Modelliermasse zusammengeknetet habe.
Das meiste, also Kinder sind ja wie Softwareentwickler und Entwickler,
können immer sehr glücklich, wenn sie es dann zusammengeknetet haben,
ob andere dann eine Blume erkennen ist, noch eine weitere Frage.
Also das ist so modellierend, wenn die Modelliermasse keine Struktur vorgibt,
keine wirklichen Einheiten hat. Oben das mit den Klötzchen-Duplo,
Lego, wie auch immer, ist dann so die andere Weltthermodellierung.
Das heißt, da sind die Bausteine der Modelle,
die ich bauen kann, sind vorgegeben. Ja,
früher so in meinen jungen Jahren gab es einfach nur diese Bausteine
mit den Nupsis obendrauf und da gab es dann die eine,
also mit den zwei in den Vieren 6. Das war so,
dass die Grundraster für die Modelle.
Heute ist ja, Lego ist ja so eine ganze Welt von vorgeformten Teilen.
Da gibt es dann also, kann ich Württerburgen und Autos und irgendwas zusammenstecken.
So ein bisschen ist das in der Programmierung auch mittlerweile geworden.
Am Anfang hatte ich eine nackte Programmiersprache. Da konnte ich alles,
was programmierbar war, mitprogrammieren. Wirklich alles. So,
die Formalisten, die Theoretiker sagen, wenn die Sprache turing mächtig ist,
dann kann ich damit alles programmieren, was überhaupt programmierbar ist.
Das war so diese ganz einfache Form. Mittlerweile gibt es nicht nur festere Bestandteile,
also dass ich sowas habe wie Klassen und dass ich Interfaces habe, also vorgegebene Strukturen,
sondern Das machen wir aber an sich nicht, in der SE2.
Es gibt so Fertigbauauteile, meistens Bibliotheken oder Frameworks genannt,
so wie es die Fertigbauteile in Lego gibt,
mit den Fenstern und den Türmchen und den Rittern und was auch immer ich einfach schon vorgegeben bekomme,
die ich da zustecken kann an die richtigen Stellen.
Das gibt es mittlerweile in der Programmierung auch und wenn ich so in unser Team reinkomme,
die unten so an so Touchtischen,
so Kartendarstellungen durch Berühren und Schieben bewegen, die schimpfen immer sehr laut,
die höre ich meistens schon vor draußen schimpfen.
Nicht, weil sie es mit der Programmierung nicht hinbekommen,
sondern weil sie so vorgegebene Bausteine, Frameworks haben,
die nicht das tun, was sie von ihnen erwarten.
Also programmieren und modellieren, ganz,
ganz wichtiges Thema in der Programmierung
Tja, das überblättern wir mal hier, können wir vielleicht später irgendwann dazu.
Ich habe jetzt über ein bisschen was erzählt,
über Modellieren in der Programmierung oder Programmieren und Modellieren,
wie das so von der Idee her zusammenhängt.
Modelle könnte man sagen, sind eigentlich in der Wissenschaft,
ob jetzt Ingenieurwissenschaften oder in theoretischen Wissenschaften,
der Stoff aus dem oder in dem Wissen verankert, vergegenständlicht und wiedergefunden wird.
Deshalb sollte man sich mit Modellen und Modellierungen auseinandersetzen.
Hier also so ein erster Versuch zu sagen, was ist ein Modell,
was hat es damit auf sich und unten die Aussage,
ja, was wir eigentlich machen in fast allen Wissenschaftsdisziplinen,
dass wir große Zeit mit unseren Modellen fabriken.
Wo die Grundidee von Modellieren ist,
wenn ich irgendetwas modelliere, dass ich so etwas habe,
sie erinnern sich an ein Beispiel mit der Blume und der Knetmasse.
Ich habe ein Original oder Vorbild und mein Modell soll in irgendeiner Weise diesem Original gleichen.
Das, was mir wichtig ist, das will ich in mein Modell hineintun.
Und das, was mir nicht wichtig ist,
das tue ich in mein Modell nicht hinein, das lasse ich weg.
Diesen Vorgang nennt man üblicherweise Abstraktion. Das heißt also,
die Grundidee von Modellen,
so wie wir darüber reden und nachdenken, ist,
es gibt irgendwo ein Original und ich nehme für mich wichtige Aspekte,
Merkmale,
Eigenschaften dieses Originals
und tue sie in mein Modell
Und was mir nicht wichtig ist, was ich nicht betrachten will,
das lasse ich weg. So, das heißt also,
wenn ich irgendetwas eins zu eins und Molekül für Molekül nachbaue,
würde man üblicherweise vielleicht von einem Duplikat,
was auch immer reden, aber nicht von einem Modell,
weil ich versuche ja alle Dinge vom Original in meine Kopie zu übertragen.
Also die Idee beim Modellieren ist nicht eine 1 zu 1 Kopie des Originals,
sondern für einen bestimmten Zweck wichtige,
für mich wichtige Aspekte oder für die Leute,
denen ich es erklären will, wichtige Aspekte zu nehmen und den Rest wegzulassen.
So, im Physikunterricht haben Sie vielleicht, das soll sie
Physik nicht rechtzeitig abgewählt haben und die Physiker werden darüber Nostalgisch schmunzeln, weil ich hier vorgelegt habe.
Haben Sie so einfache Modelle? Wir sehen die,
die Physik mal hatte, in den jüngeren Tagen der Physik,
um sich zu erklären, wie ist so die Welt im Inneren zusammengebaut?
Also das mit diesen Atomen. Und dann gab es das,
was man so als ein Modell hatte, so dieses Modell von Rotherford,
so mit diesen, hat man immer so die Vorstellung gehabt,
dass in so verschiedenfarbige Tennisbälle und die sitzen da im Kern und dann gibt es dann die Protonen und die Neutronen,
die bilden so den Kern,
da hängen die zusammen und drumherum fliegen so die Elektronen.
So, das war das ganz einfache Atommodell. Und dann wurde es so ein bisschen komplizierter,
wenn man irgendwas über Übergänge und Energie und weshalb sowas wie Energie zugeführt und abgegeben wird innerhalb dieses Atommodells,
dann hat man das Atommodell von Boah, ich glaube,
da gab es also einen Kern, dann gab es so,
die Vorstellung gibt es Schalen drumherum und wenn man ein Elektron von einer Schale auf die nächste heben will,
dann muss man dem Energie zuführen und wenn das Elektron wieder runterhüpft,
eine Schale tiefer, dann wird Energie abgegeben.
Also heute die Physik, die findet das natürlich ganz lustig und historisch.
Aber für uns, vielleicht für sie, auch damals so die erste Vorstellung,
wie sieht das denn so im Kleinen aus? Modelle. Klar. Ganz wichtig,
es gibt ein Standardwerk von Stachowirk, ist dann hier unten zitiert,
der hat also sich als Wissenschaftler damit befasst,
was ist ein Modell,
was bedeutet modellieren und der hat also eine Definition vorgelegt,
die sie heute eigentlich zu über 90 Prozent in der Literatur finden,
wenn jemand sagt, ich modelliere oder ich habe einen bestimmten Modelltyp gebaut,
dann ist so glücklich zu sagen, dabei beziehe ich mich auf Stachoviak.
Nochmal das, was ich Ihnen schon gesagt habe,
sehen Sie auch hier in der Arbeit als Kern,
also Abbildung, Original und Abbildung in einem Modell.
Ich muss irgendetwas Original haben, damit ich es verbilden kann
oder eine Vorstellung von einem Original haben.
Verkürzung heißt nicht alles, was ich an diesem Original sehe
oder feststellen kann, übertrage ich in meinem Modell.
Und ich lasse Dinge weg. Was lasse ich weg und
warum lasse ich das weg und das ist
der dritte und das ist eigentlich der zentrale Punkt.
Jedes Modell ist zu irgendetwas gut. Ich will an
einem Modell etwas zeigen, ich will etwas damit erklären.
Ich will mir selbst oder anderen etwas klar machen.
Und weil ich das will, Nehme ich bestimmte Dinger vom
Original und übertrage sie und weil ich sie nebensächlich finde,
lasse ich andere Dinge weg.
Also abbilden, den wir weglassen,
also verkürzen oder abstrahieren und Sinn und Zweck,
das sind die drei Dinge, die ein Modell hat.
So, es gibt nicht den vorgegebenen Zweck. Es gibt
keinen festgelegten Zweck eines Modells. Das sehen Sie hier.
Nehmen wir mal an, das wäre jetzt kein Foto,
sagen, wir würden da irgendwo die Pyramiden von Giese sehen.
Ja, und je nachdem, was wir über diese Pyramiden
wissen wollen, würden wir einen ganz anderen Modelltyp bauen.
Wenn wir also als Touristen oder interessierte Menschen die große Pyramide von innen sehen wollten,
dann wäre es ganz gut, wenn wir so einen Aufrissplan hätten,
der uns so in etwa zeigt,
wie das Ding innen so aussieht, so ganz abstrakt,
wo sind die Kammern und wo sind die Verbindungen dazwischen,
weil sonst binnen drin finde ich mich nicht so gut zurecht.
Das heißt also, hier benutze ich ja ein Modell,
um mich in der Pyramide zurechtzufinden.
Wenn ich die Frage habe, wie hoch ist die Pyramide,
dann werde ich ein anderes Modell benutzen.
Das ist das, was sie dann hier links sehen.
Also je nach Frage interessieren mich am Original bestimmte Dinge,
die ich in meinem Modell reinbringe und andere Dinge lasse ich raus.
Wenn ich nur die Höhe wissen will, interessiert mich nicht,
wie die Pyramide im Inneren aufgebaut ist.
Was hat das mit Softwareentwicklung zu tun? Interessanterweise bei all
diesen Überlegungen zu Modellen, die schon lange in der Wissenschaft diskutiert werden schon.
Eine Physikbeispiele sind ja auch in der Chemie sind wir ja
schon ganz alt, wie lange ich Modell habe.
In der Softwareentwicklung hat man relativ spät gemerkt,
wie viele Modelle man eigentlich braucht, um gute Software entwickeln zu können.
Das heißt, das allererste, was klar wurde, ist,
sieben hier, ich mache das mal, dieser Zusammenhang.
Heißt hier, ich will das auch jetzt nicht in jedem Detail,
Leute, was man gemerkt hat, ist, dass,
wenn ich ein Programm in der Programmiersprache hinschreibe,
dann ist das ja ein Modell des zukünftig laufenden Systems.
So, dieses Modell hat die tolle Eigenschaft,
was auch lange Zeit die Leute nicht so richtig verstanden haben.
Wir haben ein Modell, das ist ausführbar. Ein Programmtext
in Java ist sowohl ein Modell des zukünftig laufenden Software-Systems als auch,
wenn ich es durch den Übersetzer gejagt habe und in die Laufzeit umgebe,
gebe, läuft dieses Modell ab.
Das ist eine Eigenschaft, die sonst eigentlich in keiner anderen Disziplin so vorliegt.
Dass man, wenn man Modelle baut, auch gleich ausführbare Modelle hat.
Das ist unser großes Glück. Und mittlerweile ist das ja so,
dass ich den Unterschied zwischen,
ich programmiere hier und dann führe ich das Ding aus,
in der vernünftigen Umgebung gar nicht mehr so richtig merke.
Wenn ich in Blue Jay arbeite, das merke ich ja gar nicht,
wann ich von dem einen Modus in den anderen schalte.
Ich mache es einfach intuitiv. Zu Zeiten,
als wir noch an Lochkarten stammen,
saßen und so Lochkarten gestanzt haben und die getragen haben zu seinem Tresen,
wo wir sie abgegeben haben.
Und dann müssten die eingelesen werden, dann mussten sie übersetzt werden.
Da war einem schon klar, jetzt programmiere ich und irgendwer führt irgendwann dieses Modell aus.
Also dieser Zusammenhang zwischen Programm und laufendem System,
der ist in der Informatik, sagen wir,
seit drei Jahrzehnten relativ klar. Was nicht klar wurde,
dass man dafür ein eigenes Modell braucht, ist dieser Zusammenhang hier oben.
Das finde ich ganz spannend. Also es hat sich in der Informatik von der Theorie her,
haben sich die Leute erst sehr später mit beschäftigt,
wenn ich ein Programm zur Lösung eines Problems oder zur Unterstützung einer Aufgabe baue,
dass ich mich erst einmal intensiv mit dem Bereich draußen in der Welt beschäftigen muss,
wo das Programm eingesetzt werden muss.
Also dass ich, finde ich, ein Programm,
bleiben wir bei meinem Beispiel von vorhin,
wenn ich ein Programm bauen will,
um einen neuen Versicherungstarif in einer Versicherung für Studierende,
verkaufend abrechnen zu können, wenn ich das schreiben will,
dass es dann für Entwickler wirklich wichtig ist, zu wissen,
was versicherungstechnisch da geschehen soll.
Und dass ich das dadurch tue, dass ich mir
ein fachliches Modell dessen mache, wie auch immer.
Was Versicherungen, Versicherungstarif für Studierende bedeutet. Bevor ich eine Zeile anfange,
also logisch gesehen, bevor ich anfange, irgendetwas in Java zu programmieren,
weil ich ja sonst überhaupt nicht weiß, was ich programmieren soll.
So. Sehr, sehr spannend, dass diese Anforderungen und diese Einsicht
noch so wirklich keine 20 Jahre, 25 Jahre alt ist.
Das zum Teil des Informatikstudiums zu machen. Denn früher hatte man so die Idee,
da gibt es irgendjemanden, der weiß das,
wie das läuft in der Versicherung und der schreibt das so auf,
dass sie oder wir uns nur noch hinsetzen brauchen und
das runter zu programmieren
Wir lesen einen Text, da steht genau drin,
was dieses Programm machen soll und das programmieren wir runter.
Und man hat sich 30 Jahre lang in Software-Projekten oder nach Software-Projekten gewundert,
dass die Menschen, die die Programme geschrieben haben,
also wie sie und ich, dass die irgendwas geschrieben haben,
wo die Fachabteilung in der Versicherung hinterher sagte,
das ist doch völlig unbrauchbar.
Das kann man nicht verwenden, das kann man nicht
bedienen und es kommt auch noch Mist raus.
Dieser Effekt wurde in der Softwareentwicklung oder in der Informatik,
in der angewandten Informatik als Softwarekrise bezeichnet.
Und so in den 70er Jahren hat man entdeckt,
man hat eine Softwarekrise und hat dann angefangen, darüber nachzudenken,
woher kommt diese Softwarekrise?
Die Hardcore-Informatiker haben gesagt, ich brauche eine neue Programmiersprache.
Die Alten sind zu schlecht
Die Theoretiker haben gesagt, wir müssen mehr beweisen können. Ja,
wir müssen mehr beweisen können, dass die Vorschriften,
was ein Programm machen soll, und das programmierte Programm,
dass das formal, mathematisch beweisbar zusammenpasst.
Dann sind wir die Software krisenlos.
Und so ein kleines Häuflein von Wanderpredigern hat gesagt,
ihr müsst einfach mal anfangen mit den Benutzern eurer Software zu reden.
Ihr müsst mal mit denen reden und verstehen, was die von euch wollen.
Haben die Theoretiker als völlig unbrauchbar, lässt sich nicht formalisieren.
Die anderen haben, die Techniker haben gesagt,
da schreiben wir einen neuen Typ von Programmiersprachen.
Natürlich sprachige Programmiersprachen. Dann sollen die Anwender inner Programmiersprache hinschreiben,
was sie wollen. Also man kann sich verschiedene Ausflüchte überlegen,
weshalb man sich nicht mit dem Bereich auseinandersetzt,
für den
man Software entwickeln soll
Wir vertreten hier eine andere Position und sagen, Leute,
wenn ihr nicht wisst, wie euer Gegenstandsbrech aussieht.
Und wenn ihr nicht ein Modell im Sinne dessen,
was ich über Modelle erzählt habe,
von diesem Anwendungsbereich von der Logik her bauen könnt,
dann wisst ihr auch gar nicht, was ihr für ein Softwaremodell baut.
Weil die hängen eng zusammen. So, ich hoffe,
davon ist so ein klein bisschen etwas hängen geblieben.
Wie modelliert man? Ich habe gesagt, eine wichtige Eigenschaft ist,
dass ich irgendwo ein Original habe und davon habe ich ein Abbild.
Und ich lasse etwas weg. Dieses Weglassen nennt man Abstraktion.
Und wer sich mit Modellieren beschäftigt, stellt sich früher oder später
die Frage, wie abstrahiere ich richtig oder Was abstrahiere ich?
Was lasse ich weg? Was lasse ich nicht weg?
Und die Antwort darauf ist nicht sehr einfach und sie werden
im Laufe ihres Studiums und ihrer beruflichen Praxis viele Hinweise bekommen,
Techniken, Hilfsmittel,
um die richtigen Dinge in ihrem Modell zu übernehmen und die unwichtigen Dinge wegzulassen.
Wie weit Abstraktionen gehen können, was hier an diesem Beispiel gezeigt wird,
also die intellektuell anspruchsvollste und stärkste Abstraktion,
die Menschen bis jetzt gebildet haben, ist, dass sie Zahl entdeckt haben.
Jetzt hat mal jemand gesagt, Zahlen, das ist das,
wenn ich auf die Welt der Dinge schaue und lasse an ihnen alle konkreten Eigenschaften weg.
Was dann übrig bleibt, ist ihre Anzahl. Also Dinge haben nichts mehr gemeinsam,
außer dass ich so drauf zeigen kann und sagen kann,
1, 2, 3, 4.
Und alles andere, alles Konkrete interessiert mich nicht mehr.
Also es ist die radikalste Form von Abstraktion, die ich finden kann.
Meistens die, soweit muss ich in meinen Softwaremodellen nicht gehen,
aber nur, dass sie mal so einen Eindruck haben,
was Abstraktion bedeuten kann.
Das Zweite, was Ihnen dieses Beispiel zeigen soll,
wenn ich diese Abstraktion zahle, ausdrücken will,
hinschreiben will, brauche ich eine Repräsentation von Zahlen.
Was können römische Zahlen sein, das können arabische Zahlen sein,
wir können uns darauf einigen, dass das die Repräsentation einer Zahl ist.
Was wir im Regelfall tun, ist, dass wir Repräsentationen manipulieren.
Oder dass wir uns darum kümmern,
wie so ein abstraktes Konzept wie Zahl
vernünftig repräsentiert wird
Also ich habe irgendeine Zahl ausgerechnet, 42, wie stelle ich sie in meinem Programm dar?
4-2 oder als Zeichenfolge oder was auch immer.
Also so ein Hinweis, Abstraktion, Repräsentation. So,
ich habe vorhin gesagt, Modelle sind zu etwas gut.
Eine Form wird zu Modelle gut sind oder ein Ansatz ist,
ich will anhand der Modelle irgendetwas ausrechnen.
Ich will damit ein Ergebnis berechnen. Ich will also nicht nur etwas darstellen,
ich will nicht nur mit meiner Knetmasse eine Blume darstellen,
sondern ich will mit meinem Modell etwas ausrechnen, was ich am Original nicht so einfach hinbekomme.
Jeder erinnert sich so, entweder der Mittelstufe waren,
dass die beliebten Textaufgaben, ich habe eine Pyramide,
die eine Seitenlänge von so und so hat und ich messe an der Kante,
dass die Kante so und so lang ist, berechnet sie die Höhe dieser Pyramide.
Sie erinnern sich vielleicht noch dunkler und dann wusste man,
okay, da muss ich jetzt diese Pyramide,
da muss ich jetzt von den Vorstellungen her,
muss ich so eine Dreieckskonstruktion haben und dann weiß ich beim Pythagoras oder war das der Talis verdammt normal,
da muss ich das jetzt ausrechnen,
da muss ich quartrieren und so und dann kann ich,
wenn ich das richtig zuordne mit A und H,
dann kriege ich also raus durch eine Berechnung,
wie die Höhe dieser Pyramide ist.
Das sind Modelle, mit denen man rechnen kann. Um ein Ergebnis zu erzielen,
was man direkt am Original nicht so einfach erzielen kann.
Das ist so eine Form, die frühe Informatik,
die frühe Programmierung, hat im Wesentlichen so etwas gemacht.
Hat im Wesentlichen einen mathematischen Algorithmus genommen und hat ihn in ein Programm,
in eine Rechenvorschrift übersetzt und hat Ergebnisse berechnet.
Deshalb waren die frühen Programme, die geschrieben wurden, Programme,
die Mathematiker oder Physiker haben wollten, weil sie gesagt haben,
das ist mit Rechenschieber und so einfachen rechten Maschinen,
das ist viel zu auffällig.
Diese komplizierten rechten Vorschriften ablaufen lassen,
da nehmen wir einen Computer für, der kann das.
Wenn Sie viele Dinge auch in der Theorie der Informatik oder Theorie der Programmierung verstehen wollen,
sollten Sie daran denken, aha, die ersten 15 Jahre haben Leute,
wenn Sie Programme geschrieben haben, im Grunde genommen so etwas gemacht.
Welchen Vorschriften Algorithmen in Programme übersetzt und Ergebnisse berechnet.
Das war der erste Sinn und Zweck von Modellen in Software.
Kleines Zwischenspielen. Christian Spee hat Ihnen erzählt,
so als Ausblick, was kommt in diesem Semester?
Und in diesem Semester kommt also diese Mediathek und im
zweiten Teil kommt das Kino Kartenverkaufs-Mini-Projekt.
So, das Kino Kartenverkaufs-Mini-Projekt macht im Wesentlichen etwas anders
als nach einer rechten Vorschrift
ein Ergebnis ausrechnen
Sondern dieses Projekt soll etwas machen,
was heute im Kern für die meisten von Ihnen die Zukunft,
die berufliche Zukunft der Programmierung ausmacht. Das heißt,
da soll etwas gebaut werden, was Menschen in ihrer Arbeit unterstützt,
die in dem Fall in einem Kino, in einem gedachten Kino.
Vorbild war das Avathon. Kinokartenverkauf. So,
da ist relativ wenig zu berechnen,
sondern da ist als erstes dafür zu sorgen,
dass man nicht zu viele Karten verkauft.
Und als zweites, wenn man unterschiedliche Plätze mit Nummerierung hat oder Platzgruppen,
dass man für jede Platzgruppe die richtigen Karten verkauft.
So,
und da muss man also sich ein anderes Modell machen
Mache ja jetzt nicht ein Foto, wo man anders hier wäre, unser Kino sah,
wo sie jetzt sitzen, sondern kein Hörsaal. Ja,
ich mache ja jetzt nicht ein Foto von oben von den Sitzen
und wenn jemand anruft und will eine Karte haben oder vor mir an der Kasse steht,
suche ich die ja nicht mit der Lupe raus,
den Sitzen und mache ein Kreuz mit einem Füllstift,
sondern ich baue mir ein anderes Modell von meinem Kinosaal.
Eine Möglichkeit ist, was scheinbar sehr mathematisch ist,
nämlich so eine Matrix-Darstellung zu nehmen und diese Matrix-Darstellung so abzubilden,
dass sie die Anzahl und Positionen der Sitze.
Jedenfalls die abstrakte Position der Sitze, nicht die metrisch genauer wiedergibt.
Und dann habe ich eine Konvention für diese Verkürzung, die Verkürzung sagt mir,
ein verkaufter Sitzplatz wird mit eins in der Matrix notiert und ein Freier mit Müll.
So, wenn ich dann hinterher auf die Belegung der Matratze,
der Matrix mit 0 und 1 drauf schaue und weiß, wie sie,
was sie für ein Abbild darstellt und wie die Verkürzung ist,
dann weiß ich, aha, ich kann nur noch Karten verkaufen für Positionen,
wo eine Null in der Matrix ist.
So, primitiv werden sie es an der Oberfläche nicht bauen,
aber das ist vermutlich das Modell, was sie dahinter haben.
Das Mobell des Kinosaals, dass sie dahinter haben.
Und so ein bisschen was berechnen können sie auch,
also sie können sagen, und was über Verkaufspreise.
Aber das Berechnen ist nicht das Entscheidende, das Entscheidende ist,
dass sie ein gutes Modell gebaut haben von einem konkreten Kinosaal,
dass sie in Software vernünftig bearbeiten können, auf einfache Art und Weise.
Und was ihnen in der Darstellung Ihre Arbeit,
also die Arbeit der Leute, die dort Karten verkaufen, leicht macht.
So. Sogleich haben wir so die Theorie dessen, was wir übermodellieren,
hier gemeinsam uns ansehen wollten, haben wir durch.
Und Abschöpfe sagt, die Modelle in der Softwareentwicklung haben,
die angenehme Eigenschaft, dass wenn ich sie in einer Programmiersprache
und nicht in OML hingeschrieben habe, dass ich sie ausführen könnte.
Dass sie ablaufen. Und das ermöglicht einen Umgang mit Modellen,
den ich auch sonst in vielen anderen Wissenschaftsbereichen finde,
aber der nicht so elegant ist, wie in der Softwareentwicklung.
Und das will ich Ihnen dann diesem Bild hier demonstrieren
Die Ausgangssituation, hallo. Da. Die Herauskommenssituation. Kennen
Sie, wir haben also ein Original. Wir haben einen
Ausschnitt der Welt da draußen, den wir betrachten wollen.
Unseren Kinosaal. So. Wir werden nicht mit diesem Kinosaal direkt arbeiten.
Wir werden auch nicht mit einem Foto des Kinosalz arbeiten,
wenn wir Karten verkaufen und reservieren wollen,
sondern wir haben uns ein Modell gemacht.
Das nennen wir M1. Wir wissen auch nach einer Vorschrift,
nach einer Regel, wie kommen wir von dem Original auf unser Modell M1.
Das wissen wir. Wir wissen auch, wie unser Modell M1 gebaut ist.
Wir haben also diese Matrix mit Zeilen und Spalten und die
soll also den sitzen und rein in diesem Hörsaal oder in einem Kinosaal entspringen.
So, das heißt, wir wissen also,
wie wir von Hier unten, nach hier oben kommen.
Und wenn wir hier obendrauf schauen und auszählen,
wie viele Zahlen, unsere Matrix hat, dann können wir sagen,
das sind 25. Und dann sagen wir, entsprechend erwarten wir,
dass in diesem Saal 25 Reihen drin sind.
Und dann können wir sagen,
das ist ein gutes Modell oder das ist ein schlechtes Modell,
wenn wir jetzt hier nachzählen würden.
Und es wäre nicht 25, sondern 35 drin,
wenn wir sagen, das Modell ist der Mechanist.
So. Das ist jetzt die eine Seite. Das Spannende daran ist,
wir können, außer dass wir Karten verkaufen und immer hier in den Saal reingucken gehen,
ist der Saal follow oder ist der Saal nicht voll?
Wir können Karten verkaufen auf der Ebene unseres Modells
und können auf unser Modell schauen und sagen,
wird der Saal voll sein oder wird der Saal
nicht voll sein
Brauchen wir vielleicht eine zweite Vorstellung, weil wir mehr Karten
verkaufen können, als wir Sitzplätze im Kino haben.
Und da fängt es an, spannend zu werden. Das heißt,
wir können bestimmte Prüfungen durch Probehandlungen machen, am Modell.
Wir können am Modell überlegen, wenn wir so und
so viele Karten verkauft haben, werden die Leute in den Saal reinpassen oder nicht.
Und das Ergebnis sollte stimmen, bevor wir die Saaltür aufmachen müssen.
So, und das ist ganz spannend. Also,
die Modelle, die uns in der Softwareentwicklung in Software interessieren,
sind nicht nur Modelle, die für unseren Zweck geeignet sind,
wo wir das mit daran sehen können,
was wir eigentlich wollen, was unser Problem ist,
sondern dass wir durch Probehandeln Ergebnisse am Modell erzielen können,
die also Ergebnisse hier, unsere Matrix ist im Zustand Peter, 2.
Und wir können sagen, wenn wir das in die Realität überführen,
dann wird unser, hallo, dann wird unser Kinosaal voll
sein oder fast voll sein oder halb leer sein.
Das heißt also, das Probehandeln hier lässt Rückschlüsse zu auf das,
was unser Original, was mit denen passieren würde,
wenn wir tatsächlich das am Original machen.
Das ist für Kinokartenverkauf sehr angenehm. Da wäre es nämlich ziemlich blöde,
weil das würde meine Kunden ziemlich sauer machen,
wenn ich mehr Karten verkaufen würde, als Sitzplätze sind.
Und ich würde sagen, ich habe euch zwar die Karten verkauft,
aber leider keine Sitzplätze mehr. So Sachen kann man sich leisten,
wenn man ein Monopol hat, also Bundesbahn ist.
Aber als Kinobesitzer, Avaturn kann man das nicht machen.
Das heißt also, Probehandeln an Modellen,
die gut sind, zerspart uns Ärger im einfachsten Fall.
Oder hilft uns, unsere Arbeit leichter zu machen?
Auch schon gut. Oder wenn Sie jetzt an die Steuerung und Simulation von technischen Systemen denken,
da sind wir ganz froh,
dass wir an den Software-Modellen Dinge sehen und ausprobieren können,
von denen wir hoffen, dass Sie in der Realität nie eintreten.
Das heißt, wir hoffen,
dass wir an unserem Modell unserer technischen Systeme rechtzeitig erkennen,
dass irgendeine Maschine dabei ist, kaputt zu gehen.
Weil sie nämlich anfängt, Werbewerte zu haben,
die sie nicht haben sollte und an unser Modell können wir erkennen,
wenn wir diese Wärmekurve und den Anstrieg weiterverfolgen,
in spätestens einer Stunde haben wir mit dieser Pumpe in unserem Kraftwerk ein massives Problem.
Dann ist sie nämlich zu heiß gelaufen.
Wir müssen jetzt
etwas tun
Und nicht, wenn da drüben der Qualm aufsteigt. Also dieses Grundprinzip,
ich übertrage einen Ausschnitt der Realität in einem Modell. Ich mache irgendetwas mit dem Modell,
ich habe bestimmte Regeln oder Operationen oder was auch immer,
an dem Modell und ich komme im Modell zu Ergebnissen und übertrage die wieder auf mein Original,
was sein könnte, ist eine ganz, ganz wichtige Eigenschaft vom Software-Modell.
Das wird also, denke ich, immer wichtiger in unserer Zeit. Okay,
ein Thema habe ich schon genannt, das wollte ich nur sagen,
weil das mittlerweile bei uns auch in der Surfware-Technik,
in der Software-Architektur ein ganz wichtiges Thema ist,
wenn man sich so mit Bankensystemen und Versicherungssystemen und so beschäftigt,
dann ist so der Puffer zwischen der Software und der Realität ist relativ Groß.
Ja, also wenn ich,
wenn mir eine Überweisung in der Bank kaputt geht,
weil die Software nicht funktioniert,
das ist zwar ärgerlich und meine Bankkunden werden ziemlich sauer sein
und mein Vermieter wird dem Mieter die Hölle heiß machen,
dass die monatlichen Miete nicht angekommen ist,
aber das kriegen wir alles in den Griff.
Wenn wir Software in solchen Bereichen bauen, beispielsweise links,
das ist eine Verkehrsleitzentrale für Nahverkehrssystem. Ich glaube,
der rechte Ausschnitt ist hier Desi, Bahnfeld, Teilchenbeschleuniger.
Wenn es da Probleme zwischen der Technik,
die da rumsteht oder fährt, und der Software,
die sie kontrolliert gibt, dann wird das schon richtig unangenehm.
Sehr unangenehm. Ich weiß nicht,
ob Sie die Story mitverfolgt haben im Zernen,
wurde doch dieser große neue Super- Teilchenbeschleuniger vor ein paar Jahren gebaut wird, eingeweiht.
Das kam hier so im Abendblatt und mit anderen Zeitschriften
an unter die Physiker oder einige Physiker oder einige Leute,
die einen Physiker kennen oder meinen einzukennen, hätten rausgekriegt,
dass diese Teilchen mit der hohen Energie, wenn die kollidieren,
die würden ein schwarzes Loch erzeugen.
Ja, und da würde das Ganze zerren und mindestens Europa eventuell
die ganze Welt wird in diesem schwarzen Loch verschwinden.
Was man nicht so gern hat. Ja, was man
nicht so gern hat. Und da war also eine heiße
Diskussion darüber, ob das das Modell hergibt oder nicht.
Das Problem war nicht, dass hinterher,
sonst könnte ich die Story hier nicht mehr so vortragen,
diese schwarzen Löcher entstanden sind und die Welt verschwunden ist.
Das Problem war ein ganz anderes.
Die Operateure im Zern die vor so etwas gesessen haben,
die die Kühlanlage für diese Teilchenbeschleuniger gesteuert haben.
Die haben auf ihren Monitoren erkannt, dass ihnen eine Pumpe
heiß läuft. So. Aber dann haben sie gesagt,
die wird zu heiß, die wird demnächst kaputt gehen.
Das Experiment, also die Anlage war schon ziemlich hochgelaufen.
Das heißt, die kühlte schon gewaltig.
Die müssen ja mal als absoluten Nullpunkt,
damit das alles super leitend ist, diese Magneten kühlen und so.
Die Anlage war schon gut hochgefahren und dann wurde diese Punkte warm.
Und die Software hat kein geregeltes Abschalten ermöglicht. Das heißt,
da konnte man nicht so auf Not ausdrücken,
sondern man musste die einzelnen Teile von dieser Anlage runterfahren.
Weil die Operateure, weil es eine ganz neue Anlage war,
aber nicht wussten, in welcher Reihenfolge man was wirklich runterfährt
Haben Sie mit dem Ausschalten der einzelnen Pumpen und Stromversorgung
und so einen Finger in der Reihenfolge gemacht?
Kann passieren. Die Software war nicht gut genug,
die hat das nicht überprüft. Das heißt, ja,
so Stück für Stück Teile der Anlage abgeschaltet,
hier mal ein Kühlsystem, da mal eine Pumpe und so,
haben einen Fehler gemacht.
Das heißt, in einem Stück Rohr war zu viel Druck.
Dieses Rohr ist geplatzt und das flüssige Helium ist in so ein Abschnitt von 200,
300 Metern reingeströmt und hat diesen ganzen Abschnitt in dieser Röhre mit flüssigem Peleum gefüllt.
Wann war die Anlage aus? Hört sich nicht sehr schlimm
an. War aber ziemlicher Mist. Was denken Sie,
was war das Problem, wenn man so 200,
300 Meter hohe Tunnel vollflüssigem Helium hat?
Was war das Problem
Okay, was denn jetzt? Meine Herren und Damen Physiker
, was wird das Problem nämlich?
Hatte ich aber eine Idee, was ist das Problem?
Habt man auf den ersten Blick nicht mehr.
Flüssiges Helium ist verflucht kalt. Ziemlich verflucht kalt.
Das heißt, die mussten zwei Monate auftauchen lassen.
Bis sie an ihre Anlage dran kamen,
um es zu reparieren und zu sehen, was sie kaputt war.
Und was hat also das mit dem schwarzen Löchern dann doch entschieden nach hinten verschoben?
Also deshalb Modell und direkte Einwirkung auf Realität über Sensoren und Aktuatoren ist ein Thema,
was heute immer wichtiger wird, womit sie zu tun haben werden.
Und was sie vor die Frage stellt,
sind meine Modelle und die Arbeit mit den Modellen gut genug?
Habe ich nicht nur Control-Panel, die mir anzeigen,
in welchem Zustand mein System ist, sondern habe ich auch in der Softwaremöglichkeiten eingebaut,
dass ich diese Anlage sicher schrittweise runterfahren kann. So,
das wollte ich Ihnen auch noch zeigen, so kurz vor Ende,
damit Sie jetzt, also ich habe jetzt gesagt,
okay, mit technischen Systemen, mit Sensoren und Aktuatoren,
sind wir einen Schritt näher mit unserer Software an der realen Welt da draußen dran,
als mit Banksoftware oder Versicherungssoftware.
Wir beeinflussen die Umwelt direkter und müssen viel mehr Wert darauf legen,
dass wir keine gröberen Fehler machen. Was uns stört dabei,
ist die Aussage, da werden wir auch beim nächsten Mal
noch ein bisschen drüber reden, ist die Aussage,
dass wir größere Softwaresysteme niemals fehlerfrei bauen können werden.
Das ist für unser eigenes Selbstverständnis nicht so angenehm,
dass wir wissen, wir können uns anstrengen, wie wir wollen,
für größere Systeme, wir kriegen sie niemals fehlerfrei hin.
So. Aber wir wollen auch einen positiven Schritt machen, positiven Blick nach vorne.
Sie sehen hier etwas, was jeder von Ihnen vermutlich,
wenn er Android oder Filmteil hat, nutzen kann,
nutzen wird, Google Goggles, ein an sich geniales Teil.
Das heißt, hier habe ich ein ganz neues Verhältnis zwischen
Realität und Softwaresystem. Ich nutze die Kamera,
die hier drin ist und fotografiere einen Ausschnitt draußen der
realen Welt
Und dann sucht die Software so ein Stück in den Datenbanden
und sagt mir, was ich da draußen sehe.
Nimmt mir das Gebäude, bringt mir historische Zusammenhänge.
Etwas, was ich mit meinem Kopf,
mit meinen Möglichkeiten nur sehr, sehr schwer nachvollziehen kann.
Also hinterlegt oder überzieht die Welt da draußen. Das kann ich dann
ja auch so sehen. Und das ist ja auch,
was man sich so mit den neuen Brillen so vorstellt.
Ich gehe durch die Welt und sehe nicht nur die Welt,
sondern die Welt wird überzogen mit Informationen über diese Welt.
Und ich denke, das wird unsere Wahrnehmung und unseren Umgang mit
der Welt in den nächsten Jahren entscheidend verändern. Eine Sache,
die wir machen, und das will ich zum Abschluss,
ich habe jetzt leider kein Bild dabei,
bis wir arbeiten in der Uni, mit Abschlussarbeiten an einem Projekt,
da haben Sie einen sogenannten Touch-Tisch.
Wussten Sie, wer von Ihnen hat sowas gehört wie Touch-Tische?
Habe ich schon mal gehört. Okay, ein Touch-Tisch ist
wie ein großer Bildschirm für so einen Riesenschirm, aber hingelegt.
So, und was so in dieser Größe haben wir einen
Stehen im Keller, hat also zunächst mal den Bildschirm-Oberfläche.
Dann das Oberflächenberührung sind Siebel sind, das kennt man seit diesen Teilen,
also ich kann da drüber fahren und ich kann irgendetwas damit machen,
ich kann Landkarten, Bilder hin und her schieben.
Das ist ja schon ganz spaßig,
aber ich kann Forges machen, ich kann Gegenstände nehmen,
sowas, die unten drunter eine Kodierung haben und die stelle ich auf diesen Tisch,
der Tisch erkennt die, verbindet damit etwas, das Billigste,
was er damit verbinden kann, ist, dass er mir ein Abbild von so einer Kreidenpause Kiste darstellt.
Aber ich kann auch was ganz anderes mit damit verbinden.
Ich kann also sagen, diese Kiste hier soll ein Feuerwehrauto da stehen.
Für das hier, das soll ein Polizeiwagen da stehen.
Und ich habe den Plan des Hamburger Hafens auf meinem Tisch.
Und ich sage demnächst des Hafengeburtstag und ich möchte das an der Stelle,
soll die Feuerwehr stehen, und hier die Notrufzentrale der Polizei.
So, das heißt, ich bekomme eine Art mit Realität,
mit Gegenständen und Software und Softwaredarstellung zu arbeiten,
wo man vor zehn Jahren noch überhaupt nicht dran gedacht hat.
Und das alles durch eine vernünftige Art für Modellierung.
Ich finde, damit höre ich erstmal für heute auch.
Vielen Dank