Gesamtlehrangebot

Vorlesungen

Benutzerzentrierte Softwareentwicklung (User-Centered Development)

Dozenten:  Dr. Anke Dittmar
Termin: donnerstags, 11-13 und 13-15 Uhr
Ort: SR 109, A.-Einstein-Straße 22
Veranstaltungsnummer: 23550

Zielgruppe

Studenten der Studiengänge:

  • Informatik, Bachelor (wahlobligatorisch)
  • Informationstechnik/Technische Informatik, Bachelor (wahlobligatorisch)
  • Wirtschaftsinformatik, Bachelor (wahlobligatorisch)
  • Medizinische Informationstechnik, Bachelor (wahlobligatorisch)
  • Mathematik, Bachelor (wahlobligatorisch)

Lehrziel

Mit der Lehrveranstaltung soll verdeutlicht werden, dass  "traditionelle" Vorgehensweisen in der Softwaretechnik, die sich bei der Systementwicklung hauptsächlich auf die Funktionalität konzentrieren, Ideen einer benutzerzentrierten Entwicklung integrieren müssen. Die Teilnehmer werden mit dem benutzerzentrierten Entwicklungsansatz vertraut gemacht. Sie verstehen, dass ein Softwaresystem die Nutzer bei der Erfüllung ihrer Aufgaben in ihrem konkreten Arbeitsumfeld unterstützen muss und dass die Benutzungsschnittstelle (User Interface) anwendungsfreundlich gestaltet sein muss. Die Teilnehmer sollen in die Lage versetzt werden, Methoden und Techniken, die den Nutzer stärker in den Fokus rücken, praktisch anwenden zu können.

Inhalt

Softwareentwicklungen sind häufig nicht erfolgreich, weil sie die Bedürfnisse der Nutzer und deren Arbeitspraktiken ungenügend beachten. In dem Modul wird ein benutzerzentrierter Entwicklungsansatz vorgestellt. Die Grund-kenntnisse im Software Engineering sollen um Grundlagen der Human-Computer Interaction (HCI) und des Model-Based Design erweitert werden.
Im Rahmen der HCI-Veranstaltungen werden Methoden und Techniken zur Gestaltung von graphischen Benutzungsoberflächen und deren Evaluation auf Benutzbarkeit diskutiert. Dazu erfolgt die Erläuterung der Grundlagen kognitiver Modelle. Weiterhin werden Muster für das User Interface-Design und Usability Supporting Architectural Patterns behandelt.
Neben den Grundlagen zum Model-Based Design werden Kenntnisse zur Werkzeugunterstützung bei der Aufgaben- und Dialogmodellierung sowie bei der Generierung von plattformunabhängigen Benutzungsoberflächen vermittelt. Abschließend wird ein Ausblick zum Ansatz des Model-Driven Development geliefert.

Leistungsnachweis

Mündliche (20 Minuten) oder schriftliche Prüfung (120 Minuten).

Funktionale Programmierung

Dozent:
Termin:
Ort:
Veranstaltungsnummer:

Zielgruppe

Studenten der Studiengänge:

  • Informatik, Bachelor (obligatorisch)
  • Informationstechnik/Technische Informatik, Bachelor (obligatorisch)
  • Berufspädagogik Fach Informatik, Bachelor Zweitfach (obligatorisch)
  • Wirtschaftsinformatik, Bachelor (wahlobligatorisch)
  • Wirtschaftspädagogik, Bachelor (wahlobligatorisch)
  • Informatik LA Gymnasien und Regionale Schulen (wahlobligatorisch)
  • Berufspädagogik Fach Informationstechnik, Master Erstfach (wahlobligatorisch)

Lehrziel

Die zukünftige Entwicklung großer Softwaresysteme setzt entsprechend Aufgabenspezifikation die Nutzung unterschiedlicher Programmierparadigmen innerhalb eines Softwaresystems voraus. Der Studierende soll unterscheiden lernen, wann welches Paradigma am zweckmäßigsten anzuwenden ist. Insbesondere durch Übung und Praktikum werden Fertigkeiten im funktionalen Programmieren erworben, wobei die Besonderheiten gegenüber anderen Paradigmen im Vordergrund stehen. Es werden im Wesentlichen die Programmiersprachen Haskell und ML verwendet.

Inhalt

Die funktionale Programmierung stellt das zweite wichtige Programmierparadigma neben der imperativen Programmierung dar. Es basiert auf dem Prinzip der Textersetzung ("equational reasoning") und behandelt Funktionen als "first class objects". Das Modul behandelt die theoretischen Grundlagen der funktionalen Programmierung, führt in die Sprache Haskell ein und zeigt verschiedene praktische Anwendungen. Die im Modul integrierten Übungen ermöglichen konkrete Erfahrungen mit der funktionalen Programmierung zu machen.

  • theoretische Basis der funktionalen Programmierung (Lambda-Kalkül) und Beziehung zur Theorie partieller Funktionen
  • typische Datenstrukturen und Programmkonstrukte
  • Strategien der Entwicklung funktionaler Software
  • Beweis von Programmeigenschaften
  • Einbeziehung anderer Programmierparadigmen unter Berücksichtigung von Eingabe/Ausgabe.

Leistungsnachweis

Klausur (120 min) oder mündliche Prüfung (20 min)

Human Computer Interaction & Interaction Design

Dozent: Dr. Anke Dittmar
Termin: dienstags, 9-11 Uhr, donnerstags, 9-11 Uhr
Ort: dienstags HS 037, donnerstags SR 101, A.-Einstein-Straße 22
Veranstaltungsnummer: 23891

Zielgruppe

Studenten der Studiengänge:

  • Informatik, Master (wahlobligatorisch)
  • Computer Science International, Master (wahlobligatorisch)
  • Informationstechnik/Technische Informatik, Master (wahlobligatorisch)
  • Visual Computing, Master (wahlobligatorisch)
  • Wirtschaftsinformatik, Master (wahlobligatorisch)
  • Electrical Engineering, Master (wahlobligatorisch)
  • Mathematik, Master (wahlobligatorisch)

Lehrziel

Human-Computer Interaction (HCI) ist ein interdisziplinäres Gebiet, das sich mit dem Design, der Bewertung und der Implementation von interaktiven Softwaresystemen beschäftigt, um sie für die Menschen anwendbarer zu gestalten. In der Lehrveranstaltung sollen die Teilnehmer mit den Grundlagen der HCI vertraut gemacht werden. Dazu gehören Herangehensweisen, Modelle und Theorien zur Beschreibung menschlicher Verhaltensweisen, technischer Systeme und der Interaktion zwischen ihnen. Es sollen Möglichkeiten eines aufgaben- und benutzerzentrierten Designprozesses aufgezeigt werden. Ziel ist es, die Teilnehmer zu befähigen, einen benutzerzentrierten Designprozess anregen und aktiv mitgestalten zu können.

Mit der Lehrveranstaltung sollen weiterhin theoretische Kenntnisse und praktische Fähigkeiten im Interaktionsdesign vermittelt werden.

Inhalt

  • Grundlagen: Mensch, Computer, Interaktionsparadigmen
  • Gestaltung von interaktiven Systemen: Designgrundlagen und -regeln
  • Mittel zur Beschreibung verschiedener Aspekte in der HCI (z.B. kognitive Modelle, System- und Dialogmodelle)
  • Evaluierungstechniken
  • Anwendungskontext von interaktiven Systemen, Arbeits- und Aufgabenanalyse
  • Ansätze zur Gestaltung des Designprozesses: User-Centered Design, Scenario-Based Design, Model-Based Design, Design Rationale, ethnographische Ansätze
  • Computer Supported Cooperative Work (CSCW)

Der Gebrauch von Software ist in unserem Alltag allgegenwärtig. Softwaregesteuerte Systeme werden in der Industrie, im Handel- und Dienstleistungswesen, im Transportwesen, in der Medizin und in den Medien benutzt. In den Privathaushalten befinden sich Heizungs- und Sicherheitssysteme, Waschmaschinen, Mikrowellen, PCs, Fernseher, Telefone, DVD-Geräte. Unsere Hand- und Hosentaschen beherbergen Handys, PDAs, Kameras, SmartCards, Autoschlüssel, USB-Sticks. Im Interaktionsdesign geht es um die Frage, wie qualitativ hochwertige interaktive Systeme erstellt werden können. Dabei ist es notwendig, Lösungsansätze aus verschiedenen Perspektiven zu betrachten (z.B. technische Qualität, Anwendungskontext, unterschiedliche Nutzergruppen, mögliche soziale und ökologische Auswirkungen).

Die Lehrveranstaltung beschäftigt sich mit der Gestaltung von interaktiven Systemen. Neben der Vermittlung von grundlegenden Design- und Evaluierungsansätzen werden entsprechende Methoden, Techniken und Werkzeuge vorgestellt und an Beispielen diskutiert. Zusätzlich erhalten die Studenten die Möglichkeit, das vermittelte Wissen an kleinen Designproblemen praktisch zu erproben. Die praktischen Übungen umfassen sowohl gestalterische und technische Aspekte als auch die Evaluierung von prototypisch umgesetzten Designideen.

Logische Programmierung

Dozent:
Termin:
Ort:
Veranstaltungsnummer: 

Zielgruppe

Studenten der Studiengänge:

  • Informatik, Bachelor (obligatorisch)
  • Wirtschaftsinformatik, Bachelor (obligatorisch)
  • Berufspädagogik Fach Informatik, Bachelor Zweitfach (obligatorisch)
  • Berufspädagogik Fach Informationstechnik, Bachelor Erstfach (wahlobligatorisch)
  • Informatik, LA Gymnasien (wahlobligatorisch)

Lehrziel

Die künftige Entwicklung großer Softwaresysteme setzt entsprechend der Aufgabenspezifikation die Nutzung unterschiedlicher Programmierparadigmen innerhalb eines Softwaresystems voraus. Der Studierende soll unterscheiden lernen, wann welches Paradigma am zweckmäßigsten anzuwenden ist.Insbesondere durch Übung werden Fertigkeiten im logischen Programmieren erworben, wobei die Besonderheiten gegenüber anderen Paradigmen im Vordergrund stehen.

Inhalt

  • Was ist logische Programmierung?
  • Programmiersprache Prolog
  • Prädikatenlogik
  • Logische Inferenz: Resolution, Unifikation, SLD Resolution
  • Negation: Negation als Fehlschlag, SLDNF Resolution
  • Listen und weitere Datenstrukturen
  • Definite Clause Grammars
  • Exemplarische Anwendungen

Leistungsnachweis

Klausur (120 min) oder mündliche Prüfung (20 min)
Nach bestandener Modulprüfung werden 3 Leistungspunkte vergeben.

Requirements Engineering

Dozenten:
Termin:
Ort:
Veranstaltungsnummer: 23054

Zielgruppe

Studierende der Studiengänge:

  • Informatik, Master (wahlobligatorisch)
  • Computer Science International (wahlobligatorisch)
  • Wirtschaftsinformatik, Master (wahlobligatorisch)
  • Informationstechnik/Technische Informatik, Master (wahlobligatorisch)
  • Visual Computing, Master (wahlobligatorisch)
  • Computational Science and Engineering, Master (wahlobligatorisch)
  • Electrical Engineering, Master (wahlobligatorisch)

Lehrziel

Mit der Lehrveranstaltung sollen die Probleme in der Kommunikation des Softwareentwicklers mit dem Auftraggeber verdeutlicht und Möglichkeiten zu ihrer Lösung aufgezeigt werden. Die Teilnehmer sollen in die Lage versetzt werden, Spezifikationsformen und Methoden praktisch anwenden zu können.

Inhalt

Ein immer noch ungelöstes Problem ist die Kommunikation des Auftraggebers mit einem Softwareentwickler über die zu erstellende Software. Gerade bei der Formulierung der Anforderungen (Requirements) kommt es zu großen Verständigungsschwierigkeiten. Nicht ohne Grund findet man auf diesem Gebiet die höchst dotierten Stellen. Hier wird der Erfolg oder Misserfolg eines Projektes bereits vorbestimmt.
In den Vorlesungen werden Methoden, Techniken und Werkzeuge vorgestellt und miteinander verglichen, mit denen die aufgabenorientierte Entwicklung von Softwaresystemen unterstützt werden kann. Dabei geht es um funktionale und nichtfunktionale Anforderungen. Eine ganz entscheidende Rolle für die funktionalen Anforderungen spielt die Erarbeitung und Modellierung von Szenarien sowie deren Integration in den Softwareentwicklungsprozess. In der Diskussion nehmen Notations- und Darstellungsformen von Wissen in Form von Spezifikationen einen ganz zentralen Platz ein. Die Spanne reicht von informaler natürlicher Sprache bis zu formalen Beschreibungsformen in Z.
Die Erhebung von Anforderungen mit Hilfe von Interviews und moderner multimedialer Technik wird für ein größeres Projekt praktisch durchgeführt.

Softwaretechnik für Informatik (zwei Semester mit 12 ECTS)

Dozent: Dr. Anke Dittmar
Termin: dienstags, 15-17 Uhr
Ort: HS 3, Parkstraße 6
Veranstaltungsnummer: 23008

Zielgruppe

Studenten der Studiengänge:

  • Informatik, Bachelor (obligatorisch)

Lehrziel

Mit der Lehrveranstaltung sollen Grundlagen der Softwaretechnik und erste Erfahrungen mit der Teamarbeit vermittelt werden.

Inhalt

Prinzipien und Konzepte der Softwaretechnik, Basistechniken der Softwarespezifikation, strukturierte und objektorientierte Ansätze der Analyse, des Entwurfs und der Implementation von Systemen, Konzepte moderner Programmiersprachen, Design Patterns, Prototyping, softwareergonomische Grundlagen, Softwarelebenszyklusmodelle, Function Point Methode zur Abschätzung eines Projektumfanges.

Die integrierte Veranstaltung Softwaretechnik umfasst neben der Vorlesung auch das Projekt Softwaretechnik.

Bewertung und Prüfung

Lehrformen:

  • 2 SWS Vorlesung
  • 4 SWS Übung

Prüfung: 

  • Klausur
  • Projektarbeit (Bericht/Dokumentation & Referat/Präsentation)

    Weitere Details in den Übungen.

    Softwaretechnik (ein Semester mit 6 ECTS)

    Dozent: Dr. Anke Dittmar
    Termin: dienstags, 15-17 Uhr
    Ort: HS 3, Parkstraße 6
    Veranstaltungsnummer: 23008

    Zielgruppe

    Studenten der Studiengänge:

    • Wirtschaftsinformatik, Bachelor (obligatorisch)
    • Informationstechnik/Technische Informatik, Bachelor (obligatorisch)
    • Medizinische Informationstechnik, Bachelor (obligatorisch)
    • Mathematik, Bachelor (obligatorisch)
    • Informatik, LA Gymnasien und Regionale Schulen (obligatorisch)

    Lehrziel

    Mit der Lehrveranstaltung sollen Grundlagen der Softwaretechnik und erste Erfahrungen mit der Teamarbeit vermittelt werden.

    Inhalt

    Prinzipien und Konzepte der Softwaretechnik, Basistechniken der Softwarespezifikation, strukturierte und objektorientierte Ansätze der Analyse, des Entwurfs und der Implementation von Systemen, Konzepte moderner Programmiersprachen, Design Patterns, Prototyping, softwareergonomische Grundlagen, Softwarelebenszyklusmodelle, Function Point Methode zur Abschätzung eines Projektumfanges.

    Die integrierte Veranstaltung Softwaretechnik umfasst neben der Vorlesung auch das Projekt Softwaretechnik.

    Bewertung und Prüfung

    Lehrformen:

    • 2 SWS Vorlesung
    • 2 SWS Übung

    Prüfungsvorleistung:

    • Projektarbeit

    Prüfung: 

    • Klausur oder mündliche Prüfung

    Weitere Details in den Übungen.

    Seminare

    Human-Computer Interaction: Einführende Themen

    Dozent:
    Termin:
    Ort:
    Veranstaltungsnummer:

    Zielgruppe

    Studenten der Studiengänge:

    • Informatik, Bachelor (wahlobligatorisch)

    Lehrziel

    Die Studenten erlernen das Ausarbeiten und Halten von wissenschaftlichen Vorträgen anhand von einführenden Themen aus dem Gebiet der Mensch-Computer Interaktion. Sie nehmen aktiv an Diskussionen zu den Vorträgen ihrer Mitstudenten teil.

    Human-Computer Interaction (HCI) ist ein multidisziplinäres Gebiet, das sich mit dem Design, der Bewertung und der Implementation von interaktiven Softwaresystemen beschäftigt, um sie für die Menschen anwendbar(er) zu machen. Wie sollten Benutzungsschnittstellen gestaltet sein? Welchen Einfluss haben interaktive Systeme auf die Kommunikation und Zusammenarbeit? Wie kann man die späteren Benutzer der zu entwickelnden Systeme besser in den Designprozess einbinden? Um diese und andere Fragen soll es im Seminar gehen.

    Leistungsnachweis

    Ein Leistungsnachweis wird für Vortrag und schriftliche Ausarbeitung vergeben.

    Agenten- und Kontextmodelle für humanoide Roboter wie Pepper

    Dozent:
    Termin:
    Ort:
    Veranstaltungsnummer:

    Zielgruppe

    Studenten der Studiengänge:

    • Informatik, Bachelor (wahlobligatorisch)

    Leistungsnachweis

    Ein Leistungsnachweis wird für Vortrag und schriftliche Ausarbeitung vergeben.

    Gebietsseminar Informationssysteme

    Dozent:
    Termin:
    Ort:
    Veranstaltungsnummer: 23869

    Zielgruppe

    Studierende der Studiengänge:

    • Informatik, Master (obligatorisch)
    • Computer Science International, Master (obligatorisch)

    Projekt/KSWS/NEidI

    Evolutionäres Prototyping

    Dozent:
    Termin:
    Ort:
    Veranstaltungsnummer: 

    Zielgruppe

    Studenten der Studiengänge:

    • Informatik, Bachelor (wahlobligatorisch)
    • Interessierte anderer Studiengänge mit Informatikbezug

    Inhalt

    Basierend auf dem User-Centred Design und dem evolutionären Prototyping werden Ideen zur Entwicklung für den Anwender gut benutzbarer interaktiver Software exploriert. Parallel wird die bestehende Werkzeugunterstützung erweitert, die eine Verknüpfung von Prototypen der Benutzungsoberfläche mit bereits implementierten Algorithmen ermöglicht.

    Leistungsnachweis

    Ein Leistungsnachweis wird für die erfolgreiche Bearbeitung der Teilprojekte und nach einem Abschlussgespräch vergeben.