Skip to content

Commit

Permalink
Merge pull request #146 from FIUS/style-intro-updates
Browse files Browse the repository at this point in the history
Style intro updates
  • Loading branch information
becknik authored Oct 3, 2022
2 parents 39598f1 + 064a4f3 commit a18d2ad
Show file tree
Hide file tree
Showing 10 changed files with 291 additions and 237 deletions.
7 changes: 1 addition & 6 deletions sheets/1/exercise-1.tex
Original file line number Diff line number Diff line change
@@ -1,12 +1,7 @@
% !TeX root = ./jvk-blatt1.tex

% l.47 Play-Button
%\usepackage{amssymb};

\newcommand{\jvkpackage}{Release 1.0.1}
\newcommand{\jvkpackageurl}{https://github.com/FIUS/jvk/releases/tag/1.0.1} % TODO: change URL

\excercise{Programmstart}
\label{ex1}

\begin{Infobox}[How-To: Install Eclipse]
\begin{enumerate}[label=\arabic*.]
Expand Down
22 changes: 10 additions & 12 deletions sheets/1/exercise-2.tex
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
% !TeX root = ./jvk-blatt1.tex
\lstset{
basicstyle=\small,
morecomment=[l]{*}
}

\excercise{Nachschlagwerk: Syntax und Codestil}
\label{ex2}

Jetzt folgt ein Nachschlagwerk auf das du immer wieder zurückgehen kannst bei den folgenden Aufgaben.
Du kannst es bereits mal durchlesen, es ist aber nicht schlimm, wenn du noch nicht alles versteht.
Expand Down Expand Up @@ -104,7 +102,7 @@ \subsection*{Syntax}
public void springen(){
// Code um zu springen
}

public String getName(Hund hund){
return hund.name;
}
Expand Down Expand Up @@ -143,18 +141,18 @@ \subsection*{Syntax}

\begin{lstlisting}[title=\textbf{Variablen Syntax}]
<KlassenName> <Name>; // Eine Variable wird erzeugt, ihr ist noch kein Wert zugewiesen.

<KlassenName> <Name> = <Wert>; // Eine Variable wird erzeugt und ihr wird ein Wert zugewiesen.

<Name> = <Wert>; // Einer bestehenden Variable wird ein neuer Wert zugewiesen.

<KlassenName> <Name> = new <KlassenName>(); // Einer neuen Variable wird eine neue Instanz eines Objekts zugewiesen.

<KlassenName> <Name> = <NameEinerAnderenVariable>; // Einer neuen Variable wird der Wert einer anderen Variable zugewiesen. Das geht natürlich nur wenn die Varaiblen das selbe speichern können (den selben Typ haben).
\end{lstlisting}
\begin{lstlisting}[title=\textbf{Variable Beispiel}]
String hundeName = "Bello";

Hund meinHund = new Hund(hundeName);
\end{lstlisting}
\begin{Infobox}
Expand All @@ -170,14 +168,14 @@ \subsection*{Syntax}
\end{Infobox}
\begin{lstlisting}[title=\textbf{Kommando/Abfrage Syntax}]
<ObjektName>.<OperationsName>();

<ObjektName>.<OperationsName>(<Argument>);
\end{lstlisting}

\begin{lstlisting}[title=\textbf{Kommando/Abfrage Beispiel}]
// meinHund.setName(); soll dafür sorgen dass der Hund von Bello zu Doggo umbenannt wird. Er ändert also etwas an dem Objekt.
meinHund.setName("Doggo");

// meinHund.getName(); gibt den Namen des Hundes zurück, ändert also nichts am Obejekt selber sondern gibt Eigenschaften davon zurück.
meinHund.getName();
\end{lstlisting}
Expand Down
8 changes: 5 additions & 3 deletions sheets/1/exercise-3.tex
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
% !TeX root = ./jvk-blatt1.tex

\excercise{DemoTask und UI}
\label{ex3}

\begin{enumerate}
\item Nun wollen wir wie in Aufgabe 1 ein Spiel starten.
\item Nun wollen wir wie in Aufgabe 1 ein Spiel starten.
Dieses Mal nur mit dem \lstinline{DemoTask} und noch ohne den \lstinline{DemoTaskVerifier}:

\begin{lstlisting}
Expand All @@ -23,7 +25,7 @@
Nun wollen wir noch ein DemoTaskVerifier Objekt übergeben.\\
Orientiere dich dazu unten am Bild. Starte nachdem du fertig bist das Spielfenster neu. \\

Was verändert sich im Spielfenster?
Was verändert sich im Spielfenster?
Finde den \q{Task Status} Tab und drücke den Refresh Button.

\begin{lstlisting}
Expand Down Expand Up @@ -52,7 +54,7 @@

\item Nun suche nach der Stelle im Code in der Klasse \lstinline{DemoTask}, in dem die erste Münze erzeugt wird.\\

Kleiner Tipp:
Kleiner Tipp:
Wenn du \fbox{Strg} drückst während du auf einen Klassennamen oder einen Operationsnamen im Code klickst, öffnet Eclipse die entsprechende Java-Datei wo sich diese Operation oder Klasse befindet.\\
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.
Expand Down
10 changes: 5 additions & 5 deletions sheets/1/exercise-4.tex
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

% !TeX root = ./jvk-blatt1.tex
\newcommand{\javadocRoot}{https://fius.github.io/ICGE2/master/}

\excercise{Eine API verwenden / Doku lesen}
\label{ex4}

\begin{enumerate}
\item Wie in der vorherigen Aufgabe bereits vorgestellt, erstellen wir wieder ein neues Spiel.\\
Expand Down Expand Up @@ -33,7 +33,7 @@

Tipp: Wenn du nicht genau weißt, wie man eine Münze erzeugt, schaue dir den Code, welchen du in Aufgabe 3 d) gefunden hast, nochmal an.

\item Nachdem wir nun die Operation \lstinline{placeEntityAt()} aus der Klasse \lstinline{PlayfieldModifier} kennengelernt haben, beschäftigen wir uns nun etwas genauer mit dem \lstinline{PlayfieldModifier}.
\item Nachdem wir nun die Operation \lstinline{placeEntityAt()} aus der Klasse \lstinline{PlayfieldModifier} kennengelernt haben, beschäftigen wir uns nun etwas genauer mit dem \lstinline{PlayfieldModifier}.
Insbesondere wollen wir nun herausfinden, welche anderen Operationen von dieser Klasse bereitgestellt werden. \\
Es gibt noch zwei weitere Operationen, welche wir zum Platzieren von Münzen (\lstinline{Coin}), Wänden (\lstinline{Wall}) und Spielfiguren verwenden können.\\

Expand All @@ -42,12 +42,12 @@
Falls du noch mehr Infos brauchst über Operationen o.ä. findest du die Dokumentation der \newline \lstinline{PlayfieldModifier} Klasse unter dem Link \url{\javadocRoot de.unistuttgart.informatik.fius.icge.simulation/de/unistuttgart/informatik/fius/icge/simulation/tools/PlayfieldModifier.html}.

Am besten überfliegst du sie einfach kurz.

\end{enumerate}

\begin{Infobox}[Autocompletion]
Sobald du ein Objekt instanziiert (erstellt) hast und in eine Variable speicherst, kannst du hinter den Variablennamen einen Punkt '.' eingeben.\\
Jetzt wird eine Liste von allen möglichen Attributen und Operationen angezeigt, die zu dem Objekt gehören.
Jetzt wird eine Liste von allen möglichen Attributen und Operationen angezeigt, die zu dem Objekt gehören.
So kann man recht schnell alle möglichen Operationen durchsuchen, die mit diesem Objekt möglich sind.\\
Falls du also mal nicht weiter weißt, probiere doch einfach mal das und nutze das am vielversprechende.\\

Expand Down
27 changes: 27 additions & 0 deletions sheets/1/intro.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
% !TeX root = ./jvk-blatt1.tex

\begin{center}
Hallo und herzlich Willkommen zum diesjährigen Java Vorkurs!\\
\end{center}
Hier werden wir Dir gemeinsam eine Grundlage in der objektorientierten Programmiersprache \textit{Java} aufzubauen, so dass Du in dem Fach \textit{Programmieren und Softwareentwicklung} - kurz PSE - im kommenden Semester nicht ganz von 0 aus starten musst.\newline
Falls Du bei der Bearbeitung des Blatts Fragen oder Probleme haben solltest, kannst Du Dich immer gerne bei den Tutoren melden oder einfach mal deinen Nachbar/ deine Nachbarin rechts oder links von Dir fragen.\newline
Wir empfehlen die Aufgaben nicht nur \enquote{im Kopf} zu bearbeiten, sondern Dir Notizen auf einem Blatt Papier, auf deinem Laptop oder einer Datei auf einem USB-Stick/ in der Cloud zu machen. Erfahrungsgemäß bringt Dir das selber mehr und du kannst deinen Mitstudenten ggf. mit deinen notierten Antworten schnell weiterhelfen oder mit ihnen diskutieren, wenn es Differenzen geben sollte.\\\\
\textbf{Voraussetzungen:}
\begin{itemize}
\item Eine halbwegs aktuelle Version des \textit{Java Development Kits}\\
$\rightarrow$ \href{\jdkTutorial}{Hier} gehts zum Tutorial, welches bitte nur mit \textit{Kopfhörern} angeschaut wird
\item Eine funktionierende \textit{Eclipse IDE} Installation\newline
$\rightarrow$ Wenn Du bei der Vorstellung des Installationsvorgangs durch die Tutoren nicht ganz mitgekommen sein solltest, schau dir (bitte mit Kopfhörern) unser \href{\eclipseTutorial}{Tutorial} an.\\
$\rightarrow$ Falls das nicht möglich sein oder bei der Installation Probleme auftreten sollten, kannst du dich auch gerne melden. Unsere Tutoren helfen Dir gerne weiter.
\item Die aktuelle Version der \texttt{\jvkpackage} Datei\\
$\rightarrow$ Den Link zum downloaden findest du \href{\jvkpackageurl}{hier}
\end{itemize}
\textbf{Lernziele:}
\begin{itemize}
\item \ref{ex1}: Eine Einführung in dem Umgang mit der integrierten Entwicklungsumgebung Eclipse, den Import von Maven Projekten und den Ausführen dieser. Anschließend sollen erste, kleinere Code-Edits durchgeführt werden.
\item \ref{ex2}: \textbf{Nachschlag-Werk:} Eine Sammlung von Begriffserklärungen mit vielen Beispielen.\\
$\rightarrow$ Auch für Aufgaben auf späteren Übungsblättern nützlich
\item \ref{ex3}: Eine kleine Aufgabe, um Dich in der UI unseres Games zurecht zu finden und um mit den bereitgestellten Funktionen umzugehen zu lernen.
\item \ref{ex4}: Eine Einführung in des Lesen von Dokumentationen, mit deren Hilfe das Spielfeld neu gestaltet werden soll.
\end{itemize}
\newpage
3 changes: 0 additions & 3 deletions sheets/1/jvk-blatt1.tex
Original file line number Diff line number Diff line change
@@ -1,8 +1,5 @@
\documentclass{../vorkurs}
\usepackage{amssymb}
%!TEX root = ./jvk-blatt1.tex


\newcommand{\simulator}{Matrix-Simulator}
\def\sheetNumber{1}
\makedocument
6 changes: 1 addition & 5 deletions sheets/2/exercise-6.tex
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

Beispiel: Wir haben eine Klasse Student.
Die Klasse definiert dabei, dass ein Student folgende Eigenschaften und Operationen haben soll aber befüllt die Eigenschaften noch nicht mit Werten:

\begin{itemize}
\item name
\item age
Expand All @@ -22,15 +22,13 @@
Dabei hast du einen Namen und ein Alter.
Ebenso kannst du folgende Operationen ausführen wie lernen, essen und über dich was erzählen.\\
Es kann aber auch insbesondere mehrere Objekte von einer Klasse geben z.B. dein Nebensitzer ist demnach auch ein (anderes) Objekt der Klasse Student.\\

In Java könnte das dann so aussehen:

\begin{lstlisting}[numbers=left,xleftmargin=2em,frame=single,framexleftmargin=1.5em]
class Student {

private String name;
private int age;

// ...

public String getName() {
Expand All @@ -53,8 +51,6 @@
\end{lstlisting}
\end{Infobox}

\newpage

\begin{enumerate}
\item Wir haben hier ein paar Klassen. Bitte erweitere sie um je drei weitere Eigenschaften. Der Stuhl ist ein Beispiel:

Expand Down
2 changes: 0 additions & 2 deletions sheets/2/jvk-blatt2.tex
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
\documentclass{../vorkurs}
%!TEX root = ./jvk-blatt2.tex

\newcommand\ownclass{\lstinline|MyNeo|}
\newcommand\superclass{\lstinline|Neo|}
\def\sheetNumber{2}
\makedocument
20 changes: 20 additions & 0 deletions sheets/vorkurs-settings.cls
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
%% Die aktuellen Links und Dateinamen für den JVK:

%% Basic:
\def\kurs{Java Vorkurs}
\def\semester{2022} %TODO: Rausnehmen (?)
\def\simulator{Matrix-Simulator}

%% Links:
\def\fiusjvk{https://fius.de/index.php/studien-interessierte/java-vorkurs/}
\def\jdkTutorial{https://youtu.be/rGeOtJHodtY}
\def\eclipseTutorial{https://youtu.be/zxH3G1MTrVs}
\def\jvkpackage{Release 1.0.1}
\def\javadocRoot{https://fius.github.io/ICGE2/master/}
\def\jvkpackageurl{https://github.com/FIUS/jvk/releases/tag/1.0.1}

%% Java:
\def\jvkpackage{JavaVorkurs\_EclipseProjekt.zip}
\def\javaPackageName{de.unistuttgart.informatik.fius.jvk}
\newcommand\ownclass{\lstinline|MyNeo|}
\newcommand\superclass{\lstinline|Neo|}
Loading

0 comments on commit a18d2ad

Please sign in to comment.