Software-Projektpraktikum CES

  Mikroprozessor Urheberrecht: © Loic Wendling

Das „Softwareentwicklungspraktikum CES“ ist eine Pflichtveranstaltung im vierten Semester für Bachelor-Studierende des Studiengangs „Computational Engineering Science“

 

Termine

Vorlesung/Übung: Termine werden bekannt gegeben

 

Dozenten

Univ.-Prof. Dr. rer. nat. Uwe Naumann, Dr. rer. nat. Johannes Lotz.

Inhalt

Der Schwerpunkt des Software-Projekts liegt zum einen darin, den Teilnehmern fundierte Entwicklungskenntnisse zu vermitteln. Dies geschieht dadurch, dass ein größeres Programmsystem, das aus mehreren Bestandteilen besteht, erstellt wird. Die Teilnehmer arbeiten sich dazu in die verwendete Programmiersprache – sofern diese neu ist – ein und sie wissen, wie diese anzuwenden ist. Weiterhin erlernen sie den Umgang mit modernen Entwicklungswerkzeugen, die Dokumentation sowie die Präsentation der erarbeiteten Ergebnisse. Um die Ergebnisse systematisch zu prüfen, führen die Teilnehmer Software- Inspektionen und -Tests durch. Kurzum: Die Teilnehmer lernen, dass eine Lösung nur zu erzielen ist, wenn Schnittstellen sorgfältig geplant, formuliert und eingehalten werden.

Die Teilnehmer lernen insbesondere die mit der Arbeitsteiligkeit verbundenen gruppendynamischen Effekte kennen. Das Eintreten dieser Effekte ist insoweit garantiert, als jede Gruppe die Arbeitsteiligkeit selbst managen soll. Neben den gruppendynamischen Problemen werden Abstimmungen und Präsentationen eingeübt. Die Vorstellung von Ergebnissen erfolgt in der Gruppe, aber auch im Plenum. Dies verbessert Vortrags- und Präsentationstechnik.

Das Projektpraktikum findet an der RWTH dezentral an den Lehrstühlen/Lehreinheiten statt. Das CATS ist einer dieser Lehrstühle. Die Dozenten bieten unterschiedliche Projektpraktika an, deren Anzahl insgesamt so bemessen ist, dass die Studierenden eines Jahrgangs versorgt werden können. Typischerweise hat ein Projektpraktikum 25 Teilnehmer, die sich auf etwa 3 Gruppen verteilen. Diese Gruppen bearbeiten parallel und in Konkurrenz die gestellte Software-Problematik. Innerhalb der Gruppen wird die jeweilige Lösung arbeitsteilig erarbeitet.

Die Lösung des Software-Projektpraktikums wird somit in Gruppen von etwa 8 Studierenden erarbeitet. Jeder der Teilnehmer einer Gruppe führt im Praktikum mindestens zwei Rollen aus. Die Rollenzuteilung übernehmen die Teilnehmer selbst. Dadurch ist das Kennenlernen der im Folgenden erwähnten technischen als auch sozialen Schnittstellenprobleme garantiert.

Es ergeben sich verschiedene Praktika, je nach Ausrichtung. Auch die verwendeten Ansätze, Methoden, Programmiersprachen und Entwicklungs-Werkzeuge sind im allgemeinen unterschiedlich. Deshalb findet zu Beginn des Praktikums eine Veranstaltung in Form einer Vorlesung statt, in der die Aufgabenzergliederung, die erwarteten Dokumentstrukturen sowie die spezifischen Kenntnisse vermittelt werden. Es werden dabei insbesondere auch einfache Regeln des Projektmanagements vermittelt.

Der Inhalt dieser Veranstaltungen ist zum Teil allgemeingültig, zum Teil aber auch spezifisch. Die gemeinsamen Teile werden einmalig ausgearbeitet und allen Praktikumsteilnehmern vermittelt. Für die spezifischen Teile wird es eine Verabredung geben, welche Aspekte in dieser Veranstaltung zu erörtern sind. Beides sichert - trotz der Verschiedenartigkeit der Praktikumsthemen - den nötigen Standard der Vorbereitung.

Das Modul umfasst 7 ECTS-Punkte.

Themen

  • Umgangssprachliche Formulierung der Anforderungen
  • Fundierte Kenntnisse in einer Programmiersprache
  • Entwurf einfacher Software-Architekturen
  • Implementierung gemäß Programmierrichtlinien
  • Entwicklung und Durchführung von Software-Tests
  • Prüfung der erarbeiteten Ergebnisse durch Inspektionen
  • Systematische, strukturierte Dokumentation des Codes sowie der vorausgehenden Anforderungen bzw. Architektur
  • Umgang mit einer modernen Entwicklungsumgebung
  • Präsentation der erarbeiteten Ergebnisse
  • Gruppendynamische Effekte bei arbeitsteiliger Bearbeitung

Prüfung

Die Benotung ergibt sich zu 100% aus dem Praktikum.