Programmierpraktikum (Sommersemester 2020)
Neuigkeiten & Ankündigungen
25. Juni 2020: Wir haben nun für alle Aufgaben des zweiten Projekts ein Starthilfe-Video erstellt. Außerdem haben wir Ihnen in einem zusätzlichen Video Hintergrundinformationen zu allen mitgelieferten Dateien im Projekt 2 gegeben. Beides finden Sie bei den Vorlesungsmaterialien.
24. Juni 2020: Bei den Vorlesungsmaterialien gibt es nun auch ein Starthilfe-Video für Projekt 2.
23. Juni 2020: Das zweite Projekt steht bereit!
3. Juni 2020: Bitte melden Sie das Programmierpraktikum im QIS an. Dort müsste es unter Prüfungsnummer 60221 verfügbar sein. Nur so können wir nach Abschluss des Praktikums dem Prüfungsamt übermitteln, dass Sie das Modul erfolgreich bestanden haben. Falls das Programmierpraktikum für Sie im QIS nicht zur Anmeldung angeboten wird, fragen Sie bitte in dem für Sie zuständigen Prüfungsamt nach, ob bzw. wie und bis wann Sie es anmelden müssen.
20. Mai 2020: Die Vorlesungsmaterialien der Woche 7 (Testen) sind nun verfügbar.
19. Mai 2020: Die Vorlesungsmaterialien der Woche 6 (Build Tools) sind verfügbar. Das zweite Video enthält ab Minute 4 eine Demo einiger Features in IntelliJ IDEA.
Bitte beachten Sie unsere Hinweise zum Ablauf der Sprechstunden.
Ansprechpartner
- Organisation: Markus Heinrich und Sebastian Schweizer
- Studentische Tutor*innen: Siehe diese Liste (Zugriff nur aus dem Uni-Netz)
Ablauf des Praktikums
Das Praktikum besteht aus zwei Übungsblättern, zwei Miniprojekten und zwei Projekten. Die Bearbeitung der Übungsblätter erfolgt in Zweierteams; die Miniprojekte und Projekte werden zu viert bearbeitet. Für die Übungsblätter haben Sie je eine, für die Miniprojekte zwei und für die Projekte jeweils drei Wochen Zeit.
Es gibt keine wöchentlichen Übungstermine. Für die Miniprojekte und Projekte vereinbart jedes Abgabeteam individuell mit der/dem zuständigen Tutor*in einen Termin zur Projektabnahme. Jedes Teammitglied muss dabei zeigen, dass es zur gemeinsamen Abgabe beigetragen hat.
Das Praktikum ist erfolgreich bestanden, wenn alle Übungsblätter, Miniprojekte und Projekte zufriedenstellend gelöst wurden.
Vorlesungen
Um auf die Videos zugreifen zu können, müssen Sie sich mit Ihrem RHRK Account einloggen (RLP Login).
Übungsblätter / Projekte
Projekt 2
- Ausgabe: 23. Juni 2020
- Abgabe: 14. Juli 2020 bis 15 Uhr via GitLab
- Aufgabenblatt (pdf)
- Das Template finden Sie im GitLab Repository Ihres Teams:
git pull
im bestehenden Repository ausführen, dann gibt es einen neuen OrdnerP2
. - Beachten Sie den Hinweis zu den Meilensteinen auf dem Aufgabenblatt!
Projekt 1
- Ausgabe: 02. Juni 2020
- Abgabe: 23. Juni 2020 bis 15 Uhr via GitLab
- Aufgabenblatt (pdf)
- Das Template finden Sie im GitLab Repository Ihres Teams:
git pull
im bestehenden Repository ausführen, dann gibt es einen neuen OrdnerP1
. - Beachten Sie den Hinweis zu den Meilensteinen auf dem Aufgabenblatt!
Korrekturen
- 08. Juni 2020: Aufgabe 1: Die Methode
update
sollfalse
zurückgeben, wenn das zu aktualisierende Element nicht enthalten ist, bei erfolgreicher Aktualisierung entsprechendtrue
. - 09. Juni 2020: Aufgabe 1: Zum Testen der
merge
Methode werden zweiPriorityQueue
Instanzen benötigt. Als Vorlage können Sie diese angepasste PriorityQueueTest Klasse verwenden.
Miniprojekt 2
- Ausgabe: 19. Mai 2020
- Abgabe: 2. Juni 2020 bis 15 Uhr via GitLab
- Aufgabenblatt (pdf)
- Das Template finden Sie im GitLab Repository Ihres Teams:
git pull
im bestehenden Repository ausführen, dann gibt es einen neuen OrdnerMP2
.
Miniprojekt 1
- Ausgabe: 6. Mai 2020
- Abgabe: 19. Mai 2020 bis 15 Uhr via GitLab
- Aufgabenblatt (pdf)
- Im Aufgabentext zu Aufgabe 3 hatte sich ein Fehler eingeschlichen. Die zu implementierende Klasse ist:
public class TreeMap<K, V> implements Map<K, V>
. - Wenn bei Ihnen der Test
BibleAnalyzerTest.main()
fehlschlägt können Sie in der DateiBibleAnalyzerTest.java
die Zeile 125 (assertTrue(stdout.contains("112 Nächsten"));
) auskommentieren, also//
vor die Zeile setzen, damit der Code nicht ausgeführt wird. Auf einigen Systemen klappt das mit den Umlauten nicht so wie es soll. - Wenn die Tests einen Fehler bei der Instanziierung der
TreeMap
melden, dann achten Sie darauf, dass der Konstruktor dieser Klassepublic
ist.
- Im Aufgabentext zu Aufgabe 3 hatte sich ein Fehler eingeschlichen. Die zu implementierende Klasse ist:
- Das Template finden Sie im GitLab Repository Ihres Teams.
Übungsblatt 2
- Ausgabe: 28. April 2020
- Abgabe: 5. Mai 2020 bis 15 Uhr via Exclaim
- Übungsblatt (pdf) • IntelliJ IDEA Projekt Aufgabe 1 (zip) • IntelliJ IDEA Projekt Aufgabe 2 (zip)
- Abgefragt wird der Vorlesungsstoff aus der dritten Vorlesungswoche.
Übungsblatt 1
- Ausgabe: 21. April 2020
- Abgabe: 28. April 2020 bis 15 Uhr via Exclaim
- Übungsblatt (pdf) • IntelliJ IDEA Projekt (zip)
- Abgefragt wird der Vorlesungsstoff aus der zweiten Vorlesungswoche. Sehen Sie sich außerdem unser IntelliJ IDEA Videotutorial an, damit Ihnen die Bearbeitung leichter fällt.
Übungsverwaltung
Die Verwaltung erfolgt über das Exclaim System. Die Veranstaltung heißt dort pp20.
Registrierung
Anmeldefrist war am 14. April um 15 Uhr. Anmeldefrist verlängert bis 16. April um 15 Uhr!
Damit wir Sie mit Ihrem Wunschpartner zusammen in ein Team einteilen können, müssen Sie auf der pp20 Seite im Exclaim den Button Gruppen und anschließend den Button Gruppenpräferenzen angeben klicken. Wichtig ist nur die untere Hälfte der Seite. Tragen Sie bei Benutzername 1 den Exclaim-Benutzernamen Ihres gewünschten Teampartners ein und klicken Sie unten auf Absenden. Ihr Wunschpartner muss entsprechend auch Ihren Benutzernamen eintragen. Nur wenn Sie sich gegenseitig eintragen und keine Teams mit mehr als zwei Personen bilden, können wir die Wünsche berücksichtigen.
Ansonsten werden die Teilnehmenden zufällig zu Teams zugeordnet.
Sprechstunden
Bitte schreiben Sie keinen Code, der als Lösung für unsere Aufgaben gedacht ist, in den öffentlichen Kanal auf Mattermost oder ins Forum. Über diese Kommunikationswege sollten nur allgemeine Fragen gestellt werden (gerne auch mit Code aus den Vorlesungsfolien etc.). Den Code aus Ihren Lösungen können Sie auf Mattermost als Direktnachricht an den/die in der Sprechstunde anwesende*n Tutor*in schicken.
Olat Forum
Zur Beantwortung Ihrer Fragen haben wir ein Forum eingerichtet. Sie finden es in unserem Olat-Kurs. Buchungscode für den Kurs: integer
. Olat wird nur für das Forum verwendet, die Übungsverwaltung läuft über Exclaim!
Mattermost-Sprechstunden
Für Probleme, die sich nicht asynchron im Forum lösen lassen, bieten wir Sprechstunden an. Wir nutzen dazu das Team pp-ss20 auf dem RHRK Mattermost Server. Der Login erfolgt per RHRK Account via RHRK GitLab. Um dem Team beizutreten, müssen Sie im eingeloggten Zustand einmalig diesen Einladungslink öffnen.
Sie können Mattermost im Browser verwenden oder Sie installieren sich die passende Anwendung für Ihr Betriebssystem. Die Server-URL ist https://teamwork.rarp-kl.de/
.
Zu den Sprechstunden-Zeiten ist ein*e Tutor*in im Kanal Sprechstunde
anwesend. Von dort aus können Sie dann bei Bedarf Meetings per Jitsi (oder eine ähnliche Technologie) vereinbaren.
Ablauf
- Wenn Sie ein Problem oder eine Frage haben, dann melden Sie sich grundsätzlich zuerst im Kanal
Sprechstunde
. Schreiben Sie nicht den/die Tutor*in direkt mit der Frage an. So können wir auch mit mehreren Personen gleichzeitig die Anfragen der Reihe nach abarbeiten. - Wenn sich Ihre Frage auf Ihren Programmcode bezieht, dann erstellen Sie zuerst einen Commit und pushen diesen auf den GitLab Server - gerne in einen separaten Zweig, falls Sie das nicht direkt in
master
haben wollen. Schicken Sie in Ihrer Anfrage im KanalSprechstunde
dann einen Link zu dieser Datei in der GitLab Weboberfläche mit. Unsere Tutor*innen haben Zugriff auf Ihre Projekte und können Ihnen mit dem Link schneller helfen. Studierende aus anderen Teams können den Link nicht öffnen. Ihr Code bleibt also geheim und Sie verletzen damit nicht die Plagiatsregel. - Sobald Sie an der Reihe sind, wird eine anwesende Person (Tutor*in oder einer der Mitarbeiter) die Anfrage beantworten. Wenn wir der Meinung sind, dass die Antwort auch anderen hilft, dann antworten wir im Kanal, wenn es um Ihren spezifischen Quellcode geht, dann antworten wir per Direktnachricht.
- Bitte haben Sie Verständnis dafür, dass die Sprechstunden auf 90 Minuten pro Werktag beschränkt sind. Sollten wir einmal nicht bis zu Ihrer Frage gekommen sein, dann versuchen Sie bitte nochmal, das Problem selbst zu lösen und melden Sie sich bei Bedarf in der nächsten Sprechstunde wieder. Erfahrungsgemäß sind die Sprechstunden kurz vor der Abgabefrist stärker besucht - fangen Sie also früh mit der Bearbeitung der Aufgaben an und profitieren Sie von den freien Kapazitäten in der Anfangsphase.
Zeiten
- Montags: 10:00 - 11:30 Uhr (Sophia)
- Dienstags: 13:45 - 15:15 Uhr (Christopher)
- Mittwochs: 13:45 - 15:15 Uhr (Jonas)
- Donnerstags: 13:45 - 15:15 Uhr (Aaron)
- Freitags: 10:00 - 11:30 Uhr (Yannick)