Praktikum Software Engineering für Fortgeschrittene

Beschreibung

Inhalt

Ziel des Software-Entwicklungspraktikums ist das Erlernen von Methoden zur Entwicklung größerer Software-Systeme und deren praktische Anwendung. Es werden verschiedene Techniken und Werkzeuge vorgestellt und geübt, die bei der Entwicklung von mittleren und größeren Software-Projekten nützlich sind. Im Fokus stehen dabei

  • Agiles Projektmanagement mit Scrum
  • Design-Patterns und -Prinzipen
  • Codequalität (readability, testability, changeability)
  • Testen (Unit-Testing und Test-Driven Development)
  • Tooling (Eclipse) und Refactoring
  • Bug-Tracking und Task-Tracking mit Milestones und Kanban-Boards (GitLab)
  • Versionsverwaltung, Buildprozess und Continuous Integration

Diese Techniken werden von den Teilnehmern bei der Durchführung eines kompletten Softwareprojekts geübt und angewendet. Dabei wird ein webbasiertes Multiplayer-Kartenspiel namens “The Bug is a Lie” implementiert.

Anrechnung

Ablauf und Termine

Das Praktikum besteht aus zwei Teilen: In den ersten Wochen findet ein Vorlesungsteil statt, in dem Sie eine Einführung in die im Praktikum verwendeten Methoden und Technologien bekommen und diese üben. Danach beginnt das eigentliche Praktikum, das in Teams von 5-6 Personen aufgeteilt stattfindet.

Im Praktikumsteil gibt es vier Sprints und wöchentlich zwei Treffen des Teams mit dem Betreuer (primär im Zeitraum von Montags 12-14 Uhr und Donnerstags 12-16 Uhr, nach Absprache auch zu anderen Zeiten), in denen Sprint Planning, Daily Standup, Sprint Review etc. stattfinden. Jedes dieser Treffen dauert maximal 2 Stunden. Das Praktikum endet mit einer Abschlusspräsentation.

Das Praktikum findet anfangs in Präsenz statt. In der Gruppenphase können die Teams entscheiden ob Meetings in präsenz oder online stattfinden.

Die Anwesenheit bei allen Terminen ist obligatorisch, da andernfalls ein Zusammenarbeiten im Team nicht möglich ist. Fehlzeiten sind mit (Arbeitnehmer-)Krankenschein zu belegen.

Der Gesamtzeitaufwand beträgt 180 Stunden. Da sämtlicher Zeitaufwand vor dem Ende der Vorlesungszeit anfällt (keine Klausur und dazugehörige Lernzeit) müssen Sie also 12-15 Stunden Zeit pro Woche aufwenden.

Voraussetzungen

Die Voraussetzung für die Teilnahme an diesem Praktikum ist die Beherrschung der Programmiersprache Java (und dementsprechend einer Entwicklungsumgebung für diese Sprache). Konkret bedeutet dies nicht nur das Verständnis der Syntax und Semantik von Java, sondern auch der Klassen des Java-SDK (insbes. Collections-Framework und Netzwerk-Funktionalität) und der Fähigkeit zur Einarbeitung in weitere Libraries. Vorkenntnisse der folgenden Veranstaltungen werden vorausgesetzt:

  • Vorlesung “Softwaretechnik”
  • Softwareentwicklungspraktikum (SEP)

Studierende, die die Prüfung zu Softwaretechnik nicht absolviert haben, können am SWEP trotzdem teilnehmen, wenn sie (a) die Inhalte von SWT kennen (laut eigener Bestätigung) und (b) ein Java-basiertes SEP absolviert haben (also z.B. nicht das Systempraktikum).

Hilfreich sind außerdem:

  • Fähigkeit, im Team zu arbeiten (mit git und GitLab)
  • Erweiterte IDE-Kenntnisse
  • Web-basierte Entwicklung (html, css); Wicket; Vaadin; Java Servlets; Ant; SQL; JDBC; JUnit; Mockito

Entsprechende Vorkenntnisse/besuchte Vorlesungen sollten bei der Zentralanmeldung angegeben werden und werden speziell berücksichtigt!

Sprache

Das Praktikum wird auf Deutsch und Englisch angeboten (je nach Team). Die jeweilige Sprache muss in den Team-Treffen mit dem Betreuer (Daily Standups, Sprint Planning, etc.) und in der Entwicklung (Produkt-GUI, Code-Kommentare, Issues, etc.) benutzt werden. Die Sprache geht jedoch nicht in die Bewertung ein.

Da die Sprache der Entwicklungsteams in vielen Firmen heutzutage Englisch ist, können Sie sich so darauf vorbereiten und z.B. das Diskutieren auf Englisch üben.

Institut
Institut für Informatik
Dozent:in
Assistent:innen
Kursteilnehmer:innen
24 von 10
Zentralanmeldung
Masterpraktika
Anweisungen zur Bewerbung

Diese Veranstaltung ist für das Sommersemester (2023) und steht neben Bachelor/Masterstudierenden der Informatik auch Lehramtsstudierenden zur Verfügung. Letztere können nicht an der Zentralanmeldung teilnehmen und müssen sich vor Ende der Bewerbungsfrist der Zentralanmeldung (03.04.2023) per Email an die Assistenten anmelden.

Bitte geben Sie folgende Punkte bei Ihrer Bewerbung an:

  1. Vorkenntnisse in den Veranstaltungen “Objektorientierte Softwareentwicklung” bzw. “Softwaretechnik” und “Softwareentwicklungspraktikum” (auch welches Praktikum besucht wurde)

  2. Vorkenntnisse im Bereich Web-Entwicklung und Software-Entwicklung im Team mit agilen Methoden (s. Kursbeschreibung)

  3. Ob sie bereit sind, am Praktikum auf Englisch teilzunehmen, und welche Sprache Sie präferieren.

  4. Ob Sie an den Team-Meetings zweimal pro Woche teilnehmen können.

Material

Das Kursmaterial ist nur für Mitglieder des Kurses einsehbar, also z.B. für Teilnehmer:innen, Tutor:innen, Korrektor:innen und Verwalter:innen.

Prüfungen
NameAnmeldung abAnmeldung bisTerminPrüfungsanmeldung
Sa 04 Feb 2023 12:00
Do 20 Jul 2023 11:00
Do 20 Jul 2023 14:00 – 16:00
Nicht zur Prüfung angemeldet
Termine
ArtZeitRegulärer RaumNotiz
Team Meetings (the rooms for the individual teams will be announced later)
  • Mo 12:00–14:00
U127, U133
Lecture (first two weeks only)
  • Mo 12:00–14:00
Oettingenstraße 67, U127
Team Meetings (the rooms for the individual teams will be announced later)
  • Do 12:00–16:00
U133, U139
Lecture (first two weeks only)
  • Do 12:00–16:00
Oettingenstraße 67, U139