From 5f063088cb71f8e47b010268e23ce81d72815ef4 Mon Sep 17 00:00:00 2001 From: ruffdd Date: Fri, 17 Sep 2021 17:11:07 +0200 Subject: [PATCH] result of workday 17.09.21 see also: #127 #128 #129 #130 #131 #132 --- sheets/1/exercise-1.tex | 32 ++++++++++++++-------------- sheets/1/exercise-2.tex | 14 ++++++------ sheets/1/exercise-3.tex | 47 +++++++++++++++++++++-------------------- sheets/1/exercise-4.tex | 6 +++--- sheets/1/exercise-5.tex | 7 +++--- sheets/vorkurs.cls | 4 ++-- 6 files changed, 55 insertions(+), 55 deletions(-) diff --git a/sheets/1/exercise-1.tex b/sheets/1/exercise-1.tex index 102df4f5..2b90b716 100644 --- a/sheets/1/exercise-1.tex +++ b/sheets/1/exercise-1.tex @@ -1,7 +1,7 @@ % !TeX root = ./jvk-blatt1.tex \newcommand{\jvkpackage}{JavaVorkurs2020\_EclipseProjekt.zip} -\newcommand{\jvkpackageurl}{https://fius.informatik.uni-stuttgart.de/wp-content/uploads/2020/10/JavaVorkurs2020\_EclipseProjekt.zip} +\newcommand{\jvkpackageurl}{https://fius.informatik.uni-stuttgart.de/wp-content/uploads/2020/10/JavaVorkurs2020\_EclipseProjekt.zip} \excercise{Programmstart} @@ -14,7 +14,7 @@ \end{center} \item Nachdem das Zip-File heruntergeladen wurde, muss man es in einem geeigneten Ordner entpacken.\\ - \textbf{Windows:} Entpacken funktioniert durch einen Rechtsklick auf die Datei und dann durch klick auf \fbox{Alle extrahieren...}$\to$\fbox{Extrahieren}.\\ + \textbf{Windows:} Entpacken funktioniert durch einen Rechtsklick auf die Datei und dann durch klicken auf \fbox{Alle extrahieren...}$\to$\fbox{Extrahieren}.\\ \textbf{Linux:} Am schnellsten entpackt man ein Zip-File über das Terminal mit dem Befehl: \newline\hspace*{\fill}\texttt{\textgreater\ unzip \jvkpackage}\hspace*{\fill}\newline \textbf{Apple:} Nachdem man das Zip-File im Finder offen hat, entpackt man es durch einen einfachen Doppelklick. @@ -42,12 +42,12 @@ \begin{enumerate} \item Finde und öffne die \texttt{Main} Klasse in dem Package Explorer von Eclipse. Die Klasse ist in dem Ordner \texttt{src/main/java} und dann in dem Package \texttt{de.unistuttgart.informatik.fius.jvk} in der Datei \texttt{Main.java}. - Führe das Projekt aus indem du den grünen Play-Button (links oben in der Werkzeugleiste, rechts neben dem Button mit dem Käfersymbol) von Eclipse drückst. - Es sollten keine Fehler auftauchen aber auch nichts passieren. + Führe das Projekt aus, indem du den grünen Play-Button (links oben in der Werkzeugleiste, rechts neben dem Button mit dem Käfersymbol) von Eclipse drückst. + Es sollten keine Fehler auftauchen, aber auch nichts passieren. %TODO: bild von den buttons Wir haben ja auch noch nichts programmiert. \item Finde in der \lstinline{Main} Klasse die Zeile mit \lstinline{// implement task 1 (from sheet 1) here} und füge an seiner Stelle den fehlenden Code aus dem Bild ein. Aktuell musst du den Code noch nicht verstehen, es geht darum den Code Editor in Eclipse kennen zu lernen. - Achte also daruf was passiert während du die fehlenden Zeilen eingibst. + Achte also darauf was passiert während du die fehlenden Zeilen eingibst. \includegraphics[width=\linewidth]{./figures/code.1.png} @@ -61,7 +61,7 @@ \begin{Infobox}[HowTo: Auskommentieren] Manchmal möchten wir, dass bestimmter Code nicht ausgeführt wird. Vielleicht möchten wir ihn später ausführen, oder einfach nicht verlieren. In diesen Fällen Kommentieren wir die Code-Zeilen einfach aus. - Dies geht, indem wir der Code-Zeile zwei Schrägstriche (\lstinline{//}) voranstellen. + Dies geht, indem wir der Code-Zeile zwei Schrägstriche (\emph{eng.} slashes)(\lstinline{//}) voranstellen. Als Beispiel betrachten wir folgenden Code.\\ \hfill @@ -93,13 +93,13 @@ \begin{Infobox}[Fehler] - Einige Aufgaben in Blatt 1 (und auch den anderen Blättern) verlangen von euch den Code absichtlich kaputt zu machen. + Einige Aufgaben in Blatt 1 (und auch den anderen Blättern) verlangen von euch, den Code absichtlich kaputt zu machen. Das Ziel von diesen Aufgaben ist es, dass ihr die Fehler die dabei auftreten schonmal in einem kleinen übersichtlichen Beispiel seht. - Achtet also bei solchen Aufgaben darauf welche Änderung zu welchem Fehler geführt hat. + Achtet also bei solchen Aufgaben darauf, welche Änderung zu welchem Fehler geführt hat. Später kann euch dieses Wissen helfen, wenn ihr nur den Fehler seht und besser versteht, nach was ihr im Code suchen müsst, um den Fehler zu beheben. Ihr braucht auch keine Angst haben, dass ihr etwas nachhaltig kaputt machen könntet. - Eclipse hat eine \q{Undo} Funktion die ihr im Menu oben unter \fbox{edit} (deutsch \fbox{Bearbeiten}) oder über \fbox{Strg + z} aufrufen könnt. + Eclipse hat eine \q{Undo}-Funktion die ihr im Menu oben unter \fbox{edit} (deutsch \fbox{Bearbeiten}) oder über \fbox{Strg + z} aufrufen könnt. Falls ihr trotzdem Hilfe braucht, könnt (\emph{und sollt!}) ihr euch gerne bei den Tutoren melden. \end{Infobox} @@ -107,23 +107,23 @@ \begin{enumerate} \setcounter{enumi}{3} \item Finde heraus was passiert, wenn man die erste oder die zweite Zeile in der Main-Funktion auskommentiert. - Hinweis: Nicht alle Varianten funktionieren zwangsläufig, überlege warum dies der Fall sein könnte. + Hinweis: Nicht alle Varianten funktionieren zwangsläufig, Überlege warum dies der Fall sein könnte. \item Vielleicht sind dir beim Ausprobieren in a) schon einige Dinge aufgefallen die der Eclipse Editor anders macht als zum Beispiel Word. Wenn du \lstinline{demoGame.} eingibst erscheint ein Overlay mit möglichen Autocompletions. Wenn du dann mit dem Cursor an eine andere Stelle gehst verschwindet das Overlay wieder. - Öffne das overlay manuell indem du den Cursor direkt nach \lstinline{demoGame.} platzierst und \fbox{Strg + Space} (Space ist die Leertaste) drückst. + Öffne das Overlay manuell, indem du den Cursor direkt nach \lstinline{demoGame.} platzierst und \fbox{Strg + Space} (Space ist die Leertaste) drückst. \item Wenn du die Maus über \lstinline{Game} bewegst, siehst du ein Overlay mit der Dokumentation. Das funktioniert auch an anderen Stellen. - Was steht im Overlay von \lstinline{DemoTask()}? + Was steht im Overlay von \lstinline{DemoTask()}? Sollte sich das Overlay nicht öffnen, dann kannst du \fbox{F2} \item - Wenn du \fbox{Strg + Shift + f} (Shift ist die Taste über Strg mit der man Großbuchstaben schreibt) drückst, formatiert Eclipse den Code für dich. + Wenn du \fbox{Strg + Shift + f} (Shift ist die Taste über \fbox{Strg}, mit der man Großbuchstaben schreibt) drückst, formatiert Eclipse den Code für dich. Füge an verschiedenen Stellen neue Zeilen und Leerzeichen ein und beobachte was passiert, wenn du \fbox{Strg + Shift + f} drückst \end{enumerate} \begin{Infobox}[Optionale Aufgaben] - Aufgaben die mit \optional markiert sind müssen nicht bearbeitet werden. + Aufgaben die mit \optional markiert, sind müssen nicht bearbeitet werden. Sie setzen schon Vorkenntnisse in Java oder Programmieren vorraus und sind deshalb auch oft deutlich schwerer als die normalen Aufgaben. Wenn du also an einer optionalen Aufgabe festhängst, dann solltest du mit der nächsten normalen Aufgabe weitermachen. Später, wenn du genug Zeit oder Wissen hast um die optionale Aufgabe zu lösen, kannst du nochmal zu ihr zurückkehren. @@ -136,9 +136,9 @@ \item \optional Benenne \lstinline{demoGame} in \lstinline{myDemoGame} um. Wenn du nur die Stelle \lstinline{Game demoGame} anpasst, wirst du eine Fehlermeldung bekommen. Mache deine Änderung nochmal rückgängig und platziere den Cursor in dem Wort \lstinline{demoGame}. - Mit der Tastenkombination \fbox{Shift + Alt + r} kommst du in den \q{refactor} Modus, in dem du alle Vorkommen des Namens gleichzeitig umbenennen kannst. + Mit der Tastenkombination \fbox{Shift + Alt + r} kommst du in den \q{Refactor}-Modus, in dem du alle Vorkommen des Namens gleichzeitig umbenennen kannst. Das gleiche geht auch über Rechtsklick > \fbox{Refactor} > \fbox{Rename}. Mit \fbox{Strg + Shift + l} kannst du eine Liste alle Tastenkombinationen ansehen. - \item \optional Versuche drei Fenster gleichzeitig zu starten. + \item \optional Versuche, drei Fenster gleichzeitig zu starten. \end{enumerate} diff --git a/sheets/1/exercise-2.tex b/sheets/1/exercise-2.tex index 6f02110d..d6264b7e 100644 --- a/sheets/1/exercise-2.tex +++ b/sheets/1/exercise-2.tex @@ -19,7 +19,7 @@ \begin{enumerate} \item \teamsaufgabe{Blatt 1: Aufgabe 2 a)} - \item Wir haben hier ein paar Klassen. Bitte erweitere sie um je 3 weitere Eigenschaften. Der Stuhl ist ein Beispiel: + \item Wir haben hier ein paar Klassen. Bitte erweitere sie um je drei weitere Eigenschaften. Der Stuhl ist ein Beispiel: \begin{tikzpicture} \node[draw, rectangle, minimum height=0.75cm,minimum width=3cm, anchor=south] (A) {\textbf{Stuhl}}; @@ -52,14 +52,14 @@ \begin{Infobox}[HowTo: Operationen von Objekten] Klassen verfügen über Operationen, die von bzw. auf ihren Objekten ausgeführt werden können. - Als Beispiel betrachten wir ein Auto. Es kann fahren, bremsen, abbiegen oder den Motor an-/abschalten.\\ + Als Beispiel betrachten wir ein Auto. Es kann fahren, bremsen, abbiegen und den Motor an-/abschalten.\\ Dabei können Operationen auch sogenannte Parameter besitzen wie z.B. abbiegen(links) oder fahren(50) (für 50 km/h). Wie man genau bestimmt was diese Parameter bedeuten erklären wir noch. \end{Infobox} \begin{enumerate} \setcounter{enumi}{3} - \item Überlege dir für die folgenden 3 Klassen, Operationen. + \item Überlege dir für die folgenden drei Klassen Operationen. Es ist nicht notwendig Parameter zu verwenden. Der Stuhl ist wieder ein Beispiel: @@ -82,20 +82,20 @@ \begin{Infobox}[Info: Objekte vs. reale Objekte] - Wichtig zu verstehen ist, dass Klassen und Objekte keine physischen Objekte repräsentieren müssen. Man kann auch z.B. eine Klasse für Useraccounts oder eine Klasse für Personengruppen haben. Auch werden Klassen verwendet um technische Teile des Programms zu repräsentieren, wie z.B. das Fenster, welches angezeigt wird, oder ein Paket das durchs Internet geschickt wird. + Wichtig zu verstehen ist, dass Klassen und Objekte keine physischen Objekte repräsentieren müssen. Man kann auch z.B. eine Klasse für Useraccounts oder eine Klasse für Personengruppen haben. Auch werden Klassen verwendet, um technische Teile des Programms zu repräsentieren, wie z.B. das Fenster, welches angezeigt wird, oder ein Paket, das durchs Internet geschickt wird. \end{Infobox} \begin{enumerate} \setcounter{enumi}{5} - \item \optional Versuche erneut 3 Klassen mit je 3 Eigenschaften zu identifizieren. Diese Aufgabe soll etwas schwieriger sein als die c) + \item \optional Versuche erneut drei Klassen mit je drei Eigenschaften zu identifizieren. Diese Aufgabe soll etwas schwieriger sein als die c) \begin{quotation} Du betrittst die Gebäude und schaust dich um. Es gibt sehr viele Menschen hier. Doch niemanden den du kennst, also bewegst du dich direkt auf den Aufzug zu. Doch bevor du in dein Stockwerk fahren kannst, musst du deine Personalkarte vor den Leser halten. Nachdem deine Sicherheitsstufe ausgelesen wurde kannst du den Knopf für das 5. Stockwerk drücken. Langsam fährt der Aufzug los. Langsamer als sonst. Larry wird ihn wohl wieder neu eingestellt haben. Im 5. Stockwerk angekommen erwartet dich ein Sicherheitsposten. Er ist nur mit einer statt mit zwei Personen besetzt, doch das macht dir keine Sorgen. Immerhin ist es Sonntag. Der Mann fragt nach deiner Personalkarte und scannt sie. Auf seinem Bildschirm taucht ein Foto auf, welches er mit deinem Gesicht vergleicht. Doch ihm fällt nichts auf. Also grüßt er dich und lässt dich vorbei. Für einen Moment fragst du dich, woher er deinen Namen kennt, doch der wurde vermutlich einfach mit dem Foto angezeigt. Heute ist einfach alles auf diesen Karten gespeichert. - Du schlenderst durch das Labyrinth aus Gängen, bis du zu deinem Ziel kommst. Die Tür ist unscheinbar und das Büro dahinter ist es auch. Kaum 10 Quadratmeter groß. Und die Fenster zeigen auf nichts beachtenswertes. Aber das ist dir egal. Dich interessiert der Tresor in der obersten Schublade des Schreibtischs. Ein Model 4452 von SuperSecure. + Du schlenderst durch das Labyrinth aus Gängen, bis du zu deinem Ziel kommst. Die Tür ist unscheinbar und das Büro dahinter ist es auch. Kaum 10 Quadratmeter groß. Und die Fenster zeigen auf nichts Beachtenswertes. Aber das ist dir egal. Dich interessiert der Tresor in der obersten Schublade des Schreibtischs. Ein Model 4452 von SuperSecure. - Du versicherst dich kurz, dass die Tür zu ist und dann machst du dich an das Knacken des digitalen Schlosses. Es dauert kaum 2 Minuten, dann schwingt die 3cm dicke Stahltür auf und ermöglicht die Sicht auf ein dutzend USB-Sticks. Schnell suchst du den blauen mit 16 GB Kapazität und lässt ihn in deiner Hosentasche verschwinden. + Du versicherst dich kurz, dass die Tür zu ist und dann machst du dich an das Knacken des digitalen Schlosses. Es dauert kaum 2 Minuten, dann schwingt die 3cm dicke Stahltür auf und ermöglicht die Sicht auf einige USB-Sticks. Schnell suchst du den blauen mit 16 GB Kapazität und lässt ihn in deiner Hosentasche verschwinden. Jetzt nur noch den gleichen Weg zurück. \end{quotation} diff --git a/sheets/1/exercise-3.tex b/sheets/1/exercise-3.tex index b7b2cb01..f11675fa 100644 --- a/sheets/1/exercise-3.tex +++ b/sheets/1/exercise-3.tex @@ -8,7 +8,7 @@ \subsection*{Aufgabe 3.1 Syntax} \noindent In dieser Aufgabe zeigen wir euch die Syntax von Java. Die Syntax beschreibt, wie der Code geschrieben werden muss, sodass er von einem Computer verstanden wird.\\ -Es kommen jetzt viele Definitionen, ihr müsst euch aber keine Sorgen machen wenn ihr nicht alles direkt versteht. +Es kommen jetzt viele Definitionen, ihr müsst euch aber keine Sorgen machen, wenn ihr nicht alles direkt versteht. Nehmt diese Aufgabe als Referenz zum Nachschauen, wenn ihr euch später bei etwas nicht sicher seid. \begin{enumerate} \item \teamsaufgabe{Blatt 1: Aufgabe 3 a)} @@ -26,10 +26,10 @@ \subsection*{Aufgabe 3.1 Syntax} \begin{lstlisting}[title=\textbf{Kommentar Beispiel}] // Dies ist ein einfacher Kommentar über eine Zeile. // Er wird mit // gestartet und nimmt die gesamte Zeile hinter sich ein. - someCode.run(); //Kommentare können auch nach Operationen geschrieben werden. + someCode.run(); //Kommentare sind auch nach Operationen möglich. /* - * Kommentare können sich auch über mehrere Zeilen erstrecken. - * Diese beginnen mit /* und enden mit */ . + * Dies ist ein Block Kommentar. + * Diese können sich auch über mehrere Zeilen erstrecken. * Um die Lesbarkeit zu verbessern, werden die Zeilen dazwischen meist * mit einem * begonnen. */ @@ -86,7 +86,7 @@ \subsection*{Aufgabe 3.1 Syntax} \vspace{5mm} \begin{Infobox} - Bei der Definition einer Operation werden die Variablen, die festlegen, was man übergeben kann \textbf{Parameter} genannt. Die Objekt die man beim Aufrufen einer Operation übergibt, werden \textbf{Argumente} genannt. + Bei der Definition einer Operation werden die Variablen, die festlegen, was man übergeben, kann \textbf{Parameter} genannt. Die Objekte, die man beim Aufrufen einer Operation übergibt, werden \textbf{Argumente} genannt. \end{Infobox} \begin{lstlisting}[title=\textbf{Operations Syntax}] @@ -124,8 +124,9 @@ \subsection*{Aufgabe 3.1 Syntax} \end{lstlisting} \begin{Infobox} \subsubsection*{Variablen:} - Variablen werden genutzt um Werte zu speichern. - Sie sind in den Fällen nützlich, in denen ihr einen bestimmten Wert mehrfach im selben Code nutzen wollt, oder wenn ein Wert beim Starten des Programms noch nicht fest steht, sondern erst während der Ausführung bestimmt wird oder sich während der Ausführung verändern kann.\\ + Variablen werden genutzt, um Werte zu speichern. + Sie sind in den Fällen nützlich, in denen ihr einen bestimmten Wert mehrfach im selben Code nutzen wollt. + Außerdem auch wenn ein Wert beim Starten des Programms noch nicht fest steht oder sich noch ändert. Variablen besitzen immer einen Typ und einen Namen. Mit einem = kann einer Variable ein Wert zugewiesen werden. Wenn man ein Objekt erzeugt, weist man es oft direkt einer Variable zu, damit man es später im Code noch benutzen kann. @@ -133,7 +134,7 @@ \subsection*{Aufgabe 3.1 Syntax} \begin{lstlisting}[title=\textbf{Variablen Syntax}] ; // Eine Variable wird erzeugt, ihr ist noch kein Wert zugewiesen. - = ; // Eine variable wird erzeugt und ihr wird ein Wert zugewiesen. + = ; // Eine Variable wird erzeugt und ihr wird ein Wert zugewiesen. = ; // Einer bestehenden Variable wird ein neuer Wert zugewiesen. @@ -149,15 +150,16 @@ \subsection*{Aufgabe 3.1 Syntax} \begin{Infobox} \subsubsection*{Kommandos und Abfragen:} Kommandos und Abfragen sind zwei Varianten von Operationen einer Klasse. Kommandos beschreiben alle Operationen, die etwas an dem Objekt, auf dem sie aufgerufen werden, verändern. - Abfragen sind alle Operationen die nichts verändern, dafür aber eine Eigenschaft als Wert zurückgeben.\\ - Um Operationen eines Objekts aufzurufen wird zuerst der Objektname geschrieben, gefolgt von einem . und dann der Operationsname, gefolgt von einem paar Klammern, in denen Parameter stehen können.\\ + Abfragen sind alle Operationen, die nichts verändern, dafür aber eine Eigenschaft als Wert zurückgeben.\\ + Um Operationen eines Objekts aufzurufen, wird zuerst der Objektname geschrieben, gefolgt von einem Punkt und dem Operationsname. + Am Ende stehen paar Rundeklammern \q{( )}, in denen Parameter stehen können.\\ {\color{red} Wichtig: } Operationen können nur auf Objekten und nicht auf Klassen aufgerufen werden. - Es gibt hier einen Sonderfall, diese werdet ihr in PSE kennenlernen. + Es gibt hier einen Sonderfall, diesen werdet ihr in PSE kennenlernen. \end{Infobox} \begin{lstlisting}[title=\textbf{Kommando/Abfrage Syntax}] .(); - .(); + .(); \end{lstlisting} \newpage \begin{lstlisting}[title=\textbf{Kommando/Abfrage Beispiel}] @@ -169,7 +171,7 @@ \subsection*{Aufgabe 3.1 Syntax} \end{lstlisting} \subsection*{Aufgabe 3.2 Namen und Codestyle} -Wie ihr wahrscheinlich schon gemerkt habt, kann Code schnell überfordern und verwirren, wenn man nicht weiß worum es gerade geht. +Wie ihr wahrscheinlich schon gemerkt habt, kann Code schnell überfordern und verwirren. Da man dieses Problem in der Informatik oft antrifft wenn man mit Anderen zusammen arbeitet, gibt es Konventionen wie der Code geschrieben werden sollte, um die Lesbarkeit und das Verständnis zu verbessern. \vspace{5mm} @@ -193,7 +195,7 @@ \subsubsection*{Namen:} \item Variablennamen sollten sprechend sein $\rightarrow$ \lstinline{bestDog} statt \lstinline{bD} \item Operationen sollten Verben im Namen haben $\rightarrow$ ''makeNoise'' statt ''laut'' \item Abfragen sollten mit \lstinline{get} beginnen - \item Kommandos die einen Wert setzen, sollten mit \lstinline{set} beginnen + \item Kommandos, die einen Wert setzen, sollten mit \lstinline{set} beginnen \item Keine Umlaute \end{itemize} @@ -201,13 +203,12 @@ \subsubsection*{Namen:} \noindent Allgemein sollten alle Namen auf Englisch formuliert werden. -Variablen und Operationen werden immer mit einem kleingeschriebenen Buchstaben anfangen. +Variablen und Operationen werden immer mit einem Kleinbuchstaben angefangen. Falls ein Name aus mehreren Wörtern besteht, schreibt man die Anfangsbuchstaben ab dem zweiten Wort groß. Diese Schreibweise nennt man auch \lstinline{camelCase}. Sie sollten jeweils so benannt sein, dass erkennbar ist, was sie tun bzw. wofür sie stehen.\\ Für Klassen gelten fast die selben Richtlinien, nur ist hier auch das erst Wort groß. -Das nennt man dann \lstinline{PascalCase}. - +Das nennt man dann \lstinline{PascalCase} oder \lstinline{UpperCamelCase}. \begin{lstlisting}[title=\textbf{Beispiel gute Namensgebung}] class DogOwner{ @@ -219,7 +220,7 @@ \subsubsection*{Namen:} \end{lstlisting} \subsubsection*{Einrückungen:} -Um dafür zu sorgen, dass erkennbar ist ob man sich gerade in einer Operation oder in einer Klasse befindet wird allgemein jeder Code-Block innerhalb von geschweiften Klammern um eine Stufe weiter eingerückt als der Block, in dem die Klammern stehen. +Um dafür zu sorgen, dass erkennbar ist, ob man sich gerade in einer Operation oder in einer Klasse befindet, wird allgemein jeder Code-Block innerhalb von geschweiften Klammern um eine Stufe weiter eingerückt als der Block, in dem die Klammern stehen. Wichtig ist, dass ihr immer alle Klammern wieder schließt, die ihr öffnet. Dabei müsst ihr auch die Reihenfolge der schließenden Klammern beachten! @@ -228,13 +229,13 @@ \subsubsection*{Einrückungen:} \begin{lstlisting}[title=\textbf{Beispiel gute Namensgebung}] // Code außerhalb einer Klammerung, nicht eingerückt - class RandomClass{ - void operation1(){ - // Operations inhalt 2-mal eingerückt + public class RandomClass{ + public void operation1(){ + // Operationsinhalt 2-mal eingerückt } // Klasseninhalt 1-mal eingerückt - void operation2(){ - // Operations inhalt 2-mal eingerückt + public void operation2(){ + // Operationsinhalt 2-mal eingerückt } } diff --git a/sheets/1/exercise-4.tex b/sheets/1/exercise-4.tex index 8c3a8f21..d8238509 100644 --- a/sheets/1/exercise-4.tex +++ b/sheets/1/exercise-4.tex @@ -3,13 +3,13 @@ \begin{enumerate} \item Nun wollen wir wie in Aufgabe 1 ein Spiel starten. - Dieses Mal mit nur mit dem \lstinline{DemoTask} noch ohne den \lstinline{DemoTaskVerifier}: + Dieses Mal nur mit dem \lstinline{DemoTask} und noch ohne den \lstinline{DemoTaskVerifier}: \begin{lstlisting} Game myGame = new Game("Hello World", new DemoTask()); \end{lstlisting} - Wir starten das Spiel in der Variable \lstinline{myGame}, indem wir die Operation \lstinline{.run()} darauf aufrufen. + Wir starten das Spiel in der Variable \lstinline{myGame}, indem wir die Operation \lstinline{run()} darauf aufrufen. \begin{lstlisting} myGame.run(); @@ -50,6 +50,6 @@ \item Nun suche nach der Stelle im Code der Klasse \lstinline{DemoTask}, in dem die erste Münze erzeugt wird. Kleiner Tipp: - Wenn du \fbox{Strg} drückst wärend du auf einen Klassennamen oder einen Operationsnamen im Code klickst, öffnet Eclipse die entsprechende Java-Datei. + Wenn du \fbox{Strg} drückst während du auf einen Klassennamen oder einen Operationsnamen im Code klickst, öffnet Eclipse die entsprechende Java-Datei. Alternativ kannst du über den PackageExplorer in das Paket \texttt{de.unistuttagrt.informatik.fius.jvk.tasks} navigieren und dort die Datei \texttt{DemoTask.java} mit einem Doppelklick öffnen. \end{enumerate} diff --git a/sheets/1/exercise-5.tex b/sheets/1/exercise-5.tex index 240180eb..8c7b9769 100644 --- a/sheets/1/exercise-5.tex +++ b/sheets/1/exercise-5.tex @@ -1,7 +1,6 @@ % !TeX root = ./jvk-blatt1.tex -\newcommand{\javadocRoot}{https://fius.github.io/ICGE2/master/} % TODO: Point to the correct version of the javadoc! - +\newcommand{\javadocRoot}{https://fius.github.io/ICGE2/master/} \excercise{Eine API verwenden / Doku lesen} \begin{enumerate} @@ -63,13 +62,13 @@ Normalerweise arbeiten wir nicht alleine an unserem Code, deshalb ist es wichtig zu dokumentieren wie unser Code funktioniert. Das heißt, mit einer guten Dokumentation sollte direkt ersichtlich sein, was bei dem Aufruf einer Operation passiert und was sie für Parameter erwartet. Diese Dokumentation können wir zum Beispiel online nachschauen oder direkt in unserer IDE. - Wenn wir den Mauszeiger über den Name einer Operation bewegen, wird uns ein Kasten mit der Dokumentation dieser Operation angezeigt. + Wenn wir den Mauszeiger über den Namen einer Operation bewegen, wird uns ein Kasten mit der Dokumentation dieser Operation angezeigt. \end{Infobox} \begin{enumerate} \setcounter{enumi}{4} \item Platziere nun 3 horizontale Reihen aus jeweils 7 Münzen. - Dazu solltest du das Kommando vom \lstinline{PlayfieldModifier} benutzen, das Entites an mehreren Positionen platzieren kann. + Dazu solltest du das Kommando vom \lstinline{PlayfieldModifier} benutzen, das Entities an mehreren Positionen platzieren kann. Um eine Reihe zu erzeugen kannst du die Klasse \lstinline{Line} unserer Shape Sammlung verwenden, welche eine Start und Endposition erwartet. Das \lstinline{Line} Objekt kannst du dem Kommando als zweiten Parameter (\lstinline{positions}) übergeben. Die Linien sollten nicht über Felder gehen die schon Münzen enthalten, damit die Erkennung im Task Status richtig funktioniert. diff --git a/sheets/vorkurs.cls b/sheets/vorkurs.cls index cb97b8a9..739d6304 100644 --- a/sheets/vorkurs.cls +++ b/sheets/vorkurs.cls @@ -7,7 +7,7 @@ % % Space for Settings that can and should be changed \def\kurs{Java Vorkurs} %Name of the kurse -\def\semester{WS 2021} %Number of the Semester +\def\semester{WS 2021} %Number of the Semester %TODO:Rausnehmen %%%%%%%%%%%% @@ -249,7 +249,7 @@ } \renewcommand\bcStyleTitre[1]{\large\textcolor{ttblue}{#1}} -\newcommand{\teamsaufgabe}[1]{{\color{purple} In Teams findest du das Quiz: \textbf{#1}}} +\newcommand{\teamsaufgabe}[1]{{\color{purple} In Teams findest du das Quiz: \textbf{#1}}} %TODO: anpassen auf Kahot oder so.