piwik-script

Intern
    Lehrstuhl für Künstliche Intelligenz und Wissenssysteme

    Praktikum: Softwarepraktikum

    Softwarepraktikum - Sommersemester 2023

    Prof. Dr. Frank Puppe, Prof. Dr. Samuel Kounev und Mitarbeiter der Lehrstühle II und VI

    UPDATE vom 11.04.2023: Termin und Ort der Einführungsveranstaltung ergänzt

    Zulassungsvoraussetzungen:

    Die Grundvorlesungen zur Praktischen Informatik und Programmiererfahrung sind erforderlich, damit Sie im Praktikum erfolgreich zusammenarbeiten können. Die konkreten Zulassungsvoraussetzungen unterscheiden sich je nach Studiengang und Version der Prüfungsordnung und können für Bachelor-Studiengänge hier  nachgesehen werden. In der Regel muss Softwaretechnik sowie das Programmierpraktikum bestanden worden sein und die Veranstaltung Algorithmen und Datenstrukturen ist nicht erforderlich, wird aber dringend empfohlen.

    Für Lehramts-Studiengänge entsprechen die Zulassungsvoraussetzungen in der Regel denen des Bachelor Informatik. Nur wenn Sie einen Lehramts-Studiengang mit Drittfach Informatik studieren (also nicht als eines Ihrer beiden Hauptfächer), sind keine Module erforderlich. Auch hier werden allerdings dieselben Module wie im Bachelor Informatik dringend empfohlen.

    Anmeldung:

    Beachten Sie vor der Anmeldung bitte, dass das Softwarepraktikum 10 ECTS Punkte bringt, was pro Person einer Arbeitszeit von ungefähr 300 Stunden entspricht. Und da es für das Softwarepraktikum keine Klausur gibt, verteilen sich diese Stunden über die ganze Vorlesungszeit. Bitte berücksichtigen Sie dies schon vor der Anmeldung bei der Planung Ihres Semesters. Eine Abmeldung im laufenden Praktikum ist sowohl für Ihre übrigen Gruppenmitglieder als auch für den Betreuer Ihres Themas mit erheblichem Mehraufwand verbunden.

    Für die Teilnahme an der Veranstaltung melden Sie sich bitte in WueStudy für das Softwarepraktikum an und schicken bis spätestens Dienstag, den 18.04.2023 um 18:00 Uhr eine von WueStudy erstellte und verifizierbare PDF mit der Anmeldebestätigung per E-Mail an Leon Liman (leon.liman@uni-wuerzburg.de). Die entsprechende WueStudy-Bescheinigung heißt "Bescheinigung über angemeldete Prüfungen". Bitte verwenden Sie für die Anmeldung das Stud-Mail Konto, oder nennen Sie in Ihrer Anmeldung Ihre Stud-Mail-Adresse.

    Die Anmeldung für das Softwarepraktikum ist in WueStudy ab dem 01.04.2023 möglich und kann nur durchgeführt werden, wenn Sie die Zulassungsvoraussetzungen dafür bereits erfüllt und in WueStudy eingetragen bekommen haben. Wenn Sie einen Lehramts-Studiengang mit Drittfach Informatik studieren, können Sie sich nicht per WueStudy für das Softwarepraktikum anmelden. Schicken Sie in diesem Fall bitte eine aktuelle Immatrikulationsbescheinigung ebenfalls bis zum 18.04.2023 um 18:00 Uhr per E-Mail an die oben genannte Adresse.

    Wenn Sie das Programmierpraktikum erst kurz vor Beginn der Vorlesungszeit bestanden haben und nur noch auf die Eintragung in WueStudy warten, können Sie sich mit einem aktuellen WueStudy-Notenspiegel (mit den übrigen Zulassungsvoraussetzungen) und einem Screenshot der Eintragung des Programmierpraktikums in WueCampus bereits vorläufig anmelden. Die WueStudy-Anmeldebestätigung muss dann nachgereicht werden, sobald die Verbuchung des Programmierpraktikums in WueStudy stattgefunden hat.

    WICHTIG: Es wird davon ausgegangen, dass Studierende von Informatik-Studiengängen in der Lage sind, zumindest einmal am Tag ihre E-Mails zu kontrollieren. Sollten Sie auf eine E-Mail der Organisatoren des Praktikums (Robert Leppich und Leon Liman) bzgl. fehlender Informationen in Ihrer Anmeldung oder nachzureichender Dokumente nicht innerhalb von maximal 48 Stunden (Wochenende und Feiertage ausgenommen) reagieren, verlieren Sie Ihren Platz im Praktikum und können sich eventuell erst im nächsten Semester wieder anmelden.

    Einreichen von Themenvorschlägen:

    Auf Vorschlag der Teilnehmenden im letzten Semester hin, besteht dieses Semester zum ersten Mal die Möglichkeit, dass Sie auch selber Themen für das Softwarepraktikum vorschlagen können. Falls Sie eine Idee für ein Thema haben, dann schicken Sie diese bitte bis spätestens zum 31.03.2023 an die oben für die Anmeldung genannte E-Mail-Adresse. Bei dem Vorschlag sollte es sich um etwas handeln, was als Web-Anwendung umgesetzt werden kann und der Vorschlag muss mindestens das Folgende enthalten:

    • Titel
    • Schwerpunkte (z.B. zu verwendende Frameworks, Programmiersprachen oder Techniken)
    • Kurze, textuelle Beschreibung der Idee hinter dem Thema
    • Auflistung der konkreten Anforderungen an die zu entwickelnde Software (analog zu den Muss-Kritierien in einem Pflichtenheft)
    • Mögliche Aufteilung der Anforderungen des Themas auf 3 bis 4 Studierende

    Wir werden versuchen geeignete Themenvorschläge in diesem (oder einem der nächsten) Semester anzubieten. Ob ein Thema angeboten werden kann, hängt allerdings auch von der Zahl an Anmeldungen für das Softwarepraktikum sowie von den von den einzelnen Betreuern selber vorgeschlagenen Themen ab. Falls Ihr Themenvorschlag verwendet wird, dann wird dieser in die normale Themenvergabe (wie unten beschrieben) mit aufgenommen und kann von Ihnen (wie von allen anderen Teilnehmenden) mit einer Ihrer Prioritäten gewählt werden.

    Ablauf:

    • Einschreibung in den WueCampus-Kurs: Am Tag nach der Anmelde-Deadline werden alle Teilnehmenden gegen Mittag/Nachmittag automatisch in den WueCampus-Kurs für das Softwarepraktikum eingeschrieben.
    • Themenvergabe: Die Bearbeitung der Projektaufgaben findet in Gruppen aus 3 oder 4 Studierenden statt. Die Themen sowie die Teams werden nicht mehr zufällig verteilt, sondern die Titel und Schwerpunkte aller Themen vorab im WueCampus Kurs ausgeschrieben. Dadurch sollen die Teilnehmenden einen Eindruck bekommen, mit welchen Frameworks, Programmiersprachen oder Techniken gearbeitet werden soll. Ab der Einschreibung in den WueCampus-Kurs besteht dann für 24 Stunden die Möglichkeit Prioritäten für die Themen zu vergeben und anschließend werden alle Teilnehmenden entsprechend ihrer Prioritäten so gut wie möglich auf die Themen verteilt. Nach dieser Verteilung steht dann auch eine detaillierte Projektbeschreibung für jedes Thema in WueCampus zur Verfügung.
    • Treffen mit dem Betreuer: Melden Sie sich nach der Themenvergabe bitte direkt bei dem Betreuer Ihres Themas. Dieser spricht dann mit Ihrer Gruppe den ersten Termin und die weitere Form der Kommunikation innerhalb der Gruppe ab.
    • Einführungsveranstaltung: Zur genaueren Erläuterung des Ablaufs sowie um allen Teilnehmenden die Möglichkeit zu geben, dazu Fragen zu stellen, wird es am 20.04.2023 um 16:00 Uhr (nicht 16:15 Uhr!) im Zuse-Hörsaal des Informatikgebäudes eine Einführungsveranstaltung geben. Im Rahmen dieser Veranstaltung wird dann auch die Themenzuteilung bekannt gegeben (und nach dem Termin in WueCampus veröffentlicht).
    • Fokus auf Webentwicklung: Nach dem positiven Feedback dafür in den letzten Semestern, wird es auch in diesem Semester wieder größtenteils Themen geben, in denen eine Web-Anwendung entwickelt werden soll. Dabei werden vor allem die folgenden Frameworks für die Web-Oberfläche (das Frontend) bzw. für den Server (das Backend) zum Einsatz kommen Eine mit allen obigen Frameworks implementierte Beispielanwendung finden Sie hier. In dem Archiv ist auch eine Anleitung zur Verwendung der Beispielanwendung enthalten. Die oben für die Frameworks verlinkten Materialen sowie die Beispielanwendung müssen von den Teilnehmenden vor Beginn der Veranstaltung durchgegangen werden und sind Voraussetzung für die erfolgreiche Teilnahme am Softwarepraktikum. Sollten Sie dies für alle Frameworks zeitlich nicht schaffen, dann wählen Sie mindestens eines der Frameworks für das Frontend sowie eines für das Backend aus und arbeiten sich in deren Materialen sowie deren Teile der Beispielanwendung ein.
    • Agile Entwicklung: Der Software-Entwicklungsprozess während des Praktikums orientiert sich an dem SCRUM-Modell. In diesem Zusammenhang legen Sie für Sprints mit einer Länge von jeweils 2 Wochen Ihre Ziele in dem Projekt fest. Diese Ziele dürfen Sie maximal zweimal zu weniger als 50% erfüllen, um das Softwarepraktikum zu bestehen. Außerdem müssen alle Teilnehmenden in ihrer Gruppe mindestens einmal SCRUM-Master gewesen und damit für die Organisation innerhalb der Gruppe und die Planung des nächsten Sprints zuständig gewesen sein.
    • Abgabetermine: Im Laufe des Semesters gibt es mehrere Termine, die Sie für ein Bestehen des Praktikums einhalten müssen. Die genauen Tage und Uhrzeiten finden Sie zu Beginn der Vorlesungszeit im WueCampus-Kurs.
      • Etwa 2 Wochen nach Beginn des Praktikums muss von allen Gruppen ein Pflichtenheft für ihr Thema abgegeben werden. In dem Pflichtenheft muss auch festgelegt werden, welche Muss-Kriterien bis zur Halbzeit des Projekts erfüllt sein werden. Außerdem müssen darin die groben Zuständigkeiten der einzelnen Teilnehmenden festgelegt werden.
      • Ebenfalls 2 Wochen nach Beginn des Praktikums müssen alle Teilnehmenden eine von ihrem jeweiligen Betreuer festgelegte Einführungsaufgabe implementiert und abgegeben haben. Diese Aufgabe werden Sie bereits mit den Tools und Frameworks bearbeiten, die in Ihrem Thema verwendet werden sollen, und können sich mit diesen so schon besser vertraut machen.
      • Zur Halbzeit des Projekts müssen die im Pflichtenheft festgelegten Halbzeit-Ziele von jedem Teilnehmenden erreicht und der Code dafür hochgeladen sein.
      • 2 Wochen vor dem Ende der Vorlesungszeit muss die Implementierung aller Muss-Kriterien aus dem Pflichtenheft (inklusive Kommentare und Tests) vollständig abgeschlossen und hochgeladen sein.
      • Bis zum Tag vor der Abschlussveranstaltung müssen dann außerdem die Dokumentation zu Ihrem Projekt sowie die Abschlusspräsentation abgegeben werden.
    • Abschlussveranstaltung: Im Rahmen einer Abschlussveranstaltung (in der letzten Woche der Vorlesungszeit) stellt abschließend jedes Team seine Ergebnisse kurz vor. Anschließend können die Teilnehmenden ihre Projekte gegenseitig bewerten. Das Sieger-Team wird mit einem Foto auf dieser Seite verewigt und kann sich so ewigem Ruhm sicher sein.