Semester 15, 16. Mein Name ist Guido Grützern,
ich werde zusammen mit zwei weiteren Kollegen,
einen sehen Sie schon, Christian Späh und Fred Winkler,
eingesprenkelt von Vorlesungen von Professor Riebisch, werde ich versuchen,
Sie in einen Zustand zu versetzen, so von der Art,
am Ende des Semesters wissen Sie mehr als am Anfang des Semesters.
Ich werde versuchen, Ihnen, jetzt sehen Sie hier eine...
Das ist mein Schreibtisch, Vielen Dank. So,
jetzt bin ich aus dem Konzept gebracht. Meinen Schreibtisch wollte
ich Ihnen erst später zeigen, wie dem auch sei.
Das Thema dieser Lehrveranstaltung heißt Grundlagen, Objektorientierter Programmierung.
Wer von Ihnen hat schon mal von objektorientierter Programmierung gehört?
Sind wir hier richtig? Wir kennen das alles schon. Okay,
dann schauen wir mal, ob das,
was Sie gehört haben und das,
was Fred Professor Riebisch und ich ihnen sagen werden,
ob das in irgendeiner Art und Weise übereinstimmt.
Das Angenehme an der Gesprächssituation, in der wir uns hier befinden,
jedenfalls für mich. 1, 2, 3, ja.
Das Angenehme an der Gesprächssituation ist, dass ich Recht habe und sie nicht.
Und das ist eine Art von professioneller Deformation,
die stellt sich so über die Jahrzehnte ein,
wenn man es gewohnt ist, also zu Menschen in asymmetrischen Dialogsituationen zu treten.
Also ich sage, wo es lang geht und sie sagen,
ja stimmt
Das ist also im Wesentlichen die Richtungen, die dieser Dialog in dieser Lehrveranstaltung gehen wird.
Später im Studium dürfen Sie dann auch mal Recht haben.
Aber jetzt so für das erste und zweite Semester mindestens
... Ich will es jetzt auch nicht übertreiben,
aber hören Sie uns zu, versuchen Sie das nachzuvollziehen,
die wir hier auf dieser Seite des Lehrsatzs stillstehen.
Also geben uns auch Mühe, also berechtigte Kritik von Ihnen aufzunehmen.
Aber im Großen und Ganzen stehen wir zu dem,
was wir hier tun.
So,
Grundlagen,
objektorientierte Programmierung
Ich will heute nur ganz kurz inhaltlich darauf eingehen, was so das Programm des Semesters ist.
Mein Kollege Christian Spee wird gleich auch noch was sagen zu einer,
zu dem sogenannten Community-System, das wir hier verwenden,
um Lehrmaterialien für sie zugänglich zu machen.
Ich gelobe feierlich, ich werde mich bemühen,
die Vorlesungsfolien so ungefähr 20 Minuten vor Vorlesungsbeginn ins Komsi gestellt zu haben,
sodass sie parallel die Möglichkeit haben und sind da auch drauf zu gucken.
Heute habe ich es geschafft. Das haben die wenigsten von Ihnen wahrscheinlich bemerkt,
weil sie das Komsi noch nicht so kennen,
aber das ist so das zentrale Austauschmedium,
über das wir die Materialien Ihnen zur Verfügung stellen.
Gleichzeitig Also sehen Sie, diesen jungen Mann, der jetzt,
also diese Lehrveranstaltung aufnehmen wird, das heißt so,
Sie können nach der Lehrveranstaltung davon ausgehen, so wie das da steht,
falls Sie es mal nicht schaffen sollten, in die Vorlesung zu kommen,
weil die zum Arzt münzen oder krank sind, Gott bewahre.
So, ansonsten erwarte ich, dass Sie hier sind.
Ich werde zwar immer dann zur Vorlesung, wenn ich dran denke,
werde ich auch die Millionen an den Bildschirmen begrüßen,
aber ansonsten gehe ich davon aus,
also kommen Sie her,
also hier haben Sie ja auch die Möglichkeit,
sich untereinander noch während der Vorlesung auszutauschen
Und das, was da steht, ist in,
das stimmt leider Gottes, nicht immer klappt alles mit der Technik.
Also wir sind zwar dann Informatiker und technikaffin,
aber es haut einfach nicht immer hin,
dass wir die Vorlesung überhaupt oder manchmal auch ohne Ton,
manchmal ohne Bild, so Dinge passieren,
halt Murphy's Law, was schiefgehen kann,
geht schief.
Das passiert auch bei uns. Insofern die sicherste Möglichkeit,
so etwas mitzunehmen aus dieser Lehrveranstaltung,
bewegen Sie Ihren Hintern hierhin und nachher
bewegen Sie ihn wieder weg
Zwischendurch hören sie mit, lassen wir das.
So, wer sind Sie? Also wir sind ja vom,
wir sind Surf, vom ehemaligen Arbeitsbereich Softwaretechnik und da sind Sie.
Wir machen zwischen Ihnen keinen Unterschied, ob Sie jetzt,
also Informatik, klassisch Wirtschaftsinformatik studieren oder einen von diesen neueren Bachelorstudiengängen,
Computing in Science, Softwaresystementwicklung, Mensch,
Computerinteraktion oder hier im Nebenfach sind, Mathematiker, Physiker.
Für uns, Sie tragen eine grüne Uniform und der Best
interessiert uns eigentlich nicht
Wir machen da keinen Unterschied zwischen denen,
was wir in der Vergangenheit festgestellt haben, ist,
dass also die Kollegen aus der, die Studierenden,
aus der Mathematik, dass denen, also wen hätte das gewundert?
Also die formaleren Anteile der Vorlesung etwas leichter fallen,
als das bei anderen Studiengängen der Fall ist.
Ich begrüße Sie alle ganz herzlich zu dieser Veranstaltung.
Ich gehe auch davon aus, wir machen das ja jetzt,
ich weiß nicht, zum wievielten Mal diese Lehrveranstaltung mit zehnte,
elfte Mal bestimmt schon?
Ach, noch viel länger als in derselben.
Aber damals ist sie anders
Damals hieß die anders, ja, aber es ist immer das,
nicht immer dasselbe, aber die Zeit geht ja auch weiter,
so mindestens seit, sagen wir mal, 1991.
Wer von Ihnen war, 1991 schon auf dieser Welt?
Nicht so viele, also seit, seit 91 stehen wir
hier Teile von uns und erzählen grundlegende Wahrheiten über objektorientierte Programmierung,
so worauf ich eigentlich hinaus wollte.
Wir bemühen uns nach Kräften mindestens 80 Prozent von Ihnen,
also am Ende dieses Semesters mit einem Schein nach Hause zu schicken,
dass Sie also Mama und Papa sagen können,
guck mal hier,
was ich geschafft habe,
Dazu gehören aber zwei. Also, sie und uns.
Und wir bemühen uns, Ihnen dieses Thema Objektorientierung so nahe zu bringen.
Ich zeige gleich auch noch eine Folie dazu.
Wir gehen dabei im Großen und Ganzen davon aus,
dass Sie hier so Vollzeitstudierende sind. Und Vollzeit bedeutet so
Pi mal Daumen, so 40 Stunden die Woche.
Und für diese Lehrveranstaltung sollten Sie, da Sie nach unserer
festen Überzeugung die zentrale Lehrveranstaltung im ersten Semester ist.
Ich weiß, viele andere Dozenten gehalten Ihre Veranstaltung auch für
die Zentrale
Alle Lehrveranstaltungen. Der Unterschied zwischen den anderen Dozenten und uns
ist, wir sind die Zentrale. Lehrveranstaltung, damit das
auch mal gesagt worden ist. Also ich sage im Übrigen,
dem jungen Mann da vorne immer so,
wenn er das mal nicht mitschneiden soll,
wovon ich nicht möchte, dass das im Internet dann veröffentlicht wird.
Weil das, was wir hier tun,
so Ihnen die Grundlagen der Objektorientierung, der Objektorientierten Programmierung nahezubringen,
das werden Sie in allen möglichen Lehrveranstaltungen,
werden Sie das verwenden können.
Weil Sie studieren dann halt Informatik oder was Ähnliches
Und da Softwareentwicklung ist nun mal ein zentraler Bestandteil,
also das Studiums und ich gehe mal davon aus,
dass also auch so circa, also ein deutlich zweistelliger Prozentteil
von Ihnen wird sich im Berufsleben später auch mit Softwareentwicklung beschäftigen.
Also vor diesem Hintergrund, denke ich, ist die Aussage,
dass wir hier so fundamental sind für Ihr Studium,
ist nicht allzu weit hergeholt.
So, ich möchte hier jetzt nur noch einen Punkt draus streichen.
Das ist der Punkt Anwendungssoftware, der da steht
Das ist ein Gedanke,
den werden wir hier im Rahmen der Lehrveranstaltung,
also sowohl in der Vorlesung als auch in den Übungen,
werden wir das mehrfach betonen.
Und aus unterschiedlichen Aspekten oder aus unterschiedlichen Blickrichtungen werden wir das beleuchten.
Software wird immer für jemanden entwickelt. Und dieser jemand ist typischerweise,
den bezeichnen wir als Anwender oder auch als Benutzer.
Softwareentwicklung ist kein Selbstzweck. Sie können Software für sich selbst
schreiben und Spaß daran haben,
was Sie da wieder Schönes programmiert haben
Das ist alles unbestritten, so der übliche Kontext,
in dem Software entwickelt wird, ist, jemand anders hat ein Problem,
zu dessen Lösung sie mit Software beitragen können.
Das ist so die Ausgangssituation. Und das ist nicht nur die Ausgangssituation für diese Lehrveranstaltung,
das wird sie im Laufe ihres Studiums,
wenn sie sich dann mit Software,
Technik oder auch mit Softwarearchitektur beschäftigen werden, wird sie das begleiten.
Und darüber hinaus, also schätzungsweise auch in ihrem Berufsleben. Und das bedeutet,
Wir werden uns nicht nur im Kern mit technischen Fragen der Softwareentwicklung beschäftigen,
damit auch, also was bedeutet es, gute Software zu schreiben,
sondern wir werden uns immer auch mit dem Kontext der Softwareentwicklung beschäftigen und der Kontext sind Anwender von Software-Systemen.
Dazu gehören dann eben Fragestellungen, wie arbeiten die Anwender,
wie kann man Software, also wie kann man mit Software-Anwender unterstützen,
Gott sei Dank steht da entlasten und nicht entlassen.
Das kommt zwar auch vor, ist aber nicht so der Fokus,
also mit dem wir uns,
mit dem wir uns,
also was diesen Aspekt anbetrifft,
beschäftigen werden
Dazu, wenn Software für jemanden geschrieben wird,
so muss man sich noch mit einem weiteren Aspekt beschäftigen.
Software wird in der Regel auch mit jemandem geschrieben. Das bedeutet,
Kommunikation mit anderen, also erst mal mit an,
nicht erst mal, aber zum einen mit Anwendern,
aber auch Kommunikation mit denjenigen, mit denen sie zusammen Software entwickeln,
ist ein zentraler Punkt im Rahmen des Studiums und in ihrem späteren Berufsleben.
Und dazu gehört, und das ist so eine Art,
nicht nur der Organisation des Studiums,
sondern auch Vorbereitung auf das spätere Arbeitsleben,
das Arbeiten in Gruppen und hier insbesondere das sogenannte Pair-Programming
Pair Programming bedeutet, zwei Menschen teilen sich einen Computer.
Und dann werden sie, sie werden diese Technik, diese Technik,
diese Methodik werden sie dann auch noch ein bisschen theoretisch motiviert,
werden sie das vermittelt bekommen. Für den Moment heißt das,
einer sitzt an der Tastatur und ist der sogenannte Pilot,
der sagt dem anderen, was er jetzt gerade tut.
Und der andere ist der Zuhörer und der kommentiert es vielleicht,
was der Pilot tut, oder der Driver, Neudeutsch.
Und ab und zu wird mal gewechselt.
Das ist eine Art von Arbeit, eine Arbeitsweise,
die sich extrem bewährt hat, um also die Aufmerksamkeitsspanne,
unter anderem die Aufmerksamkeitsspanne, bei den Rechnerübungen hochzuhalten.
Später im Berufsleben werden sie dann, werden sie auch noch,
also andere Gründe, wer ist Wirtschaftsinformatiker?
Es ist keine Schande, sie dürfen sich ruhig melden.
Gerade die Betriebswerte finden da auch noch andere Gründe,
warum, also Pair-Programming, eine gute Sache sein kann.
Den will ich hier auch schon verraten,
wenn zwei Leute an einem Problem arbeiten,
dann wird der sogenannte Truck-Factor
Um die Hälfte minimiert. Was ist der Truck-Factor bei
der Softwareentwicklung? Der Truck-Factor gibt für einen Projektleiter an,
wie hoch ist das Risiko meines Projektes,
wenn ein Mitarbeiter von einem Laster überrollt wird.
Wenn sich nur einer mit einer Aufgabe auskennt, dann ist
der Truck-Factor gleich eins. Wenn es zwei sind, 0,5.
So, das lässt den Projektleiter schon ruhiger schlafen.
Ich habe jetzt hier ethische Gesichtspunkte mal komplett ausgeblendet.
Ich weiß das. Es ist ausschließlich betriebswirtschaftlich motiviert, was
ich jetzt gesagt habe. Aber das sind so die unterschiedlichen Aspekte,
die wir so mal an der einen oder anderen Stelle auch beleuchten werden,
wenn es um Softwareentwicklung geht
Das hier ist der junge Mann, der Fred,
Fred Winkler, den sie gleich kennenlernen werden. Das ist derjenige,
der ihnen hier den zweiten Teil der Vorlesung jeweils präsentieren wird.
Das sollte ich vielleicht jetzt an der Stelle noch sagen,
wenn Sie schon mal auf diese Bleiwüste schauen.
Wir werden die Vorlesung typischerweise so halten,
dass also die ersten 45 Minuten, 40,
45 Minuten spreche ich hier über ein Konzept der objektorientierten Programmierung.
Das mache ich mit der Hand bewegend und gebe mir Mühe,
das plastisch darzustellen und körperlich auch, also ihnen zu zeigen,
wie engagiert ich bin.
Und dann ist diese Dreiviertelstunde vorbei. Und dann kommt Fred
. Und Fred wird hier live programmieren. Und das ist
toll. Da können Sie sich jetzt schon in Vorfreude,
können Sie sich da schon drauf einstimmen? Weil das,
was wir Ihnen zeigen werden oder das,
was wir mit dieser Art der Wissensvermittlung zeigen wollen, ist,
programmieren ist nicht etwas, sowohl ein ingeniöser Funke, so auf jemanden niederkommt.
Und er sagt dann irgendwann, Heureka, Ich hab's.
Sie werden Fred beim Nachdenken zuschauen können. Weil Fred hat
diese Fähigkeit, laut zu denken. Bei dem können sie
zugucken beim Denken. Und dann werden sie feststellen, programmieren,
also je nachdem, welche Haltung sie da zu haben,
programmieren, das kann man lernen.
Und das ist unser Ziel, ihnen das beizubringen.
Und deswegen ist das so ein wunderbares Ereignis, jemandem also
dabei zuschauen zu können, wie er eine Lösung entwickelt.
Wenn man dann eine Dreiviertelstunde weiter ist,
dann guckt man auf den Code, den Fred,
ihnen im Dialog, teilweise auch entwickelt hat und denkt,
ui, toll.
Und man kann sich sogar erklären, wie er dazu gekommen ist.
Es ist nicht nur verdammte Hacke,
hat er also irgendwas, was ich nicht habe.
Nein, nein. Also wir wollen sie mitnehmen auf diesem Weg.
Und das wird uns hoffentlich bei mindestens 80 Prozent von ihnen
gelingen. Dazu gehört eben, sie sehen das,
acht Stunden die Woche, das scheint uns die Untergrenze zu sein,
die sie sich mit dieser Lehrveranstaltung beschäftigen sollten.
Ich finde es nicht übertrieben, acht Stunden die Woche.
Das kann man sich doch geben,
Mindestens acht Stunden die Woche. Wenn es dann
zehn Stunden sind, ist es auch nicht schlimm.
Dazu sind sie ja schließlich hier. So, wir haben
die Frage, habe ich ja gerade schon durch Akklamationen geklärt.
Also die wenigsten von ihnen sind offensichtlich Programmieranfänger.
Wenn sie das sind, fühlen sie sich nicht alleine.
Wir nehmen sie mit. Eigentlich sind wir nicht auf
diese Leute hier vorbereitet, die schon alles können.
Sie könnten ja auch im dritten Semester anfangen. Ist schon mal okay,
wenn sie so eine gewisse Ahnung davon haben,
also womit wir uns dann wohl beschäftigen können
Sie sehen so unterschiedliche Handlungsoptionen für diejenigen,
die also Programmieranfänger oder auch sogenannte alte Hasen sind.
Sie können sich auf unterschiedliche Art und Weise in diese Lehrveranstaltung einbringen.
Am Ende des MS, das haben Sie hoffentlich alle denselben Stand.
So, meine letzte Folie. Sie befinden sich jetzt hier im ersten Semester,
in der ersten Vorlesung und es ist ein neuer Lebensabschnitt und
möglicherweise kommen Ihnen manche Sachen hier auch etwas seltsam vor.
Das ist nicht beabsichtigt,
das ist unvermeidlich
Falls also sie ein Problem haben mit der Bewältigung dieser Situation,
dürfen sie davon ausgehen,
dass wir ihnen auf unterschiedlichsten Ebenen zur Verfügung stehen,
um dieses Problem oder ja, um dieses Problem zu lösen.
Ein Angebot, auf das ich gerne hinweise, wenn jemand den Eindruck hat,
dass ihn oder sie das alles überfordert oder jemand sich überfordert fühlt.
Es gibt an der Universität Hamburg auch eine psychologische Studienberatung.
Diese Leute stehen ihnen zur Verfügung, wenden sie sich an die.
Bevor sie hier einfach so die Biege machen und sagen,
ich kann das nicht, ich will das nicht,
die sind alle doof oder ich bin doof,
irgendwas von der er kannte.
Gehen Sie erstmal zu jemandem, suchen Sie das Gespräch.
Weil das ist nicht nur für uns, so ist es
wichtig, dass wir viele von Ihnen hier durchbringen.
Ich finde es vor allem mal so für Sie,
so zu lernen, also mit solchen Schwierigkeiten umzugehen.
Das kann man gar nicht früh genug anfangen, weil wie alt sind Sie jetzt?
Sind alle so irgendwas? 18, 19 Jahre alt.
So haben also noch drei Jahre, werden Sie jetzt studieren,
dann sind Sie so 2023, vielleicht auch fünf Jahre,
wenn Sie Master, dann sind Sie 25.
Und danach werden Sie noch 50 Jahre arbeiten müssen.
Oder so die meisten verliehen. Oder Renteneintrittsalter wird in Ihrer Generation
irgendwo bei 80 liegen. Dann holte ich mal. Und jetzt,
also da kann man, wenn man da so eine Schwierigkeit hat,
nicht gleich, also so die Flinte ins Korn werfen,
gehen Sie unter anderem dahin, wenden Sie sich bei fachlichen technischen Problemen an uns.
Herzlich willkommen, wir schaffen das. So,
jetzt übergebe ich das Mikro an Christian Sperr
Christian Spey und der wird in was über die Organisation des Moduls sagen.
Ich sage schönes Wochenende. Auch ein herzliches Willkommen von mir.
Ich bin Christian Spey, seit sieben Jahren wissenschaftlicher Mitarbeiter hier im Arbeitsbereich,
auch von Guido Grützern und bin vor die Organisation dieser ganzen Veranstaltung zuständig.
In der Vorlegung werden Sie mich nicht weitersehen,
bis auf heute, aber in den Übungen bin ich als Tutor,
als Betreuer unterwegs und dort als Organisator.
Deswegen will ich ein bisschen was dazu erzählen,
damit ich das nicht jeder einzelnen Übung erzählen muss
Wir haben uns mal hingesetzt und aufgeschrieben, was für Kriterien
sie einhalten müssen, damit sie bei uns einen Übungsschein kriegen.
Sie müssen ja nicht nur die Klausur bestehen, um das Modul erfolgreich abzuschließen,
sondern auch die Übung müssen sie erfolgreich zu Ende führen.
Wir haben 13 Übungswochen, in diesen 14 Semesterwochen.
Das heißt, wir haben 13 Präsenztermine zu je drei Zeitstunden,
an denen sie teilnehmen sollen.
Präsenz heißt wirklich physische Präsenz. Wir erwarten,
dass sie in den Übungen sind und dort die Aufgaben
vor Ort lösen
Die Übungswoche beginnt immer an einem Donnerstag. Also morgen beginnt
die erste Übungswoche und endet immer an einem Mittwoch.
Bitte merkt euch das. Das ist nämlich auch wichtig für die Berechnung
der Fristen, worauf ich nachher noch mal zu sprechen komme.
Es gibt in jeder Übungswoche ein neues Aufgabenblatt. Und auch
diesen Aufgabenblättern gibt es meistens vier, mindestens aber drei Aufgaben.
Und alle sollt ihr bearbeiten, jede Aufgabe.
Damit ihr den Übungsschein kriegt, müsst ihr
alle Aufgabenblätter bearbeiten
Ihr dürft nicht irgendwo irgendeins auslassen, sondern ihr müsst wirklich
alle bearbeiten. Auch wenn ihr krank seid, auch wenn
ihr aus anderen Gründen mal einen Termin nicht wahrnehmen konntet.
Ihr müsst das dann nachholen und nacharbeiten und nachabnehmen lassen.
Ihr müsst an mindestens elf Übungsterminen physisch anwesend sein.
Ihr dürft zweimal unentschuldigt fehlen. Solltet ihr öfter fehlen,
brauchen wir von euch Nachweise, die wir anerkennen,
dass ihr Gründe hattet, nicht zu kommen.
Meistens ist das irgendein ärztliches Attest. Dann dürft ihr auch öfter fehlen,
aber wenn ihr ein Mehr als ein Drittel der Übung nicht teilnehmt,
dann habt ihr keine Chance,
keine Chance,
den Schein zu kriegen
Für die Aufgabenblätter gibt es Fristen und zwar lauten die so,
ein Aufgabenblatt soll in der Regel innerhalb von einer Woche bearbeitet und abgenommen werden.
Also am Donnerstag beginnt die Übungswoche, am Mittwoch,
eine Woche danach soll es abgenommen sein.
Wenn ihr das mal nicht schafft,
könnt ihr das auch nochmal eine Woche später abnehmen lassen.
Aber das sollte die Ausnahme sein,
denn eine Woche später kommt ja auch schon das neue Aufgabenblatt.
Also kommt nicht irgendwie in die Falle rein und seid immer
eine Woche hinterher
Für die Abnahme. Gi, du hast es schon erklärt,
mit dem Pair-Pro-Gaming, das fühlen wir halt auch in den Übungen so ein und durch.
Darf nicht nur einer von euch,
der vor dem Rechner sitzt oder die vor dem Rechner sitzt,
die Abnahmen machen und die Fragen beantworten,
sondern ihr müsst zu zweit in der Lage sein,
auf die Fragen zu antworten.
Also nicht nur einfach ranhängen und den anderen oder die andere machen lassen,
sondern immer mit dabei sein und auch erklären können.
Gut, das war so das Grundlegende von den Scheinkriterien.
Ihr werdet das ab morgen auch in dem schon angekündigten Komsi-Raum finden,
noch etwas ausführlicher für euch aufgeschrieben,
damit ihr immer wisst,
worauf es ankommt
Ich habe hier mal einen Ausschnitt von unseren Aufgabenblättern.
Abgedruckt. Diese Veranstaltungen gibt es schon relativ lange und sie ist immer größer geworden.
Jetzt werden wir fast 600 Teilnehmer haben. Das heißt,
wir sind gezwungen, das Ganze auch sehr formal durchzuführen.
Es ist etwas anderes, als wenn wir 120 Teilnehmer hätten.
Da könnten wir auch viel mit individueller Absprache machen.
Aber damit das für alle 600 hier gleich ist,
haben wir ein sehr formales Muster. Jedes Aufgabenblatt hat immer
genau diesen Kopf. Da erinnern wir euch da dran,
ihr seid hier bei SE1. Wir sagen euch,
dass ihr ein Mittersemester zu 2015 seid,
wenn ihr noch unausgeschlafen seid.
Alle Aufgabenblätter sind durchnummeriert
Wir sagen euch, worum es bei diesen Aufnahmeaufgaben dort gehen soll.
Erster Kontakt mit Klassen- und Äquemplaren. Das ist das Aufgaben
der Reihe zum Beispiel. Dort wird ja auch schon,
wo dieser Komsi-Raum zu finden sein wird.
Die URL ist angegeben. Und wieder Projektraum heißt. Zeige ich
nachher noch einmal live, wie er dann dort reinkommt.
Und wichtig für euch ist immer jetzt dieses Ausgabedatum.
Bei 3 ist das zum Beispiel der 29. Oktober
20015. Könnt ihr immer anhand dieses Ausgabedatums die Bearbeitungszeit dann berechnen
Hier ist das zum Beispiel Mittwoch, 4.11., 2015 sollte es bearbeitet sein.
Letztmögliche Abnahme ist dann Mittwoch, 11.11., 2015. Auf jedem Aufgabenblatt
haben wir die Kernbegriffe stehen. Das war mal zu Zeiten eingeführt,
als die Vorlesung und die Übung noch nicht so ganz synchron liefen,
dass wir bei jedem Aufgang immer nochmal aufgeschrieben haben,
was jetzt wirklich wichtig für die Übungsaufgaben sind.
Wir erwarten, dass wir diese Texte vor der Übung einmal liest, mindestens einmal.
Ihr müsst dann diese Texte noch nicht hundertprozentig verstanden haben,
aber das Ziel ist, dass ja am Ende der Übung
Mit euren eigenen Worten die Begriffe dort erklären könnt.
Und das fragen wir halt bei jeder Abnahme immer ab.
Also diese Kernbegriffe sind wirklich wichtig für euch und ihr
sollt jetzt hier einmal lesen.
Dann gibt es einige Aufgaben. Da ist so ein kleiner
Kugelschreiber davor. Und wir haben einige Sätze so fett gemacht.
Es kam immer mehr dazu. Schreibt dies mit wenigen Worten
wieder. Der Nieder heißt wirklich, schreibt etwas auf.
Habt ihr nichts aufgeschrieben? Gibt es keine Abnahme? Und
ob wir das irgendwie handschriftlich macht oder in einem Editor,
ist uns egal. Aber die Betreuer,
die dann zu euch kommen,
fragen als erstes,
habt ihr das schriftlich
Ja, gut, wir machen die Abnahme, nein,
dann mach das nochmal und schreibt euch wieder an
die Tafel für die nächste, für den nächsten Abnahmetermin.
Also immer auf diese kleinen Hinweise achten, wirklich etwas aufschreiben.
Es gibt einen Abnahmezettel,
den jeder von euch und jede von euch kriegt,
den teilen wir in der ersten Übung aus und den nehmt ihr bitte nie mit nach Hause.
Den holt ihr euch vorne immer ab bei jeder Übung und den
sammeln wir am Ende jeder Übung immer ein.
Die Abnahmezettel verwalten wir, das ist nämlich auch automatisch unsere Anwesenheitskontrolle.
Nur wenn da irgendein Kürzel drauf ist und wir den
am Ende einer Übung wieder haben,
heißt das,
dass wir
wirklich da gewesen seid
Das hier oben, das ist euer Bereich.
Da füllt ihr in der ersten Übung eure Daten ein.
Nachname ganz besonders wichtig, ganz deutlich schreiben, insbesondere den ersten Buchstaben.
Denn alle diese Abnahmezettel sind in einer großen Mappe einsortiert und
die müsst ihr dann unter den 600 Zetteln immer bei der nächsten Übung wieder rausfinden.
Das geht relativ leicht, weil erstens ist es nach dem
Alphabet sortiert und zweitens hat jeder Übungstag eine eigene Farbe,
sodass ihr dann anhand der Farbe und eures Nachnamens
relativ schnell eure Abnahmezettel auch wieder herausfinden könnt
Matrical-Nummer eintragen und Labor. Wir haben immer so Kurzbezeichnungen.
Zum Beispiel morgen ist Donnerstagvormittag, der Terminar ist ein Dovo.
Am Donnerstagnachmittag ist es Donna und Mittelvormittag heißt Mivo,
das könnt ihr denn oder solltet ihr da eintragen.
Bitte tragt auch einen eure Programmiervorerfahrung,
sodass wir einfach so ein bisschen Bescheid wissen,
worauf wir bei euch aufbauen können, aufsetzen können.
Habt ihr schon mal programmiert, seid ihr professionelle Programmierer,
die das nochmal richtig lernen wollen? Ich frage jetzt
auch noch einmal kurz, warum mich das kurz interessiert.
Wer hat hier schon einmal in einer Programmiersprache wirklich programmiert?
Bitte einmal
die Hand heben
Gut, das sind wirklich überraschend viele.
In den letzten Jahren war so eigentlich die Tendenz,
dass nahezu nur so 30 Prozent hier mit Programmiervorerfahrung gestartet sind.
Das ist spannend. Da drunter seht ihr dann die Felder,
die die Betreuer verwenden, um eine Abnahme zu protokollieren.
Ihr macht ja dann immer eure Teilaufgabe, zum Beispiel Aufgabe 1.
Und wenn ihr fertig seid,
dann schreibt ihr euch an die Tafel und der nächste freie Betreuer
kommt dann zu euch und setzt sich hin und fragt euch
dann so ein bisschen darüber aus,
was ihr da gerade gemacht habt.
Und ihr erzählt das in voller Stolz und zeigt die Software,
die ihr programmiert habt.
Und meistens können wir euch danach dann
auf die Schulter klopfen
Und kreuzen diesen Smiley an, denn wenn alles gut war,
dann freuen wir uns und das kreuzen wir dann an und dann könnt ihr euch freuen.
Das ist dann genau wichtig. In 10 Prozent der Fälle
gibt es die Situation, hey,
da kommen wir so aus dem Grinsen gar nicht mehr raus.
Da wart ihr besonders gut, da haben wir schon das Gefühl,
ja, ihr seid die nächsten Betreuer,
wir wollen euch unbedingt selber bei uns haben,
dann machen wir hier den Daumen hoch.
In weiteren 10 Prozent der Fällen müssen wir aber auch mal diesen
hier ankreuzen. Dann war das mal nicht so dolle.
Und wenn sich so diese traurigen Smilies auf einem Abnahmezettel häufen,
dann nehmt das bitte als Hinweis wahr,
ihr müsst irgendetwas tun
Meistens heißt es einfach, mehr Zeit investieren, ist unsere Erfahrung.
Setzt euch hin, arbeitet nach, während die Vokabeln vor allem auswendig.
Ihr lernt hier eine neue Programmiersprache mit Java,
aber auch eine neue Sprachwelt mit der Objektorientierung.
Da gibt es ganz viele Namen und Begriffe, die aufeinander aufbauen.
Und wenn ihr da irgendwo irgendetwas aus diesem Vergriffskonstrukt nicht kennt,
dann könnt ihr das, was darauf aufbaut, überhaupt nicht verstehen.
Also lernt die Begriffe und führt eventuell auch ein Glossar.
Das kann ich euch nur ans Herz lesen legen.
Schreibt einfach alle Begriffe auf, sodass ihr sie
auf einem Blatt Papier
parat habt
Gut. Ach ja, und im Per-Partner-Nachnamen bitte eintragen.
Denn ihr sollt mit mindestens vier verschiedenen Personen während des Semesters zusammenarbeiten.
Das kontrollieren wir darüber. Ja, die Übungen. Ihr
habt schon die Erfahrung mit Stine gemacht. Ihr konntet euch
schon für die ganzen Übungen anmelden. Ich habe heute Morgen nochmal
einige Betreuer auf zusätzliche Termine verteilen können und konnte etwas nachsteuern,
sodass wir wieder Plätze zur Verfügung haben.
Das ist jetzt der Stand von 12 Uhr
Also, Montag, Vormittag, Montagnachmittag, Dienstagvormittag und Dienstagnachmittag,
gelb heißt. Dort gibt es noch wenige freie Plätze.
Irgendetwas zwischen drei und sechs. Die roten Termine heißt,
dort gibt es keine Plätze mehr und es sieht auch nicht so aus,
als wenn ich da noch was nachsteuern könnte.
Also, wenn ihr noch nicht ins Sinne für eine Übung angemeldet seid,
versucht irgendwie diese gelben Termine in euren Stundenplan einzubauen,
dass ihr die wahrnehmen könnt.
Und meldet euch jetzt oder in den nächsten Tagen inszeniert dafür an.
Das könnt ihr noch bis zum 22.10. machen,
aber es gilt jetzt halt fürs Come for the Surf,
wer zu spät kommt,
dem bestraft das Leben
Kann ich auch mal die Flussgruppe erinnern?
Die Frage war, ob ihr eure Übungsgruppe ändern könnt.
Ja, das könnt ihr. Aber nicht als einzelne Transaktion,
sondern aus zwei Schritten erst abmelden, dann anmelden.
Deswegen vorher kontrollieren, ob ihr euch zu der Gruppe,
wo ihr hin wollt, wirklich noch anmelden könnt.
Denn abmelden und sofort bei der anderen Gruppe anmelden.
Sonst seid ihr nämlich abgemeldet und kommt nicht mehr rein.
So kann man das sehen. Ich habe in Sini leider
keinen Zugriff aus Studentenperspektive, aber ich bin der Meinung,
dass ihr sozusagen die einzelnen Übungen sehen könnt und dass ihr
dort sehen könnt,
wie viele Fletze noch frei sind
Hier wird nur bestätigt, dass das möglich ist.
Frag mal deine Kommilitonen, das wird sicherlich funktionieren.
Nächste Frage. Nochmal bitte. Okay, das soll nicht,
die Frage ist, was der graue Donnerstag bedeutet.
Das soll nicht grau sein, sondern grün.
Ja, aber es ist grau. Da sind noch zehn
Plätze frei. Da könnt ihr also hin. Gut,
im Laufe der nächsten Woche werde ich jetzt immer kontrollieren und
wenn keine Plätze mehr frei sind, versuche ich wieder was frei zu schaufeln.
Also es lohnt sich immer wieder, ins Sinne reinzuschauen.
Und wenn ihr absolut nicht in Termine reinkommt,
wo ihr Zeit habt, dann kommt auf mich zu.
Kontaktdaten erscheinen gleich auf den Folien. In der ersten Übung
ist der Treffpunkt auf jeden Fall immer D017. Instine werden euch
ganz viele Rechnerräume angezeigt, in denen die Übung stattfinden werden.
Aber D017 ist der erste Treffpunkt. Von da aus
verteilen wir euch auf die anderen Räume.
Ja, hier die Ansprechpartner. An und ummelden immer noch
bis 22.
übers Diene
Falls das nicht klappt, oder ihr zu spät seid,
dann direkt an das Studienbüro wenden, die Damen da,
versuchen euch dann aufzuhelfen.
Organisatorisches und inhaltliches zu den Übungen, ist die E-Mail-Adresse se-orga at Informatik-unim-hamburg.de.
Dort erreicht ihr Fried Winkler und mich und alle anderen Vimis,
die hier die Übungen betreuen.
Ja, und inhaltliches zu den Vorlesungen in erster Linie Guido Grützan
, seine E-Mail-Adresse steht hier auch.
Gut, das war das. Gut. So sieht das
, kommen Sie aus. Habt ihr wahrscheinlich in der UEK
schon kennengelernt.
Hier oben
einfach anmelden
Das sind meine Mist-Neukennung beantragen. Falsch. So, nochmal
ein Passwort holen. Anmelden. Dann hier nach SE1 kommen
Sie, Wintersemester 15, 16-Suche. Bei mir wird er
zwar schon angezeigt, aber damit ihr einmal die Prozedur kennt.
Keine Einträge
Ja, guter Hinweis. Versuchen wir mal, ja, wunderbar.
Ohne euch würde ich das nicht schaffen. Gut. Dann raufklicken,
was jetzt nicht kommt, aber was ihr machen müsst,
ihr müsst dann nochmal ein extra Feld bestätigen, Teilnahme beantragen.
Und dann werdet ihr automatisch freigeschaltet. Das muss man jetzt
keine feiner bezahlen. Nein. Ja,
einfach teilnehmen und dann sieht das so für euch aus.
Dort findet ihr hier die Aufgabenblätter. Guido hat heute
die Vorlesungsfolien hochgeladen. Es gibt Hinweise zum Pair-Programming.
Ab morgen sind dort die Scheinkriterien
auch drin
Alles wird in diesem Raum dann für euch zur Verfügung stehen.
Gut. Habt ihr noch Fragen zu organisatorischen Details? Ja,
das meine ich. Einen Komsi-Account muss man nicht extra beantragen,
sondern ihr könnt euch mit euren Stine-Zugangsdaten dort anmelden.
Das ist genauso möglich. Ja? Dann könnt ihr selber
einen Account beantragen, wie bei jedem Online-Format gibt es da
irgendwo den Link,
Teilennahme-Account registrieren oder so
Gebt ihr einfach eure Daten ein mit irgendeiner E-Mail-Adresse und
irgendeinem Passwort, das ihr euch selbst ausdenkt.
Und dann könnt ihr genauso dran teilnehmen. Gut, doch,
noch eine Frage. Das ist inzwischen schon die 11. Uhr älter,
die ich aufschreiben muss. Das langsam war Schluss,
bedient mich an der Symbole, gibt mir das.
Und das Legalismütteres. Ja, lässt sich nicht vermeiden.
Bei uns ist es die einzige URL, die sich ja aufschreiben müssen.
Weitere werden in dieser Veranstaltung vermutlich nicht mehr kommen.
Gut, dann würde ich jetzt an Fried übergeben und
wir sehen uns dann in den Übungen
Okay. Darf ich ganz kurz, ganz kurz euch eure Pause klauen?
Hi, ich bin Tronjäger, ich komme von der UE
20015. Und ich wollte kurz noch eine Ansage machen.
Und zwar geht es um die Nachzügler-OE. Die meisten
von euch waren wahrscheinlich letzte Woche bei der Orientierungseinheit dabei.
Ja, OE ist kurz für Orientierungseinheit.
Aber einige eben nicht. Einige haben das verpasst,
waren nicht da aus, was auch immer, für Gründen.
Und für die gibt es die Nachzügler-OE. Das Ganze funktioniert so,
in der OE wurden super viele Informationen weitergegeben und vorgestellt zur
Uni Hamburg,
zum Informatikstudium
Zur Fachschaftsinformatik, was sie alles zu bieten hat, all solche Sachen.
Das habt ihr verpasst, wenn ihr nicht da wart.
Und dafür gibt es eben so nach zu Blaue E.
Die findet statt. Nächsten Dienstag, das ist der 20.10.,
zwischen 10 und 16 Uhr. Am Informatikum im Raum A 307.
Das ist also Haus A. Und dann im dritten Stock,
im zweiten Stock, glaube ich, halt Raum 307 findet ihr.
Genau. Ich habe gesagt,
von 10 bis 16 Uhr, das heißt nicht,
dass ihr um einen Punkt sehen,
da sein müsst und bis 16 Uhr bleiben müsst,
sondern ihr kommt irgendwann zwischen 10 und 16 Uhr
und dann kriegt ihr so eine Blitz-OE praktisch mitgegeben
Lernt die wichtigsten Sachen zu eurem Studium und so weiter.
Bitte nicht unbedingt um 16 Uhr denn erst ankommen,
weil dann wollen die Oedo-Toren, die da rumsitzen, auch irgendwann nach Hause.
Genau, also dann herzlich willkommen natürlich alle Studiengänge, die hier sitzen,
also Informatik, also das E, MCI und SIS.
Und ja, genau, wenn ihr nicht könnt, nächsten Dienstag,
dann ist das kein Problem, wir kriegen das trotzdem hin,
euch irgendwie so eine schnelle Oee zu geben,
dann schreibt uns eine E-Mail an, oe-nachzügler, atinformatik.unime-hamburg.de.
Die ganzen Daten, die ich gesagt habe,
schreibe ich gleich nochmal da an die Tafel,
dann könnt ihr euch die in Ruhe abschreiben
Ja, das war's von mir. Vielen Dank fürs Zuhören
. Herzlich willkommen an der Uni Hamburg und in der Fahrstellung
Informatik und ich wünsche auch noch euch noch viel Spaß.
Dankeschön. Oh, danke, danke.
Hey, kleiner Sprachzest, 1, 2, 3.
Wie sieht's mit der Lautstärke aus? Sehr gut. Ah,
ein bekanntes Gesicht hinter der Kamera, das freut mich.
Sehr gut. Warum bewährt es ändern? Ja,
oh Gott, sind das viele Leute.
Es werden jedes Jahr mehr. Okay, herzlich willkommen
auch von meiner Seite
Ja, heute ist die erste Vorlesung. Ich darf heute
zum ersten Mal euch ein bisschen was übers Programmieren erzählen.
Es ist, ja, was ihr hier vielleicht schon seht,
kleiner Screenshot von dem System, was wir einsetzen werden in den ersten beiden Wochen.
Da geht es einfach darum, wir hatten einen kleinen Roboter,
der heißt Kerre, der lebt in einer kleinen Mini-Welt,
zehnmal zehn Felder breit und hoch und er soll da irgendwelche spannenden Aufgaben erfüllen.
Zum Beispiel hier soll er irgendwie sich so einen Weg warnen,
um am Ende des Reparents zu diesem Diamanten zu kommen.
Das versuche ich euch heute beizubringen, alles,
was man dafür braucht, was man dafür braucht,
seht ihr hier, das wird euch jetzt noch nichts sagen,
zusammengesetzte Befehle,
zielgeschlafene und Fallunterscheidungen
Okay, das ist also der Anspruch, dass ich das euch heute beibringe.
Ich mache einmal die Schublade zu. So. Okay. Genau,
also falls es noch nicht gesagt wurde,
ich heiße Fred, hier steht nochmal mein Name.
Hier seht ihr, was ich so in den letzten,
oh Gott, sieben Jahre sind es schon, alles getan habe.
Was mit Programmierausbildung zu tun hat. Seit 2008 bin ich
immer für einen zweiwöchigen Zehkurs bei einer Versicherung.
Das ist jedes Jahr, und auch jetzt gerade war es
wieder, mittlerweile heißt die Versicherung anders.
Aber da bringe ich den Leuten Zeh bei,
an der Uni bringe ich den Leuten Java bei.
Das setzen wir, glaube ich,
schon seit
Ewigkeiten ein. Lange bevor ich da war. Wir haben
auch mal zwei Jahre Circus Plus gemacht, bei den Nanowissenschaftlern.
Und irgendwann so vor drei Jahren ungefähr habe ich dieses System
mit dem Roboter entdeckt. Habe ich bei YouTube gesehen,
von der Stanford University, die setzen das ein.
Und ich fand das total cool und haben also geguckt,
ist das System irgendwie frei verfügbar.
Und es gab ziemlich viele Klone von diesem System. Dadurch,
dass diese Grundidee gibt es eben schon seit den 70ern.
Und ich habe mal geguckt, welche von diesen Klonen
meine Anforderungen am besten erfüllt.
Und irgendwie hat es keiner so richtig erfüllt und dachte,
ach, dann baue ich einfach mein eigenes System.
Und das haben wir dann seit 2012 immer eingesetzt,
mit immer mehr Studenten und die Leute
haben da sehr viel Spaß dran
Okay. Eigentlich, ah, schaut mal, ich habe
vergessen, ihn hier auch auf die Folie zu kleben.
Also er hat jetzt schon seinen vierten Einsatz dieses Jahr.
Gut, wer ihr seid, wurde ja schon gefragt,
ihr habt schon vier Programmiererfahrungen und so weiter.
Dann hier vielleicht nochmal einen kleinen Eindruck,
wie es bei uns so in den Übungsgruppen aussieht.
Ihr seht eben, genau wie auf dem anderen Bild,
dass die Leute immer zu zweit vor dem Rechner arbeiten.
Und ihr seht auch, dass dieses Foto ein bisschen neuer ist,
weil wir haben tatsächlich mittlerweile Flachbildschirme in den Übungen.
Nicht so wie noch vor zehn Jahren mit den Röhrenmonitoren.
Okay, und ganz witzig ist auch,
man sieht auf diesem Foto den ehemaligen Dozenten dieser Vorlesung,
der das bis vor zwei Jahren hier bei uns gemacht hat
Okay. Gut. Ich gucke mal kurz,
wie viel Zeit wir noch haben, dass ich nicht zu viel,
nee, okay, ein paar Minuten kann ich drüber reden.
Also wir wollen euch ja Programmieren beibringen. Und es ist gar nicht so einfach zu definieren,
was Programmieren eigentlich genau bedeutet, wenn man so als Außenstehender mal raufguckt,
programmieren bei der Arbeit, programmieren bei der Arbeit zu,
guckt, zum Beispiel hier ihm oder den beiden Herren,
hat man oft so den Eindruck,
naja, die sitzen halt vorm Bildschirm,
trinken ein bisschen Cola oder Kaffee und tippen da die ganze Zeit rum und irgendwann kommt ein Programm dabei raus.
Und dann schaut man sich diese Programme an und diese Programme sehen halt so ein bisschen halb mathematisch,
halb englisch aus und dann sagt man, alles klar,
ich lerne jetzt diese Programmiersprache,
sei das jetzt Java oder sei es C plus plus oder irgendwas anderes.
Also was gibt es da so für Schlüsselwörter? If,
Wile und da gibt es da irgendwie Bedingungen und Klammern und so.
Und wenn ich das alles weiß, dann kann ich
auch programmieren
Das reicht aber leider nicht. Also ich habe mir mal ein sehr schönes Zitat gefunden,
von dem Herrn, der das sogenannte Wiki erfunden hat.
Wer von euch weiß, was ein Wiki ist?
Okay, gar nicht mal so viele. Wer von euch
hat schon mal Wikipedia benutzt? Okay, das sind dann
doch fast alle. Sehr schön. Der hat also gesagt,
man muss ein bisschen vorsichtig sein,
nur eine Sprache zu lernen, reicht nicht aus.
Das könnt ihr aus dem Alltag vielleicht verstehen,
wenn ihr zum Beispiel Journalist werden wollt,
Journalisten schreiben ja in Deutschland meistens deutsche Texte und Deutsch
könnt ihr ja im Prinzip
Warum könnt ihr jetzt nicht einfach zu einer Zeitung gehen und
euch für einen Job als Journalist bewerben?
Deutsch ist die Sprache, in der sich Journalisten ausdrücken,
aber man braucht natürlich noch sehr viel mehr Theorie dahinter.
Und genauso gut könntet ihr wahrscheinlich keine Bücher schreiben oder irgendwas.
Also ihr müsst, Deutsch ist die Voraussetzung dafür,
aber irgendwie steckt noch mehr dahinter.
Okay. Und dieses irgendwie steckt noch mehr dahinter. Ja,
es gab eben einen sehr gefrusteten Studenten an der Stanford University,
dem irgendwie aufgefallen ist, irgendwie bringen wir den Leuten zwar Programmiersprachen bei,
aber nicht wirklich programmieren.
Und das seiner Meinung nach lag es daran,
dass die Programmiersprachen so kompliziert sind,
dass man ein oder zwei Semester braucht,
um den Leuten erstmal die Sprache beizubringen
Hat den enorm frustriert und hat gesagt,
wir müssen eine einfachere Programmiersprache haben, eine Programmiersprache,
die so einfach ist, dass wir auf einer DIN A4-Seite quasi definierbar ist.
Und dann kann man sich darum kümmern, zu programmieren.
Also zum Beispiel, ich gehe mal kurz auf die erste Folie,
dass man sich also Gedanken macht, wie kann ich jetzt in der Sprache von Carrie ausdrücken?
Geh bitte durch das Labyrinthstoß gegen keine Wände und sammle am
Ende den Diamanten ein. Denn so ein Roboter-Kerl,
der kann, der kann von Haus aus nicht besonders viel.
Ich kann ihm sagen, geh doch mal einen Schritt nach
vorne oder dreh dich mal nach links oder guck mal,
ob irgendeine Wand ist. Also es gibt keinen Befehl,
dass ich den Carrie direkt sage, lauf durchs Labyrinth,
sondern ihr müsst euch Gedanken machen,
wie kann ich dieses Problem so lange in Einzelteile zerlegen,
bis man bei diesen elementaren Befehlen angekommen ist
Und darum ging es ihm. Und wie gesagt,
ich habe diese Videos gesehen und war sehr begeistert.
Und ich würde euch dieses System jetzt einfach mal vorstellen.
Okay. So, dann. Hoffe ich mal, dass es funktioniert.
Also ist da mal so eine Sache mit Computern?
Ah, okay, das scheinst du funktionieren. Gut.
Das ist also dieses System, so sieht es aus,
wenn ihr es das erste Mal startet.
Ihr seht also hier genau, wir nehmen Screenshot Carriss Welt,
zehnmal zehnmal den Felder. Das ist Kerl. Dann gibt es
Beeper oder auch Diamanten in Kerris Sprache halten die Beeper.
Dann gibt es irgendwelche Wände durch diese Wände,
sollte man nicht versuchen durchzugehen,
dann knallt es
Und was das Besondere an diesem System ist,
was wir also hier gebaut haben im Laufe der Zeit,
ist, man kann auf diesen besonderen Knopf drücken,
Goal, hat also nichts mit Fußball oder so zu tun.
Und wenn ich da raufdrücke, dann wird Carrell anfangen,
was zu tun. Er wird da irgendwie durch die Welt
laufen und ich kann das ruhig normal vielleicht ein bisschen langsamer machen.
Das, was ihr jetzt seht, dieser Film,
der da jetzt abläuft, ist quasi die Zielsetzung.
Das sollt ihr nachprogrammieren. Sonst hätten wir das jetzt
irgendwie in einem Text sagen müssen, versuch doch mal,
aber dann verrät man meistens schon zu viel.
Also ihr könnt diesen Film einfach ablaufen lassen und das ist
dann eure Aufgabe
Ja, das würde ich jetzt gerne mal mit euch zusammen machen.
Also links sieht man Carrey. Rechts sieht man das Programm oder
wir sagen auch gerne Quelltext. Ja, hier könnt ihr
uns jetzt da so reinschreiben, was Carrey tun soll.
Und ich habe mal so als hilfreichen Kommentar hier oben hingeschrieben,
was er so für Befehle versteht. Im Prinzip kennt er
nur sechs Befehle. Er kann also nach vorne gehen,
er kann sich nach links drehen,
er kann sich umdrehen, er kann sich nach rechts drehen,
er kann Diamanten aufnehmen, unter kann Diamanten ableben.
Tja. Hat jemand einen Vorschlag, was er jetzt tun soll?
Wie ist die Sünde jetzt? Kann man das sagen,
der F1-Züg schreiben und dann tut der es und dann ist das.
Ich drücke auf die F1-Taste und dann wird das hier erscheinen,
das zeige ich euch gleich
Soll ich mal auf die F1-Tasse drücken?
Ich drücke jetzt Affen, ich drücke auf die F1-Tasse.
Zack. Ja, ja. Das hätte ich auch von,
das hätte ich auch von Hand schreiben können,
aber das dauert mir immer zu lange.
Okay. Ja, was soll ich als nächstes tun?
Den Diamanten aufnehmen, ja. Vielleicht F1. F1, ja
, okay. Ja. Ja. Ja. Wieder vorwärts
, ja. Nach rechts drehen, ja.
Ja. Ja. Ja
Schauen wir doch mal, ob das funktioniert.
Wir machen jetzt mal Folgendes. Ich drehe mal die Geschwindigkeit
komplett auf Null und drücke jetzt mal diesen Button.
Dieser Button startet euer eigenes Programm. Da klicke ich jetzt
einfach mal rauf. Und jetzt dadurch, dass sie die
Geschwindigkeit auf Null gestellt habe, pausiert das Programm quasi.
Und ich kann mir jetzt so in Ruhe überlegen,
okay, da steht das Programm gerade, okay,
gut, den Schritt soll er jetzt bitte machen.
Ich klicke jetzt mal hier auf diesen Button, zack,
und dann macht er diesen Schritt. Er hat jetzt also
dieses Move Forward hat er jetzt in dieser Welt ausgeführt.
Er ist den Schritt nach vorne gegangen und jetzt wartet das Programm
in der nächsten Zeile darauf, dass ich den nächsten Step anfordere.
Das mache ich jetzt mal, nehmen wir doch mal die Diamanten,
gehen wir mal einen Schritt nach vorne,
wir drehen uns nach links, gehen einen Schritt nach vorne,
wir drehen uns nach rechts, gehen nach vorne liegen,
den Bieber ab und keinen Schritt nach vorne.
Aber ihr könnt das auch genauso gut schneller ablaufen lassen.
Also wenn ihr da nicht immer einzeln steppen wollt,
könnt ihr das auch so machen und euch daran erfreuen,
wie könnt ihr da also den Diamanten hochbringt.
Ja, habt ihr bis hierhin erst mal Fragen zu den sechs elementaren Befehlen von Kerl?
Ja, ich war und gab die da,
das merkt er sich da, dass er nur eines hat beispielsweise.
Also es hat mich mehrmals so... Ah, deine Frage ist,
kann ich, also hat Kerl so eine Art Diamantensack,
wo dann welcher reintut?
Nee, diesen Sack gibt es nicht.
Also du kannst beliebig viele Bieper droppen in der Welt.
Also es ist nicht so, dass du sie erst irgendwo
haben hernehmen musst oder so.
Also du kannst beliebig viele aufnehmen und droppen
Ja. Okay. Ja. Ja. Du meintest,
dass ich neide, wenn man liebt.
Ja, wollen wir das mal ausprobieren?
Ja, danke. Ja, das ist Feminine Figure,
sozusagen, testen kann, ob vor ihm.
Ah, das kommt noch. Das kommt noch. Aber
wollen wir einmal, wollen wir einmal gegen die Wand laufen?
Tick, BVMOV wird hier. Hier kommt nochmal die
in die Wand laufen. Dass ihr einfach mal seht,
was passiert eigentlich, wenn man Unsinn programmiert?
Ich starte das jetzt mal. Ja, kriegt ihr also Bescheid gesagt?
Can out move for wall? Und ihr seht dann auch,
dass der Kontrollfluss dann an dieser Stelle anhält.
Also ihr seht also, hier ist irgendwie ein Problem gewesen.
Ja, sehr schön. Dann gehen wir doch gleich mal
zum nächsten Problem. Das sieht so aus. Ich mache
wieder das so ein bisschen, ja, so vielleicht.
Schauen wir mal, was ihr hier machen sollt. Ja,
also er läuft da irgendwie um diese Wand rum,
nimmt den Beeper und läuft dann wieder zurück und schlägt ihn wieder ab.
Das ist eigentlich so ähnlich wie vorher, nur dass
das Programm jetzt wahrscheinlich ein bisschen länger wird, oder?
Wir programmieren das mal zusammen, ich schiebe das mal nach oben.
Jetzt kommt schon die erste spannende Stelle. Also als ich hier gesagt hatte,
ich will dieses Programm starten, hat das System geguckt,
ja, wie heißt denn dir dieses Problem,
Carols first Program,
okay,
da muss ich also
Carols first Program starten
Wenn ihr jetzt ein anderes Problem aus dieser Liste auswählt,
das nächste Optän-Artefakt, dann muss ich dann auch das entsprechend hier so formulieren.
Also ich muss jetzt schreiben, Optän-Arte-Fakt, weil sonst,
wenn ich auf den Start-Button drücken werde,
wird er sonst nicht verstehen,
dass er da anfangen soll mit dem Programm.
Ich kann das ja mal kurz irgendwie, ich vertippe mich mal,
ja, ich schreibe mir mal einen K rein statt einem C.
Und wenn ich jetzt versuchen würde, das zu starten,
würde ich sagen, ich kenne dieses, ich kenne dieses Programm.
Ich habe gesagt, Missing Entry Point, angefangen,
Command Optän Artefakt mit C. Ihr müsst also immer höllisch aufpassen,
dass ihr euch nicht vertippt.
Und dass hier das genauso buchstabiert wird wie hier.
Okay, ein bisschen noch was zu tun ist,
ich klinge
noch einmal aufgeholt
Mhm. Gut. So, wer hat denn mal Lust,
mich hier durch den Code zu führen?
Okay, ich glaube, es klappt erst,
wenn die Leute das einfach in den Raum rufen.
Was soll ich als erstes machen? Ja. Ah,
ich liebe diese Stelle, weil ungefähr 50 Prozent der Studenten sagen immer,
du musst jetzt vier Schritte nach vorne gehen.
Okay. Und wie geht es dann weiter
Ah, Entschuldigung, vertippt. Ja. Links, ja
. Und Drop, ne? So, das probieren wir
jetzt mal ganz langsam. Ja. Naja, das,
darauf will ich gerade hinaus, ne? Also ich starte
das jetzt mal. Also wir drehen uns noch rechts,
wir gehen einen Schritt nach vorne,
wir drehen uns nach links so und jetzt machen wir eins,
zwei, drei, vier Schritte.
Okay, dann drehen wir uns nach links,
gehen schon nach vorne und nehmen den Diamanten auf
Tja, jetzt ist das Programm schon wieder abgestürzt.
Hat jemand eine Erklärung dafür, warum viele Leute glauben,
dass es von hier nach hier vier Schritte sind?
Weil es vier Kreuze sind, genau. Das ist eben
das Gemeine manchmal beim Programmieren, dass man unterscheiden muss,
zwischen wie viele Schritte sind es, wie viele Kreuze sind es,
man nennt es gerne oft bei One-Error.
Damit werdet ihr noch ganz oft zu tun haben in eurem Leben.
Okay, dann lösche ich mal hier einen Move Forward.
Und hier auch? Und dann starten wir das nochmal ganz
in Ruhe, gucken, ob da alles hier richtig passiert.
Ja, das sieht ja nicht schlecht aus
Genau. So, jetzt vergleichen wir mal kurz unsere beiden Lösungen.
Warum sind hier irgendwelche Leertasten, was ich gegen die Wand
gelaufen bin? So. Ja, jetzt könnte man sagen,
vom Anspruch sind die eigentlich recht ähnlich, diese beiden Probleme.
Ich habe jetzt einfach so ganz stumpf von oben
nach unten hingeschrieben, welche Befehle soll er nacheinander abführen.
Und das ist öh, abführen, ausführen.
Ja, Entschuldigung. Welche Befehle soll er ausführen? Und
hier, das Programm ist jetzt eben ein bisschen länger.
Und jetzt könnte man sich schon vorstellen, gut,
die nächsten Probleme werden die dann auch einfach nur immer länger,
immer länger, immer länger, irgendwann passt es nicht mehr auf den Bildschirm.
Und tatsächlich ist es so,
Man kann diese Unterprogramme nicht beliebig lang machen,
also dem Rechner ist es egal, aber der Programmierer steigt da irgendwann nicht mehr durch.
Und deswegen versucht man als Programmierer immer irgendwie so Strukturen zu erkennen,
so dass irgendwas vielleicht ähnlich ist, dass sich gewisse Dinge wiederholen.
Ich weiß nicht, ob ich das gesehen habe,
wenn ich zum Beispiel mal gucke, wenn ich immer versuche,
so ein bisschen Struktur reinzubringen, ist mir das gelungen.
Fällt euch irgendwas auf? Wenn wir mal hier so
diesen Blog
Ich bin mir nicht sicher, ob das dasselbe...
Ja, sagst du nochmal, was hast du gesagt?
Die Blöcke sehen genau gleich aus, genau. Also,
Move Forward, Turn Left, Move Forward,
Move Forward, Turn Left move Forward.
Ist exakt dasselbe. Warum soll ich exakt dasselbe zweimal hinschreiben?
Das macht ja irgendwie keinen Sinn, oder? Wäre jetzt nicht schöner,
wenn ich dieses Stück Code nehmen könnte, woanders hinpacke,
in meinem riesigen Text-Editor und dem irgendwie einen schönen sinnvollen Namen gebe,
der irgendwie ausdrückt, welchen Sinn dieser Code hat.
Also man könnte jetzt mal zum Beispiel gucken,
was macht das in dem Goal
Also quasi ab hier würde das dann ja losgehen.
Also dieses, das Carrie hier so rumfährt.
Dafür bereute ich jetzt einen guten Namen.
Blöderweise fällt mir dafür nie ein guter Name ein.
Ich nenne es immer U-Turn. Ihr könnt es nennen,
wie ihr wollt. Das ist dem System egal.
Hauptsache, ihr seid damit zufrieden und eure Kollegen.
Und dann tue ich da mal den Code rein. So,
ihr seht also, die Definition von so einem eigenen Befehl unter Programmmethode,
wie man das nennt, werden wir später noch ein bisschen formalisieren.
Sieht genauso aus wie hier oben. Also ob das jetzt
irgendein Befehl ist, der in dieser Liste auftaucht oder nicht
, ist erstmal egal
Der steht jetzt hier erst mal einfach nur so.
Ich will ihn jetzt aber natürlich auch irgendwie benutzen an entsprechenden Stellen.
Also zum Beispiel hier, wo ich gerade weggenommen habe,
da kann ich das jetzt einfach genauso hinschreiben,
als wäre das ein eingebauter Befehl.
Ich schreibe dann Befehle einfach hin, Klammer auf, Klammer zu,
sie mir kohlern. Und hier mache ich es genauso.
Ich schreibe den Namen des Befehls hin, Klammer auf, Klammer zu, Symmikolern.
Und diese Leerzeilen sind jetzt nur für mich so,
die müssen da nicht unbedingt stehen, das ist nur,
weil dann gleich die Diskussion einfacher ist.
Das finde ich ganz spannend, dass jetzt dieser Code,
der vorher so, ich weiß gar nicht,
was war das, in Dutzend Zeilen oder so,
wir haben jetzt einen Teilproblem daraus rausgenommen, haben gesagt,
wir verstehen,
dass das irgendwie so eine 180-Grad-Kurve ist und U-Ton haben das in den eigenen Befehl getan.
Wir haben das so ein bisschen unter den Teppich gekehrt und
jetzt müssen wir uns darum nicht mehr kümmern,
wenn wir versuchen wollen,
diesen Code zu verstehen
Also wir versuchen noch mal kurz diesen Code zu verstehen.
Also er dreht sich nach rechts,
dann macht er diesen U-Turn, dann nimmt er den Beeper,
dann macht er noch einen U-Turn und dann legt er den Beeper wieder ab.
Das sind sozusagen fünf Befehle. Das passt in meinen Kopf
gerade noch rein. Das kann ich gerade noch verstehen.
Bin ich ziemlich sicher, dass das jetzt funktioniert.
Und wenn man sich irgendwann nicht mehr so sicher so,
dieses U-Turn, was war das nochmal,
dann gucke ich mir das eben separat an.
Okay, was bedeutet ein U-Turn? Okay,
ich gehe einen Schritt nach vorne, ich drehe mich,
gehe drei Schritte, ich drehe mich, ich gehe nach vorne.
Okay, alles klar. Man kann so
diese Befehle unabhängig voneinander sich anschauen und sich davon überzeugen,
dass sie das tun, was man wirklich will.
Okay, das habe ich jetzt noch gar nicht ausprobiert mit
euch, das muss ich ja mal machen
Erster Schritt, wirdrehen uns nach rechts.
Das ist jetzt ja noch ganz normal. Und jetzt wird's
spannend. Was passiert jetzt, wenn ich Step drücke?
Mal ganz deutlich Handhof, wenn jemand eine Meinung hat.
Du hast eine Meinung. Carrie wird auf dem Liebeauftrag.
Also du glaubst, es könnte sein, dass er sofort hier ist.
Ja, okay, also das ist erst mal eine Möglichkeit.
Möglicherweise führt das komplett aus. Gibt es andere Möglichkeiten,
ja? Ja, ich finde jetzt das andere Programm erzielt.
Er springt in dieses U-Turn rein, ne?
Genau. Das mache ich einmal ganz groß.
Achte mal auf, wo ist der Cursor gleich steht?
Hier, ne
Kerl steht immer noch da, wo er nach dem
Turn Ride stand. Die Welt hat sich nicht geändert,
aber jetzt sind wir dabei, diese Befehlskette abzuarbeiten.
Und irgendwann, wenn diese Befehlskette vorbei ist,
was glaubt ihr, was dann passiert?
Ja. Irgendwie muss er dann wieder zurückspringen.
Und als ich das System das erste Mal eingesetzt habe,
hat das die Leute enorm verwirrt.
Dann war man sich sicher quasi jetzt selber merken muss als Programmieranfänger-Moment.
Dieses U-Turn, wo wurde das eigentlich aufgerufen? Bin ich
gerade in dem Aufwurf hier oder bin ich gerade in dem Aufwurf hier?
Und dafür habe ich mal irgendwann so einen Shortcut eingebaut.
Seht ihr jetzt diese Informationen, die ihr euch sonst selber hättet merken müssen?
Also dieser, dieser rote Bank, deswegen Steuer schon,
Steuerungsschiff R, fängt also an an der Aufrufstelle.
Ich habe ja an dieser Stelle,
habe ich ja dem System gesagt, pass auf,
ich will jetzt bitte, dass ein anderer Befehl aufgerufen wird,
aber merkt ihr bitte, dass wir ursprünglich mal von hier kamen?
Und der rote Balken endet hier, weil ich will quasi
den Weg zurückgehen, sobald der Kontrollfluss hier ankommt.
Wenn also Carol hier in Zalle 46 ankommt, muss er
sich erinnern, Moment, von wo kam ich dann nochmal?
Ich kann ja einfach diesen roten Balken zurückgehen.
A, ich kam aus Zahle 28. Das demonstriere ich euch
jetzt einmal. Ich stepp hier mal so
ein bisschen
So, jetzt ist die Stelle gekommen, wir haben das U-Train komplett ausgeführt.
Tja, in welche, in welcher Zeile werden wir jetzt springen?
Der Cursor belingt ja immer in der Zeile,
die als nächstes ausgeführt wird.
Aha, 30, sehr gut. Schauen wir mal kurz.
Genau, 30. Warum wäre 28 nicht so sinnvoll gewesen?
Der rote Balken war ja tatsächlich in Zahl 28. Ja.
Genau, dann würden wir U-Train unendlich oft ausführen.
Das wäre irgendwie nicht so wahnsinnig sinnvoll, ne?
Also man muss immer
unterhalb des Aufrufs weitermachen
Okay, dann, das ist wieder ein eingebauter Befehl,
dann nehmen wir auf den Beeper.
Jetzt springen wir wieder in unser U-Turn rein. Und diesmal seht ihr,
ist der rote Balken jetzt ein bisschen kürzer,
ist klar, weil wir jetzt ja von hier kommen.
Und uns hier unten, wenn wir da unten angekommen sind,
müssen wir uns ja wieder daran erinnern, Moment von, wo kamen wir?
Ah, wir kamen ja von hier. Das heißt,
wir müssen hier weitermachen. Und das passiert dann auch tatsächlich.
Das ist, ja, eine der, finde ich,
wichtigsten Lektionen beim Programmieren. Sobald eure Programme so lang werden,
dass ihr sie nicht mehr so wirklich in eurem Kopf behalten könnt und darüber nachdenken könnt,
versucht immer Teile zu identifizieren,
die sich gut rausisolieren lassen, die sinnvolle Namen haben,
wo man sagen kann,
das ist so eine Unteraufgabe,
der kann nicht einen guten Namen geben und den kann ich
irgendwie rausziehen aus dem Code
Okay. Ja, dazu mal fragen. Optain Art of Fight,
ja. Ich denke, sowas wie in Superward auch Zalandometer.
Es gibt in Carol keine Parameter online. Da musst du
dich bis Woche drei gedulden, wenn wir Java dran nehmen.
Weitere Fragen? Bis hierhin? Ja. Ah,
das ist eine gute Frage, in welcher Reihenfolge müssen diese Befehle sein?
Also ich habe es jetzt ja so gemacht,
hier ist der Aufruf und weiter unten ist erst die Definition.
Geht das auch andersrum? Ich versuche das mal,
ich schneide das mal hier aus und packe das mal irgendwie
da drüber und schaue mal,
ob Carol das irgendwie verwirrt
Nö. Man spart sogar rote Tinte. Weil er jetzt
nicht mehr durch die ganze Funktion in die Richtung zurückspringen muss,
sondern in die Richtung. Ja. Okay. Es gibt
tatsächlich Sprachen, da muss man das darüber definieren.
Aber ich finde es eigentlich für die Lesbarkeit immer besser,
sozusagen auf, dass die logisch obere Ebene,
dass die auch oben im Quelltext steht.
Ich finde das so rum netter. Gut. Ja.
Was heißt denn neu? Ah, ja, was heißt
dieses Void? Das müsst ihr jetzt erstmal so akzeptieren,
dass das da steht. Ihr müsst es vor jedem Befehl
davor schreiben. Was es genau bedeutet, lernt ihr
erst in Woche drei
Tja. Frage? Wie tief kann man als Region der
Programme beschäftigen? Wie tief kann man die Unterprogramme schachteln?
Ich bin da noch nie an ein Limit gekommen und
ich habe auch kein explizites Limit eingebaut.
Ich vermute mal, ein paar Millionen. Müsstest du
mal ausprobieren? Ja. Das kann das 4,
13, 14 zu kaufen, aufdienen.
Das ist möglich. Es gibt sicherlich Möglichkeiten,
das System kaputt zu machen.
Das ist das, was ich selber automatisch kann. Kann ich Youturn sich,
also die Leute wollen hier ganz viel über Rekursionen wissen.
Gut, also wenn jetzt schon mehrfach Fragen dann kommen,
dann beantworte ich das einmal kurz.
Liebe Anfänger, bitte lasst euch nicht verwirren.
Die Studenten wollen unbedingt, dass ich ihnen das erkläre.
Nein, Rekursion ist nicht erlaubt. Das System verbietet Rekursionen in
den ersten beiden Wochen. Ihr dürft in Woche 3,
wenn wir mit Java anfangen und Carrie gar nicht mehr machen,
dürft ihr Rekursionen machen?
Vorher nicht. Also vergesst das bitte, dass ich
das erwähnt habe. Der Cousin ist verboten. Gut.
Ich glaube, ich mache einfach mal weiter.
Können auch Fragen euch auch merken sonst und später stellen.
Ja, was soll er denn da machen? Also er
läuft da irgendwie bis zur Bahn, nimmt den Diamanten auf.
Das sieht ja sehr einfach aus, oder?
Machen wir nochmal ein bisschen langsamer. Okay,
also er geht da so
ein paar Schritte
Dann nimmt er den Diamanten auf und dann geht er wieder zurück. Und man sieht,
dass vielleicht so ein bisschen an dem Namen dieses Rätsel-Defused One-Bong,
wenn ihr es genau wissen wollt,
schaut ihr euch das Aufgaben dort an,
da steht so eine kleine Hintergrundgeschichte.
Also Kerl wird zum Sprengstoffmeister ausgebildet. Und so als kleiner
Test soll er diese Bombe entschärfen. Die droht also gleich
zu explodieren und deswegen muss er da ganz schnell hinlaufen und sie mitnehmen.
Und am Ende des Problems dreht er sich dann nochmal um
und schaut sich die Wand an,
die er da vor der Defonation bewahrt hat.
Seht ihr, jetzt schaut er voller Stolz.
Okay. Ja
Was muss Carrio machen? Das kann ich zählen lassen,
beide so. Ich zähle lassen, die weitere.
Wie weit er läuft. Wie viele Schritte? Neun Schritte,
genau. Also zum Beispiel... Sind das jetzt neun?
Ich zähle noch mal kurz nach. Eins, zwei.
Ich glaube, es sind neun. Aber irgendwie
so richtig hübsch ist das nicht, oder?
Hm. Geht das nicht einfacher? Wie macht man
eine Schleife? Das ist genau der richtige Punkt.
Wenn ich etwas mehr als einmal machen will,
kann ich sagen,
Wie oft soll es passieren und was soll passieren? Also ich muss jetzt nicht,
später müsst ihr auch Dinge hundertmal repeaten oder so,
ihr müsst da nicht hundertmal wo Vwards untereinander schreiben.
Sondern ihr könnt einfach sagen, Refeat 100 oder Repeat 10 oder so.
In diesem Falle Repeat 9. Hier mal wieder 9,
es sind zwar zehn Felder,
aber ich muss ja nur neun Schritte nach vorne gehen,
weil auf dem ersten Feld stehe ich ja schon.
Okay, das führe ich ja mal ganz kurz aus,
dass wir bis dahin uns sicher sind, dass das funktioniert.
Also ich starte das mal. Ja,
sieht auch gut aus, oder? Zack. Okay,
was sollen wir dann machen?
Ja. Armdrehen, ja
So muss ich das wieder machen. Ich schreibe das jetzt einmal
ganz kurz hin. Vielleicht fällt uns gleich eine bessere Möglichkeit ein.
Ja. Und dann sollten wir uns diese Wand noch einmal angucken.
Schauen wir mal ganz kurz. Ach, schön. Ich muss
das mal richtig genießen in etwas langsamere Geschwindigkeit. Ach ja,
ah, er hat es geschafft, sie zu entschärfen.
Sehr gut. Okay, jetzt haben wir hier und hier
zweimal denselben Code. Was macht man da gerne als Programmierer
? Auslagern? Wie wollen wir denn den Befehl nennen
Walk Move. Ich nenne ihn einfach mal so,
wie er später auch auf den Folien steht,
dann seid ihr nicht verwirrt, wenn ihr euch die Folien anschaut.
Aber das ist ein völlig beliebig gewählter Name.
Ihr könnt das auch ganz anders nennen. Hauptsache,
es drückt irgendwie aus, dass man neun Schritte nach vorne
geht oder in diesem Fall will ich sagen,
ich habe das vergessen, hier hinzuschreiben.
Ich will einmal durch die ganze Welt durchgehen.
Das ist ja eine sehr kleine Welt bei Kerl, ne?
Genau. Das schauen wir nochmal an, dass das wirklich funktioniert.
Also ich starte das Programm. Move a Cross World,
da springen wir jetzt rein.
Jetzt erscheint wieder dieser rote Balken,
den kennt ihr ja schon
Und dann, ja, versucht er jetzt hier neunmal dieses Moforward auszuführen,
da wird einfach intern so ein kleiner Zähler mitgezählt,
das kann man hier leider nicht sehen.
Und jetzt ist er, glaube ich, davon überzeugt,
dass er das neunmal gemacht hat, springt aus der Schleife
raus und wir springen zurück und dann anschließend Zeile 51.
Jo, dann nehmen wir den Bieper, den uns um,
machen ein weiteres Mal dieses Moforcross-World, das wird wieder neunmal gemacht.
So, und dann springen wir wieder zurück und ans letztes
müssen wir noch das Turnaround machen.
Fragen zu dieser Lösung? Ja. Ist das mit der Frage,
geht neun nicht das, was vorhin gesagt wurde,
nicht,
dass ein Parameter ist
Nein, das ist was Besonderes. Also du kannst nicht
hinter irgendwas anderes einen neuen schreiben. Es geht nur bei einem Repeat.
Gut, keine weiteren Fragen. Doch. Also Glück,
Glück braucht genau eine, da hatte ich auch der Tempel.
Und genau eine Zahl müsst ihr da hinschreiben. Eine Zahl
zwischen eins und 999 mehr ist nicht erlaubt in dem System.
Wenn du mehr als 999 brauchst, musst du mehrere Repeats ineinander schachteln.
Okay. Jo, schauen wir uns nochmal das Nächste an.
Jetzt wird es langsam spannend. Also da das so gut
mit einer Bombe geschafft hat, denken seine Ausbilder,
naja,
eine Bombe schafft ja jeder
Mal gucken, ob er das auch mit zwei Bomben hinkriegt,
die an verschiedenen Wandecken liegen. Tja, ich fange schon mal
an zu tippen, ihr schaut es euch nochmal an.
Was muss ich da jetzt tun? Das ist ja so ähnlich
wie vorher, ne? Und du hattest schon mal,
ich komme auf irgendjemand, der noch nichts gesagt hatte heute,
du hattest, glaube ich, noch nichts.
Ah, sehr gut. Man kann einfach sagen,
die Fuse One Bon, wo wird Carol denn dann stehen?
Dann wird er ja quasi hier stehen, er wird dann
die Bombe schon aufgenommen haben und wird wieder nach Osten gucken,
ne?
Was müssen wir dann
als nächstes machen
John Left. Genau. Sehr schön.
Er muss sich nach rechts drehen, sagst du?
Das Interessante ist ja, glaube ich, dieses John Around.
Wir starten das einmal ganz kurz. Also, ach Gott,
ich habe mir schon mal eine Maus kaputt geklickt mit Kerl.
So. So, jetzt haben wir die erste Bombe entschärfen und wir gucken,
wo es von euch aus Osten da, ne?
Wir gucken nach Osten und müssen jetzt nach Norden.
Dazu ist doch Turn Left eigentlich vernünftig, oder?
Ja. Und dann wird die nächste Bombe entschärft
Gut. Ich finde das extrem spannend, dass der Code,
um zwei Bomben zu entschärfen, kürzer ist, als der Code,
um eine Bombe zu entschärfen. Das ist, ich sage mal,
das ermöglicht es uns, zum Beispiel tot zu nehmen,
den andere Leute schon mal geschrieben haben,
wenn ihr zum Beispiel Java auf eurem Rechner installiert,
kriegt ihr eine Standardbibliothek,
mega weitweise Code und ihr könnt die coolsten Programme mit relativ wenig Zeilen Code hinschreiben.
Einfach dadurch, dass ihr Code benutzt, den andere vorher
irgendwann mal geschrieben haben. Wenn ihr das Step Intro sagt,
werdet ihr merken, oh Gott, das sind ja tausende,
zehntausende, hunderttausende Zahlen von Code,
aber ihr könnt sie
einfach benutzen
Es sieht jetzt hier an dieser Stelle ein bisschen so aus,
als wäre die Fews One Bomben eingebauter Befehl und ich könnte ihn einfach benutzen.
Das will ich euch auch nochmal ganz kurz demonstrieren.
Ich habe ja bis jetzt nur diesen Step-Into-Knopf euch erklärt.
Es gab ja vorhin die Vermutung, was passiert,
wenn ich einen eigenen Befehl aufrufe?
Ich habe gesagt, wenn man auf dieses Step-Into klickt,
dann wird er wirklich schrittweise dieser Befehl ausgeführt.
Und eine Studentin hatte vermutet, möglicherweise wird das ja auch
komplett im Ganzen ausgeführt, ohne dass ich die Einzelschritte sehe.
Und das ist tatsächlich auch in das System angefordert.
Nur da müsst ihr einen anderen Knopf drücken, nämlich dieses Step-Overklingen.
Also wenn ihr Step-Over sagt, dann wird dieses Defumes One Bomb komplett ausgeführt
Und wenn es komplett ausgeführt ist und der Kontrollverlust kehrt irgendwann
hierhin zurück, dann pausiert das System wieder.
Es ist also nicht so, dass jetzt was irgendwie übersprungen
wird oder so. Ich sehe nur nicht die Zwischenschritte.
Ich klicke jetzt einmal den Button, achtet mal drauf.
Zack. Ja, ja, er ist gut.
Jetzt bei den eingebauten Befehlen macht Step Intos Step-Over keinen Unterschied.
Er dreht sich halt nach links und jetzt hier nochmal
ein kleines Step-Over. Oder ich mache einmal ein Step-Ito.
Und dann sage ich zum Beispiel, ach, verdammt,
ich wollte gar nicht auf Step-Ito klicken.
Ich wollte eigentlich Step-Over klicken. Wie komme ich denn jetzt
wieder raus aus der Funktion? Also ich will,
dass da die Funktion bis zum Ende ausführt und dann wieder zurückspringt.
Dafür gibt es eben auch einen Knopf. Ich kann Step-Return sagen. Step-Return heißt,
ich bin gerade in dem Move für Crossworld,
führe das Move für Crossworld bitte bis zum Ende aus
und springe zurück und dann pausiere dann erst wieder
Dann müsste ich jeder Kontrollverschlange. Das ist immer. Und
da will ich eigentlich auch zurückspringen. Ich will ja quasi,
dass er dann wieder hier landet. Da sage ich noch
mal Stapleturn. Also das Stapleturn ist immer dann sinnvoll,
wenn ihr aus Versehen Step-Into statt Step-Over gesagt habt,
damit ihr eure Mäuse nicht kaputt klickt.
Gut. Okay, jetzt haben wir noch eine Viertelstunde,
das ist doch gut. Ja. Ja. Also das Beine,
das ist jetzt der Füßenstudio. Ich schaffe das jetzt,
dass die Johannes sofort, Achso, ja,
die Frage, das ist einfach so definiert.
Also es gibt hier diese Liste von Problemen und ich habe das hart in das System eingebaut,
wenn du auf die Fuse One Bonb klickst,
dann wird genau hier ein Diamant sein.
Und wenn ich auf die Fuse Two Bonbs klicke,
dann wird hier und da ein Diamant sein.
Also ich habe diese Rätsel, diese Welten einfach hart in
das System reinkotiert und ihr müsst mit diesen Rätseln dann irgendwie umgehen.
Du kannst auch schummeln und weitere Bomben in der Welt ablegen.
Dann musst du dein Programm natürlich entsprechend anpassen.
Aber die Betreuer werden immer die Lösung so abnehmen,
dass sie für die Ausgangssituation passen.
Ja. Das heißt aber, wie ich das höhe,
ist dann egal,
das ist nicht
Das Programm überprüft nicht, ob da eine Lösung korrekt ist,
nein. Nein, und bleiben wir gegangen,
weil es gibt ja da vielleicht schnell nichts. Achso,
du meinst, du könntest dir hier auch so ein bisschen Zeit,
dass du hier mal so ein bisschen rumspazieren.
Das könntest du tun. Klar. Die Frage ist dann dann,
ja, du könntest dann pedantisch werden und mit dem Betreuen diskutieren,
kriege ich dafür jetzt einen Haken oder nicht.
Aber welchen Sinn sollte es haben, diesen Umweg zu gehen,
außer die Betreuer zu ärgern?
Also ich, davor, der Mittel, der FRU-Mordung.
Über welches Problem redest du gerade? Das hier? Ja,
also ich würde immer versuchen,
um irgendwie den Reibungsfaktor mit den Betreuern zu minimieren,
ist wirklich genauso zu machen,
wie Kerl das hier vorführt
Ja. Spart euch den Stress einfach.
Okay. Ja, wir überspringen jetzt mal ein bisschen,
ihr solltet ja auch ein bisschen was selber machen.
Das ist das Nächste, was ich mit euch machen will,
weil das eine ganz besondere Welt ist.
Die sieht ja erstmal irgendwie komisch aus. Hm, ich
schlade sie nochmal neu. Oh. Hm. Jedes Mal,
wenn ich die Welt lade, sieht sie anders aus.
Das ist ja interessant. Aber das ist eine langweilige Welt.
Ich will sie ein bisschen, ja, ist auch langweilig.
Ich hätte nicht so viel klinken sollen.
Ja, die ist ganz spannend. Okay, was ist
die Geschichte
Hat schon wieder einen neuen Berufsrat, also mit den Bomben,
den Entschärfen wurde doch nicht so gut geklappt.
Er kümmert sich jetzt um die maroden Straßen dieser Welt und füllt die mit Zement.
Diamantenzement, ja. Genau, und das Interessante ist,
ich kann jetzt nicht einfach so das Programm so hart codieren,
dass ich sage, na gut, ich weiß,
dass hier ein Loch ist und ich weiß,
dass hier ein Loch ist und gehe ich immer zwischendurch
ein paar Schritte nach vorne und dann fülle ich da Löcher.
Weil es ist ja jedes Mal ein bisschen anders, das Problem.
Also es muss jetzt irgendwie noch eine Möglichkeit geben, abzufragen,
wie sieht die Welt eigentlich aus und der Kerl sich befindet.
Und dazu zeige ich euch mal ganz kurz,
welche Möglichkeiten es da gibt
Weil so, es gibt noch weitere F-Tasten.
Wer hätte das gedacht? Ich habe alle zwölf F-Tassen ausgenutzt.
F-7 gibt es noch. F-8, 11, 9,
11, 10 oder F-11. Wir haben also hier zwei Abfragen,
die kümmern sich um Diamanten. Und dann haben wir
noch drei Abfragen, die kümmern sich um Wände.
Okay. Ich kann also fragen, lieber Kerl,
stehst du momentan auf einem Diamanten? Oder lieber Kerl,
auf dem Feld, was vor dir ist,
befindet sich dort an Diamant. Oder ich kann fragen,
fühl doch mal mit deiner Linken an, ob da keine Wand ist.
Also ob da frei ist. Spür doch mal auch vor dir,
keine Wand ist und spür doch mal,
ob rechts von dir keine Wand ist
Das sind also Abfragen, die man machen kann.
Aber ich muss jetzt irgendwie auch sagen, okay,
was soll denn jetzt passieren, wenn diese, wenn diese Bedingung gilt?
Und vielleicht die Leute, die schon mal programmiert haben,
werden jetzt nicht unbedingt staunen.
Man verwendet, if. Ja. Okay,
welche dieser fünf Bedingungen wäre denn jetzt hier sinnvoll,
um zu sagen, unter folgenden Umständen wäre es sinnvoll,
da jetzt mal so ein Loch zu füllen?
Wie kann ich das erkennen, dass ein Loch ist?
Right is clear. Welche Elf-Taste? F11 müsste das sein
? Ja, genau. Und was wollen wir tun,
wenn rechtsfrei ist
Demonstrieren sie dazu. Nach links sagst du? Müssen wir
uns umdrehen, oder? Genau. Und dann nach vorne.
Dann gucken wir nach Norden. Ich würde eigentlich ganz gerne
nach Osten gucken. Wie muss ich mich dann noch drehen?
Nach rechts? Das mache ich aber ganz kurz.
Das ist jetzt noch nicht fertig, das Programm.
Aber einfach nur, um zu sehen, ob das zumindest
bis hier funktioniert. Also, Carol weiß jetzt Bescheid.
Okay, wir sind in Zalo84-Ankommen. Oh, hier steht dann
, if. Jetzt gerade interessiert sich der Foremierer dafür,
ob rechts von mir frei ist.
Dann prüfe ich das nochmal. Wie sieht es aus?
Ja, sieht gut aus. Hier ist frei.
Was bedeutet das? Das bedeutet, Carol muss jetzt
diesen Blog ausführen.
Ja, ne, dreh dich nach rechts,
geh nach vorne, leg einen Bipa ab, dreh dich um,
geh einen Schritt nach vorne, dreh dich nach rechts.
Das ist doch toll. Jetzt lade ich einmal
eine Welt, wo da kein Loch ist.
Ich mit meinem Glück werde jetzt wahrscheinlich ewig klicken müssen.
Ah, geschafft. Das starte ich jetzt mal.
Und jetzt... Er prüft ist rechts von mir frei.
Ist es nicht, und das bedeutet an Kerls Welpe oder Logik,
diesen Block bitte ignorieren, bitte unterhalb dieses Blocks weitermachen.
Tja, unterhalb dieses Box ist ja nur noch die geschweifte Klammer zu,
ne? Und dann passiert nichts mehr. Gut,
also diesen Code, den wir jetzt gerade geschrieben haben,
Den würde ich eigentlich fast am liebsten schon gleich wieder in eine eigene Unterfunktion tun,
denn damit füllt man ja quasi ein Loch oder man versucht,
ein Loch zu füllen, wenn es da ist.
Ich nenne das einfach mal so Try für One Ball.
Okay. Da tue ich jetzt mal diesen Code rein.
Warum? Wir sind ja noch nicht fertig. Ich habe
jetzt das Problem gelöst, ein Loch zu füllen,
wenn es da ist. Aber es ist ja nicht nur,
ja, sozusagen am Anfang der Welt einmal dieses Loch,
sondern ich muss das jetzt ja mehrfach machen.
Hat der
Das ist eine spannende Frage. Fehlt da jetzt ein Move Forward?
Sollen wir das Move Forward in das Trifal Hole reinmachen?
Oder soll es lieber außerhalb des Trifal Holes rein?
Also gehört das quasi zur Aufgabe, dieses ein Loch zu füllen,
dass da dann auch die Position des Lochs verlässt?
Ist so ein bisschen, muss man dann gucken,
ob das am Ende gut hinkommt.
Ich will es jetzt erstmal nicht da reinschreiben.
Dass ich da auch dann sein breites Tier bestimmt werde,
das macht er ja nicht.
Das muss auch mal sein. Okay. Gut. Also
irgendwelche Vorschläge, was ich jetzt mal hier reinschreiben soll.
Ja. Das ist halt einfach
nur ein Forward
Dass er das nochmal bereut, gewonnen wurde.
Was soll ich in Cyle 84 reinschreiben? Ich muss es
ganz konkret von jemandem hören. Vielleicht nehme ich jetzt wirklich
jemanden mit Melden dran, sonst wird es zu unruhig.
Dich. Repeat 9, okay. Das war 84. Ach so
, okay. Gut. Was kommt in Cyle 86?
Ja. 12. Ja, was kommt in die Zeile?
Nun vorwärts sagt jemand, okay, das akzeptiere ich.
Gut. Das ist interessant. Das will ich mal,
möglicherweise, wenn einige sehen, dass es noch nicht ausweicht,
aber wir starten das mal, was er jetzt macht.
Ah ja, das Lochfilter, das ist auch,
ach, wunderbar. Das sieht noch nicht schlecht aus.
Ciao. Ich nehme mal 10. Es sind ja 10 Löcher
. Ich schreibe hier einfach mal eine 10 hin.
Mal gucken,
was jetzt passiert
Gar nicht so einfach, ne? Wir haben jetzt so
ein typisches, klassisches Problem in Kerins Well.
Wir wollen eine Aufgabe in zehn verschiedenen Spalten füllen, erfüllen.
Und wir müssen zwischendurch neun Schritte nach vorne gehen.
Das heißt, wenn ich hier eine neun reinschreibe,
dann habe ich ein Loch zu wenig gefüllt.
Und wenn ich hier eine zehn reinschreibe, dann gehe ich einen Schritt zu viel.
Vielleicht nochmal irgendwann anders, du? Das kann man ja
nicht lecken. Okay, du willst es checken.
Könnte man machen. Hat jemand einen Alternativenforscher ohne Check? Ja,
kann einfach, einfach dies zur Rest fucking Wall holen und so
ein Board kaufst und das auf 3-4-1-0,
wo das App holt, die vorletzt und sagt, Okay.
Ich mache das mal so, wie du es gesagt hast.
Du meinst quasi so? Das probieren wir doch einmal ganz kurz.
Also nach dem Motto, fülle das erste Loch und anschließend
musst du neunmal zum nächsten Loch gehen, um das versuchen zu fühlen.
Oh. Nicht schlecht. Meine Musterlösung sieht ein bisschen anders
aus. Ich habe das so gemacht und so,
das ist im Prinzip dasselbe in Grün.
Also bei deiner Lösung war das erste Loch was Besonderes und
du bist dann immer zum nächsten Loch gegangen und hast es gefüllt.
Und bei mir ist es so, ich habe gesagt,
ich fülle erstmal die ersten neuen Löcher und verlasse dann die Position
der ersten neun Löcher und am Ende stehe ich auf den zehn und dann fülle ich das.
Das ist wieder Geschmackssache, was man da jetzt schöner findet
Egal. Und die alternative Lösung mit einem IF könnte man
genauso machen. Was? Ja. Du willst,
dass er abhängig von einer Bedingung eine Schleife immer wieder ausführt.
Das kommt nächste Woche dann. Ein Elz.
Was hättest du denn gerne an das Eltern reinschreiben wollen?
Einfach die Vorarbeit. Ja, aber das Move Forward musst
du ja auch machen, wenn er ein Loch füllt.
Dann gehst du am Ende zu wenig.
Dann wirst du dasselbe Loch versuchen,
mehrfach zu füllen
Okay, wir haben nur noch fünf Minuten.
Ich will euch noch eine wichtige Sache beibringen.
Wir haben jetzt fast alles kennengelernt, was ihr braucht,
an Sprachschatz, um alles zu lösen.
Wo ist es denn jetzt, das hier, glaube ich?
Du hast noch eine Frage? Eine kleine Frage, das
ist die diamantisch. Ist es dann auch noch clear?
Clear bezieht sich nur auf Wände. Nee, das war es
nicht. Was war es denn? Das war es.
Okay. Das ist wieder so ein Kerl-Rätsel mit Bildschirmschoner-Qualitäten.
Schaut euch an, was er macht
Ja. Also die Hintergrundgeschichte ist, er war im Baumarkt,
ich will keinen konkreten Namen nennen,
weil die gehen so oft pleite, dann vertue ich mich wahrscheinlich.
Also er war im Baumarkt, hat irgendwie so Badezimmerfliesen gesehen,
die er so ansprechend fand, so schön grün und viereckig.
Und er legt die jetzt einmal zu Hause aus und will einmal eine Nacht drüber schlafen,
ob er die wirklich fest in seinen Bade zum Einbauen fällt.
Aber er legt sie erstmal aus, ne? Jo.
Das sieht doch ganz nett aus. Das versuchen wir doch
mal zu programmieren. Und das ist so ein wunderbares Rätsel,
wo man so schön schrittweise eine Lösung entwickeln kann.
Also ich stelle mich jetzt einfach mal völlig blöd.
Sag ich mal, was ist die erste Frage,
die ich definitiv beantworten kann?
Wie viele Fliesen muss Kerl legen
99 oder 101 oder 100, ne? Also ist es doch
bestimmt sinnvoll mit Refeat 100 anzufangen und eine Fliese abzulegen.
Wenn man da so eine Sekunde auf das Programm raufguckt,
sieht es erstmal sinnvoll aus.
Es wird natürlich nicht lange gut gehen, weil er sofort
die zweite Fliese natürlich auf dieselbe Stelle legen will.
Das ist ja okay. Aber für ein Prozent hat es schon funktioniert.
Gut. Dann ist es sicherlich als nächstes sinnvoll zu sagen,
gut, ich muss irgendwie von der Fliese runter,
die ich gerade gelegt habe.
Es macht keinen Sinn, auf der Fliese zu verweilen.
Ich muss auf jeden Fall anschließend einen Schritt nach vorne gehen.
Machen wir das doch mal und schauen, ob das schon mal besser ist.
Oh ja, das sieht doch schon aus wie der Bildschirm
schon mal. Ah, verdammt. Okay,
aber wir haben schon 10 Prozent des Rätsels gelöst. Also,
wir legen die Fliese und gehen einen Schritt nach vorne.
Jetzt könnte natürlich dieses Schritt nach vorne gehen, könnte knallen.
Das könnte nicht funktionieren. Das muss ich jetzt irgendwie,
tja, was machen wir da?
Da müsste nach einer Wand oder einem anderen Lieber checken.
Okay, wollen wir uns erstmal um die Wände kümmern?
Also, muss ich links oder rechts oder gerade ausprüfen?
Geradeaus? Okay. Also, wenn vor mir frei ist,
Was muss ich machen, wenn, wo mir frei ist?
Wo, Forward wurde gesagt? Wenn vor mir frei ist,
soll ich, soll ich nach vorne gehen.
Okay. Was, das ist jetzt auch Neu-Ls,
was soll ich denn machen, wenn nicht vor mir frei ist?
Nur nach links drehen? Unten gefordert. Hm,
das testen wir einmal, bevor ich jetzt anfange an dem Programm rumzudoktern.
Sie sieht also, dass er immer hier diesen Block ausführt und den Als-Block überspringt.
Jetzt hat er einmal das L so ausgeführt,
jetzt geht er wieder hier rein.
Vielleicht auch noch einmal ganz kurz in Zeitlupe,
dass euch das klar ist
Kere ist in der Zeile mit dem Öf.
Das heißt, jetzt muss ich die Bedingung prüfen.
Ist vor mir frei? Ja, das heißt,
ich soll diesen Block ausführen und den bitte ignorieren.
Das heißt, wir führen den Block aus und ignorieren den anderen.
Wenn in diesem Fall, jetzt ist vor mir nicht mehr frei,
muss ich diesen Block ignorieren und den hier ausführen stattdessen.
Das heißt also, bei dem ÖfLs müsst ihr euch immer
für genau einen der beiden Blöcke entscheiden.
Es wird niemals passieren, dass einen beide Blöcke gleichzeitig reingeht oder hintereinander.
Und er kann auch nicht beide Blöcke überspringen.
Er geht in genau einen dieser beiden Blöcke rein.
Ja, da haben wir dann ein Problem.
Ich würde aber ganz gerne noch mal kurz mit euch diskutieren.
Mir scheint das ein bisschen umständlich zu sein, zu sagen,
in dem einen Fall muss ich nach vorne gehen.
Und in dem anderen Fall drehe ich mich nach links,
bevor ich nach vorne gehe. Also beide Blöcke enden mir
wieder mit, dass ich nach vorne gehe.
Da wir ja wissen, wie groß das meldet,
können wir einfach einfach sehen, wie gesagt, ja,
ich würde so mit Suizid noch lästern können.
Das wird, glaube ich, kompliziert,
weil das ja immer kürzer wird.
Also das ist jetzt wirklich eine sehr technische Frage.
Sieht jemand einen Trick zu vereinfachen? Ich habe zwei Blöcke
. Beide enden mit demselben Befehl, ja.
Man kann das Q-Forward einfach daraus ziehen
Sodass da eben hinter den Block hat. Sehr gut. Du hast gesagt,
man kann das Moforrad rausziehen und hinter den Block packen,
weil es muss ja auf jeden Fall als letztes gemacht werden.
Das heißt, ich mache jetzt mal so, zack.
Ja, seht ihr das? Also, wenn vor mir
frei ist, muss ich mich nicht drehen.
Ansonsten muss ich mich nach links drehen. Und völlig unabhängig davon,
ob ich mich gedreht habe oder nicht,
muss ich anschließend einen Schritt nach vorne gehen.
Das ist eine Mitmeldung? Das ist jetzt die nächste Vereinfachung.
Zu sagen, bei einer bestimmten Bedingung will ich nichts tun.
Und im anderen Fall will ich was tun,
das tritt so häufig auf bei Programmen,
dass man sagt,
sowas will man da
eigentlich nicht stehen haben
Macht man folgendes. Man negiert die Bedingungen. Ich schreibe
ein Ausrufezeichen davor. Das bedeutet, wenn die Bedingungen nicht
gilt. Und dann kann ich die beiden Blöcke vertauschen.
Jetzt sage ich also, wenn nicht vor mir frei ist,
drehe ich mich nach links. Ansonsten mache nichts. Okay,
und jetzt kommt noch ein letzter kleiner Trick.
Ein Els mit einem leeren Blog braucht man nicht.
Das ist sozusagen implizit. Wenn ihr im anderen Fall nichts
machen wollt, dann braucht ihr das auch nicht hinschreiben.
Jetzt ist das Programm, glaube ich,
schon deutlich kürzer und ein bisschen übersichtlicher geworden.
Also ich lege die Fliese ab. Wenn nicht vor mir frei ist,
drehe ich mich nach links und anschließend gehe ich einen Schritt nach vorne,
unabhängig davon,
ob ich mich gedreht habe oder nicht.
Musst du vielleicht noch fragen bei dem Floh, wenn du bei Brust bist.
Wenn man das jetzt mal durchlaufen lässt, am Anfang,
der am Ende, ja, bei Brust.
Du willst das Goal sehen? Genau. Da läuft es ja am Ende
nur noch einmal nach vorne und wenn man nachdenken würde,
jetzt die Verbieter zu joggen, dann ist es vielleicht nichts.
Da läuft es ja nach vorne. Ja,
aber das Move Forward ist ja das Letzte,
was wir in der Schleife tun. Das heißt,
wenn du beim 100. Schleifendurchlauf auf die letzte Fliese raufgehst,
ist es ja kein Problem,
weil danach machst du ja nichts mehr.
Aber wir sind ja noch gar nicht fertig.
Das Programm stürzt ja noch ab.
Hat jemand
einen Vorschlag
Oder kann irgendwie das Problem erklären. Also es kam ja schon die Frage,
dieses Front is clear bezieht sich das auch auf Diamanten?
Nein, tut es nicht. Also wenn Carrie an
dieser Stelle steht, würden wir eigentlich gerne wollen,
dass er sich auch nach links dreht.
Nicht, weil hier eine Wand ist, sondern, ja.
So müsste jetzt, bevor man nach links oder nach vorne geht,
noch Checkbook, vor allem die Wand von Sleeper League oder nicht.
Und was würdest du dann machen, wenn da einer liegt?
Woher? Aha, das heißt, es gibt noch eine zweite Bedingung,
unter der er sich ebenfalls nach links drehen muss.
Ich will dafür jetzt kein zusätzliches IF schreiben,
das macht das Ganze, glaube ich, zu kompliziert.
Hat jemand eine Idee,
ja?
Genau, das muss ich euch jetzt auch beibringen.
Ihr könnt also mehrere Bedingungen kombinieren. Ihr könnt also sagen,
wenn vor mir nicht frei ist, muss ich mich nach links drehen.
Alternativ sollst du mir aber auch in den Block reingehen,
wenn vor dir ein Bieper ist.
Das führen wir einmal ganz kurz aus. Ah, ist das
spannend. Hast du funktioniert? Wahnsinn. Ich glaube,
dass das Moforward, haben wir ja hier schon gemacht,
er landet exakt auf derselben Fliese wieder Score.
Wir haben in diesem Fall nicht das Problem,
dass wir zu weit gehen,
weil da keine Wand ist und die
er reinlaufen kann
Okay, habt ihr noch Fragen zu dem, was wir heute gemacht haben?
Also ich gehe vielleicht noch mal ganz kurz das durch.
Es tut mir leid, das wird ein bisschen überziehen,
aber ein, zwei Minuten gönne ich mir heute auch mal ausnahmsweise.
Also wir haben gesehen, wie man Code-Abschnitte in eigene Unterfunktionen tun kann.
Dann haben wir gesehen, wie man mehrfach Befehle ausführen kann.
Dann haben wir diesen Sonderfall kennengelernt, wenn ich etwas zehnmal
machen will und neun Schritte zwischendurch nach vorne gehen will.
Und dann haben wir noch das IF kennengelernt und wie man Bedingungen kombiniert.
Ich glaube, ich habe keine Fragen mehr, oder?
Viel Spaß in den Übungen
bis nächste Woche