Praktikum Softwaretechnik
Zeit: Mo 14.00-18.00 Uhr
Raum: 504
Erster Termin: 25.10.2004
Dozent: Professor Dr. B. Rumpe
Assistent: Martin Schindler,
Holger Krahn,
Gerald Winter
Art der Veranstaltung: Praktikum
Stundenzahl: 0+4
Hörerkreis:
Informatik, Wirtschaftsinfomatik, IST, Medienwissenschaftler, Nebenfach Informatik
Voraussetzungen:
Java-Programmierung
Interesse an agilen Methoden und selbständiger Arbeit
Scheinerwerb: ja
Ziel:
Anwendung von Extreme Programming.
Dieses Praktikum ermöglicht es den Teilnehmern eine innovative Entwicklungsmethodik (Test First und Extreme Programming) kennenzulernen und anzuwenden. Dabei stehen inhaltlich als auch konzeptionell softwaretechnische Aspekte im Vordergrund. Während des Praktikums soll insbesondere gelernt werden, wie robuste und zuverlässige Software mit der Programmiersprache Java entwickelt werden kann, wie
ein gemeinsames Projekt effektiv durchgeführt und
die Qualitätssicherung elegant erledigt wird.
Aufgabenstellung:
Im Praktikum Software Engineering wird das existierende Animationsframework Salsa und die Erweiterung ESalsa für digitale Lehrinhalte verwendet, um so kleine interaktive Mikrowelten zu erstellen, die ausgewählte Lehrinhalte der Informatik einer breiten Öffentlichkeit multimedial zugänglich machen.
Eine Praktikumsaufgabe wird in Gruppen von drei bis fünf Studierenden gemeinsam entwickelt. Eine Kooperation aller Gruppen ist jederzeit möglich und wird empfohlen, um eine Erweiterungsbibliothek für ESalsa zu entwickeln. Dieses vereinfacht die Erstellung der Mikrowelten.
Bei der Gestaltung der Mikrowelt wird den Teilnehmern inhaltlich Freiheit gegeben. Nach einer anfänglichen Projektplanungsphase, in der der Praktikumverlauf gemeinsam erarbeitet wird, erstellen die Teilnehmer selbständig die Mikrowelt und präsentieren im zweiwöchentlichen Rhythmus ihre Ergebnisse.
Anmeldungen sind ab sofort per Email an Martin Schindler (M.Schindler
tu-bs.de) möglich. Melden sich dabei Gruppen an, können diese sich auf "first come first serve" Basis ein Thema auswählen. Für die übrigen Studierenden ist es möglich, während des ersten Praktikumtreffens am 25.10. um 14 Uhr Gruppen zu bilden und ein Thema zu wählen. Der genaue Ort wird rechtzeitig vorher hier bekannt gegeben.
Wählbare Mikrowelten:
- Statecharts (Zielgruppe: Studierende der Informatik)
- Darstellen der historischen Entwicklung
- Verschiedene existierende Semantiken
- Grafischer Editor für Statecharts, der eine Animation erlaubt.
- Generierung einer textuellen Beschreibung der Diagramme nach einer vorgebenden Grammatik
- Zwei kleinere Textaufgaben, für den ein Statechart zu zeichnen ist. (Das System kontrolliert die Lösung und gibt ggf. Hinweise)
- Sequenzdiagramme (Zielgruppe: Interessierte Museumsbesucher)
- Darstellen der Grundlagen für UML Sequenzdiagramme
- Generierung einer textuellen Beschreibung der Diagramme nach einer vorgebenden Grammatik
- Grafischer Editor zur Erzeugung von Sequenzdiagrammen
- Programmieren eines Films mittels Sequenzdiagrammen beim dem sich Aktoren automatisch aufgrund von Sequenzdiagrammen bewegen
- Rekursion (Interessierte Museumsbesucher)
- Funktionsdefinitionen und Algorithmen darstellen
- Effizienzverbesserung
- Grafische Darstellung von Divide et Impera und der russischen Bauernmethode
- Interaktive Multiplikation mit Hilfe der Divide et Impera und Bauernmethode
- Interaktive Simulation des Turms von Hanoi mit variabler Scheibenanzahl.
- Das Programm gibt dabei Hilfestellung
- Bei Bedarf Vorführung der Lösung durch das Programm
- Literatur: F.L. Bauer: Software von Grund auf - Basismaterialien für eine Arbeitsplattform ‚Software' (Kapitel 1, Abschnitt 3 - 7)
- Schaltnetze (Zielgruppe: Studierende der Informatik)
- Beschreibung der Bedeutung und Funktionsweise
- Boolschen Algebra
- Wahrheitstabellen
- Schaltfunktionen und Schaltnetze
- Halbaddierer und Volladdierer
- Grafischer Editor für Boolsche Ausdrücke, der ein entsprechendes Schaltnetz erzeugt
- Grafischer Editor für Schaltnetze mit
- Konjunktion, Disjunktion und Negation
- Halbaddierer und Volladdierer
- Für beide Editoren können als Eingabe konkrete Eingabewerte oder Wahrheitstabellen angegeben werden, deren (Zwischen-) Ergebnisse berechnet und dargestellt werden
- Aufgaben für den Benutzer
- Experimentieren mit Boolschen Ausdrücken, Gattern, Eingabewerten und Wahrheitstabellen
- Bilden der Boolschen Funktion aus Schaltnetzen
- Bilden von Schaltnetzen aus Boolschen Funktionen
- Ermitteln von (Zwischen-)Werten aus gegebenen Schaltnetzen
- Literatur: Broy, Informatik, Eine grundlegende Einführung, Band 1, II.2
- Lineare Datenstrukturen und Binärbäume (Zielgruppe: Interessierte Museumsbesucher)
- Beschreibung der Struktur und Funktion von
- Einfach verkettete Listen
- Doppelt verkettete Listen
- Stapel / Keller (LIFO)
- Warteschlangen (FIFO)
- Binäre Bäume
- Animation von Einfüge- und Entfernoperationen
- Tiefen- und Breitensuche mit Stack bzw. Liste ohne Rekursion
- Spielerische Verwendung der Datenstrukturen
- Literatur: u.a. F.L. Bauer: Software von Grund auf - Basismaterialien für eine Arbeitsplattform ‚Software' (Kapitel 2, Abschnitt 2)
- Automaten (Zielgruppe: Interessierte Museumsbesucher)
- Beschreibung der Bedeutung und Funktionsweise
- Endliche Automaten
- Kellerautomat
- Graphischer Editor für
- Endliche Automaten
- Kellerautomat
- Schrittweise Visualisierung des Ablaufs von beliebigen Automaten für eine beliebige Eingabe
- Aufgaben des Benutzers
- Durch Anzeigen der Folgezustände Eingabe ermitteln, das Programm überwacht die Eingabe
Dokumente:
Hilfreiche Dokumente sowie notwendige Software für das Praktikum:
Lassen Sie sich von uns regelmäßig über neue Lehrveranstaltungen und Studien-/Diplomarbeiten informieren: