Child pages
  • ST2: Meilenstein 0

ST2: Meilenstein 0

Aufgabe

Da wir in ST2 die Architektur-Konzeption sowohl theoretisch wie auch praktisch betrachten wollen, brauchen Sie für das Praktikum Java-Kenntnisse auf dem Niveau von AP2 (Algorithmen und Programmierung 2, siehe Modulbeschreibung in HOPS). Daher machen wir in Meilenstein eine Auffrischung dieses Stoffes. Damit ist sichergestellt, dass Sie das nötige Grundverständnis für die Programmieresprache Java und die damit verbundenen Werkzeuge haben.

Dazu erhält jeder Student Zugriff auf ein Repository mit kleinen Übungsaufgaben, die die notwendigen Konzepte zur Programmierung mit Java näherbringen sollen. Dies beinhaltet folgende Aufgabenbereiche:

  • Variablen
  • Bedingungen
  • Schleifen
  • Methoden
  • Klasse
  • Arrays
  • Listen

Zwar ist es gewünscht, dass sich Studierende über Probleme austauschen, jedoch ist es ratsam, die Übungsaufgaben zu nutzen, um sich auf folgende Meilensteine vorzubereiten. Infolgedessen sollten Übungsaufgaben weitestgehend alleine gelöst werden. Für jeden Studenten wird außerdem eine Testseite generiert. Diese listet sämtliche Tests des Übungsprojektes auf und wird bei jeder Codeänderung aktualisiert (dauert teils mehrere Minuten). Erst wenn alle Tests auf der Testseite grün markiert sind, gilt Meilenstein 0 als bestanden.

Lösen der Aufgabe

Um die Aufgaben erfolgreich bearbeiten zu können, muss sich der Student sein eigenes Repository lokal clonen (mit Git). Die meisten Aufgaben beinhalten leere Methodenrümpfe, welche nur noch gefüllt werden müssen. (Die Methoden sind deklariert, aber noch nicht definiert). Nur in den Aufgabenbereichen Methoden und Klassen müssen Methoden nach Vorgaben deklariert oder Klassen angelegt werden. Nachdem nun also Aufgaben gelöst wurden, müssen die Änderungen nun committet und der neue Stand gepusht werden.

Achtung: Um die Funktionalität des Projekts zu gewährleisten, sollen Studenten nichts, was außerhalb des Ordners "src/main" liegt, verändern.

Gitbook

Viele nützliche Infos zur Benutzung von Git oder zur Java Programmierung sind unter anderem hier zu finden:

http://staff.pages.st.archi-lab.io/st2/learning-materials/

Gitlab & Git

Das eigene Repository mit den Übungsaufgaben ist unter folgendem Link zu finden:

https://git.st.archi-lab.io/students/st2/meilenstein-0

Eine Git-Anleitung gibt es hier:

http://staff.pages.st.archi-lab.io/st2/learning-materials/Basics/Git_Tutorial.html

Testseite

Anhand der Testseite ist erkennbar, wer die einzelnen Meilensteine besteht und wer nicht. Der Link zur Testseite hängt von dem jeweiligen Repository-Namen ab. Hier eine step-by-step Anleitung, welche euch zur jeweiligen Testseite bringt:

(1) Als erstes ist es wichtig, die UUID des Projekts herauszufinden. Dazu schauen wir uns den Namen des Projekts an und kopieren die UUID aus dem Ende des Namens. Im folgenden Screenshot ist die UUID rot markiert:

(2) Diese UUID setzen wir nun an das Ende von folgendem Link:
http://students.pages.st.archi-lab.io/st2/meilenstein-0/tests/basics_tests_group_<uuid>
Bei unserem Beispiel würde der Link dann wie folgt aussehen:
http://students.pages.st.archi-lab.io/st2/meilenstein-0/tests/basics_tests_group_482de55b-e650-4b77-b47d-85c48d9201ff

(3) Auf der Testseite sind nun alle relevanten Tests aufgeführt. Grüne Tests sind bestanden und rote nicht bestanden. Auf rote Tests kann geklickt werden, um Informationen bezüglich des Fehlschlagens eines Tests zu erhalten:

SSH

Wer im Gitlab kein Passwort hinterlassen möchte, um auf das remote Repository zu pushen kann sich auch einen ssh key generieren und diesen in gitlab eintragen. Eine Anleitung hierzu findet man hier: 

https://docs.gitlab.com/ee/ssh/

Da sich durch Nutzung von ssh unter anderem das Protokoll ändert muss man beim clonen eines Repositories den Link anpassen. Normalerweise würde man ein Repository mit folgendem Befehl klonen:

git clone https://git.st.archi-lab.io/students/st2/meilenstein-0/basics_group_<uuid>

Durch Nutzung von ssh würde sich dieser Befehl zu folgendem ändern:

git clone ssh://git@git.st.archi-lab.io:22996/students/st2/meilenstein-0/basics_group_<uuid>.git