Kursinformationen
Zielgruppe
Diese Veranstaltung ist auf Bachelorstudierende der Studiengänge Mathematik und Informatik sowie für Masterstudierende der Studiengänge Mathematik, Scientific Computing sowie Data and Computer Science ausgerichtet.
Zielsetzung
Anders als üblicherweise in Vorlesungen und Seminaren steht in Software Praktika das projektbasierte Arbeiten in entsprechenden Phasen und die dazugehörige Teamarbeit in kleinen Gruppen im Vordergrund. In dieser Veranstaltung sollen sich die Teilnehmenden also in Kleingruppen grundlegende bzw. weiterführende Fähigkeiten zur erfolgreichen Planung, Umsetzung, Dokumentation und Präsentation von Softwareprojekten beispielsweise im Rahmen der mathematischen Optimierung erarbeiten.
Umfang
Die Praktika sind in Anfänger- und Fortgeschrittenenpraktika aufgeteilt. Die Anforderungen der beiden Klassen unterscheiden sich in Umfang sowie Komplexität. Die Leistungspunkte und entsprechenden Arbeitsstunden entnehmen Sie bitte den jeweils aktuellen Modulhändbüchern ihrer Studiengänge, z.B. hier.
Vorkenntnisse
Für Anfängerpraktika sind nur geringe Vorkenntnisse erforderlich. Eine Einführung in die Informatik und Basisprogrammierkenntnisse sind empfohlen.
Für fortgeschrittene Praktika sind höherwertige Vorkenntnisse erforderlich. Das selbstständige Arbeiten mit mindestens einer Programmiersprache und ihrer Dokumentation wird erwartet. Vorkenntnisse im Software Engineering sind empfohlen.
Projektvergabe
Dieses Praktikum richtet sich an Studierende mit eine breiten Spanne an Vorerfahrungen, Studienzielen und Interessen. Die Themenfindung und Aufgabenformulierung findet daher immer in der individuellen Absprache mit den InteressentInnen bei einem organisatorischen Vortreffen statt.
Die mathematische Optimierung ist für praktikabezogene Themen ein ergiebiges, vielseitiges Feld mit wichtigen Software-Anwendungen in der Medizin, Bildverarbeitung, Ingenieurstechnik, im Finanzsektor, etc.
Prüfungsleistung
Der Umfang der Anfängerpraktika entspricht typischerweise 4 Leistungspunkten und die Note setzt sich zusammen aus der Bewertung der Bearbeitung des Projekts, der dokumentierten Software, einer mündlichen Präsentation der Ergebnisse von ca. 20 Minuten und einer schriftlichen Ausarbeitung von bis zu 5 Seiten, die das Projekt und seine Ergebnisse beschreibt.
Der Umfang der Fortgeschrittenenpraktika entspricht typischerweise 8 Leistungspunkten und die Note setzt sich zusammen aus der Bewertung der Bearbeitung des Projekts, der dokumentierten Software, einer mündlichen Präsentation der Ergebnisse von ca. 30 Minuten und einer schriftlichen Ausarbeitung von 5-10 Seiten, die das Projekt und seine Ergebnisse beschreibt.
Voraussetzung für die Bearbeitung eines der vorgeschlagenen Projekte ist die Verwendung einer Versionskontrolle (vorzugsweise Git) innerhalb Ihrer Gruppe.
Bewertung
Grundsätzliche Kriterien
In die Bewertung fließen unter anderem ein:
- Projektstruktur und deren Beschreibung
- Nutzung von Versionskontrollsoftware
- Codestruktur der Software
- Dokumentation des Codes (z.B. durch Kommentare)
- Interfacedesign
- Systemunabhängigkeit
Mindestanforderungen
- Realistische Projektabschnittsplanung mit Referenz auf konkrete Zeitpunkte
- Strukturierte Verwendung von Versionskontrollsoftware
- Strukturierte Verwendung von Softwaretests
- Code mit klar erkennbarem Namensschema und Kommentaren (Englisch)
- Doc-string artige Kommentare zu Funktionen, die In- und Output Größen beschreiben (Englisch)
- Schriftliche Ausarbeitung (Deutsch oder Englisch), welche einerseits als kurze Nutzungsanleitung für die entstandene Software verwendet werden kann, und andererseits beschreibt:
- Grundlegende Designentscheidungen, z.B. hinsichtlich interface und verwendeten Bibliotheken
- Vorgehensweise in der Nutzung der Versionskontrolle (branches & merging)
Ablauf
Für diese Praktikumsreihe findet am 27.04.2023 von 11 Uhr bis ca 11:45 Uhr im Seminarraum (SR) 11 des INF 205 eine Vorbesprechung statt. Hier werden Projektthemen und Gruppenzusammenstellungen besprochen und festgelegt. Die Anzahl der Personen pro Projekt hängt von dessen Umfang ab, als Richtlinie kann von zwei bis drei Personen je Projekt ausgegangen werden. Da die Gruppenarbeit eine entscheidende Komponente der Zielsetzung des Praktikums ist, ist Einzelbearbeitung von Themen nur im Ausnahmefall möglich.
Nach Zuordnung der Gruppen und Projekte legen wir für jedes Projekt eine Übungsgruppe in MÜSLI an, in denen sich bitte alle Gruppenmitglieder eintragen. Sobald wie möglich versenden wir anschließend genau Projektaufgabenbeschreibungen.
Für die Teilnehmenden, die kein Software-engineering Vorwissen haben schließt sich eine kurze Selbststudiumsphase an, um sich die best-practice Vorgehensweisen anzueignen. Etwa 2 Wochen nach Erhalt der Projektaufgabenbeschreibungen reichen Sie bitte eine Beschreibung Ihres geplanten Vorgehens mit grobem Zeitplan und Arbeitspaketen per E-Mail ein.
Anschließend bearbeiten die TeilnehmerInnen in ihren Gruppen selbstständig unter Betreuung durch die Dozenten die Arbeitsaufgabe. Treffen mit den Betreuern können Sie bitte nach Notwendigkeit individuell vereinbaren.
Eine schriftliche Ausarbeitung, die Ihr Projekt und seine Ergebnisse beschreibt und der Code zum Projekt selbst ist bis zum 09.07.2023 per E-Mail einzureichen. Ein Termin für die Präsentation der Ergebnisse wird noch festgelegt, wir werden aber die KW 29 anstreben.
Registrierung und Teilnahme
Sollten Sie Interesse haben, ein Praktikum zu absolvieren, bitten wir Sie, zu der Vorbesprechung zu erscheinen (siehe Ablauf). Für Teilnehmende, die sich und eine schon bestehende Gruppe anmelden wollen, reicht im Zweifel auch ein(e) Repräsentant(in) der Gruppe. Wer zu diesem Termin nicht teilnehmen kann, meldet dies bitte kurz per E-Mail .