Kontakt
stefan.bente[at]th-koeln.de
+49 2261 8196 6367
Discord Server
Prof. Bente Personal Zoom
Adresse
Steinmüllerallee 4
51643 Gummersbach
Gebäude LC4
Raum 1708 (Wegbeschreibung)
Sprechstunde nach Vereinbarung
Terminanfrage: calendly.com Wenn Sie dieses Tool nicht nutzen wollen, schicken Sie eine Mail und ich weise Ihnen einen Termin zu.

AD Nachholkurs, WS21

Für Application Design (AD) biete ich einen verkürzten Nachholkurs ohne Workshops und Inhaltsimpulse an, bei dem die Aufgabenstellung noch einmal in ähnlicher Form bearbeitet werden kann, wenn sie beim ursprünglichen Kurs nicht bestanden wurde. Jede:r Teilnehmer:in bekommt ein individuelles Repo, in dem die Aufgabenstellung beschrieben ist.

Studiengang und Modulbeschreibung
Code & Context (Bachelor) (siehe auch Modulbeschreibung auf der Studiengangs-Seite)
Zeitraum und zeitliche Organisation der Veranstaltung
14.03.2022 - 23.03.2022. Organisiert als Blockkurs ohne vorgegebene Präsenzzeiten, stattdessen werden Milestones ausgegeben. Siehe unten für Details.
Ort der Veranstaltung
Die Veranstaltung findet im Regelfall rein online statt.
Videokonferenz-Link: https://th-koeln.zoom.us/j/89942479715?pwd=UWZtQ25MZjBobXh6UWJyTVN4TjFOZz09 (nur in Ausnahmefällen und wenn explizit vorher für den Tag kommuniziert)
ILIAS/ILU-Kurs zur Veranstaltung
https://ilias.th-koeln.de/ilias.php?ref_id=1923299&cmdClass=ilrepositorygui&cmdNode=wc&baseClass=ilrepositorygui
Praktikum
Das Praktikum wird über eine Folge von personalisierten und individuell für Sie generierten Git-Repos durchgeführt. Für jeden Meilenstein erhalten Sie ein neues Repo von uns. Jede*r Teilnehmer*in muss eine eigenständige Bearbeitung der Praktikumsaufgabe durchführen. Wir ermutigen Sie ausdrücklich, Ihre Lösungen in Arbeitsgruppen zu diskutieren. Ein einfaches Copy-Paste von Lösungen (unter Anpassung der Personalisierung) werten wir aber als Täuschungsversuch. Studierende, bei denen wir dieses sehen (und wir haben automatisierte Möglichkeiten, dies zu sehen) werden ohne Vorwarnung vom Praktikum ausgeschlossen. Das gilt sowohl für die Person, die kopiert hat, wie auch für die-/denjenigen, die/der die Lösung zur Verfügung gestellt hat.
Anmeldung zur Veranstaltung
Bitte schicken Sie mir eine Nachricht (Email oder Discord), wenn Sie teilnehmen wollen. Die Deadline ist 07.03.2022.
Git-Repo für
https://git.st.archi-lab.io/
Discord-Server für schnelle Kommunikation
Discord hat sich als sehr effektive Plattform für den Informationsaustausch, Diskussionen und Fragen an Lehrende/Betreuer:innen erwiesen. Deshalb sollten Sie dem ArchiLab-Discord-Server beitreten unter https://discord.gg/YYNYb5whU8. Navigieren Sie zum Channel #rollenzuweisung und klicken Sie auf coco. Die entsprechenden Kanäle zur Veranstaltung werden anschließend für Sie freigeschaltet.
Youtube-Kanal
Für diese Veranstaltung sind Lehrvideos auf Youtube verfügbar. Abonnieren Sie dafür am besten den Kanal ArchiLab. Für die Videos zu dieser Veranstaltung gibt es eine Playlist. (Disclaimer - die Videos auf diesem Kanal sind nicht monetarisiert. Weder ich persönlich noch das Labor ArchiLab verdienen damit Geld. Wir nutzen YouTube vor allem deshalb, weil es für Studierende ein leicht zugänglicher Kanal ist. Außerdem bekommen wir als Labor an der TH Köln so auch Sichtbarkeit nach außen, was z.B. bei dem Einwerben von externen Gastvorträgen hilft.)
Script
Für diese Veranstaltung ist ein Script verfügbar (in den Videos verwendete Folien als PDF, mit abschnittsweisen Links auf das entsprechende Video).

Randbedingungen

Dieses Nachholpraktikum biete ich in dieser Form als freiwillige Leistung an. Daher muss ich den Betreuungsaufwand etwas limitieren, da ich mit der Semestervor- und -nachbereitung
gut zu tun habe. Das bedeutet die folgenden Grundsätze:

  • Rechnen Sie bitte nicht mit Feedback während des Wochenendes. Hier garantieren ich nichts. Vielleicht wird es mal vorkommen, aber es gibt keinen Anspruch darauf.
  • Ich bemühen mich, nach Möglichkeit Fragen schnell zu beantworten, können das aber nicht immer garantieren. Discord geht am schnellsten. Diskutieren Sie gern auch untereinander.
  • Keine Antworten auf PMs (personal messages) in Discord. Wenn Sie eine Frage haben, dann schreiben Sie die bitte in den Coco-Channel, aber ohne individuelle Lösungen zu teilen.
  • Bilden Sie gern Lerngruppen!
  • Aber: Ein reines Copy/Paste von Lösungen, bei denen dann nur die Individualisierung angepasst wird (und ggfs. ein paar kleinere Anpassungen vorgenommen werden), werten ich als Täuschungsversuch und schließen Sie ohne Vorwarnung vom Nachholkurs aus.

Worauf sollten Sie sich einstellen?

Wenn Sie dabei sein wollen: Stellen Sie sich darauf ein, dass Sie die Zeit auch dafür freihalten - es wird genausoviel Arbeit wie der reguläre Kurs ohne die Impulse und Workshops, aber eben komprimiert und nur mit reduziertem Feedback meinerseits.

Bewertung

Es sind insgesamt 100 Punkte zu erreichen. Bestanden ist ab 40 Punkte, eine 1,0 gibt es ab 85 Punkte.

  Max. Punkte Kriterien
Funktionalität korrekt umgesetzt 30 - geforderte Funktionalität umgesetzt - Tests sind grün (je Test 2 Punkte, Hidden Test = 6 Punkte, sofern jeweils kein “Fake”)
Domain Model 20 - Entities und Value Objects und deren Beziehungen richtig gewählt
- Dokumentation gut verständlich
Clean Code 20 - Clean-Code-Regeln im Code eingehalten
Domain Primitives 15 - Domain Primitives existieren, wo sinnvoll
SOLID 15 - Business-Logik ist, wo möglich, in Entities, nicht in Services
- SOLID-Prinzipien sind eingehalten
Summe 100  

Teilaufgaben

Die folgenden Teilaufgaben sind Bestandteil der Abgabe.

Domain Model: Aufstellen eines Domain Models

Entscheiden Sie für die gegebene Aufgabe, was die Entities und die Value Objects sind, und in welcher Beziehung die zueinander stehen. Dokumentieren Sie Ihr Domain Model als Diagramm, aus dem diese Informationen hervorgehen. Kommentieren Sie wo nötig.

Zugehörige Videos

Implementation: Umsetzung der gegebenen Aufgabe im Repo

Implementieren Sie die Aufgaben, so dass möglichst alle Unit-Tests grün sind.

Zugehörige Videos

Domain Primitives: Verwenden Sie Domain Primitives in Ihrem Code, wo das sinnvoll ist

In der Aufgabenstellung gibt es mehrere Stellen, an denen Domain Primitives sehr sinnvoll sind. Implementieren Sie die sinnvollen Domain Primitives, und versuchen Sie Basis-Funktionalität schon dort zu implementieren.

Zugehörige Videos

Clean Code: Beachten Sie die Regeln des "Clean Code"

Beschäftigen Sie sich mit den Clean-Code-Regeln und sorgen Sie dafür,dass Ihr Code diesen Regeln genügt.

Zugehörige Videos

SOLID: Einhalten der SOLID-Prinzipien

Wenden Sie die SOLID-Prinzipien auf Ihren Code an, wo das sinnvoll ist. Dokumentieren Sie kurz, wo Sie welches Prinzip in Ihrem Code verwendet haben.

Zugehörige Videos