Einführung: Transitionssysteme, Wörter, Sprachen; Mathematische
Grundbegriffe und elementare Beweismethoden; Endliche Automaten und
reguläre Sprachen; Determinismus und Nichtdeterminismus,
Abschlusseigenschaften und Automatenkonstruktionen;
Sätze von Kleene, Myhill-Nerode, Pumping Lemma;
Grammatiken und Chomsky-Hierarchie,
kontextfreie Sprachen, Abschlusseigenschaften, Pumping Lemma, CYK Algorithmus;
Berechnungsmodelle: Kellerautomaten, Turingmaschinen; Entscheidbarkeit und Aufzählbarkeit in der Chomsky-Hierarchie
- Dozent*in: Felix Canavoi
- Dozent*in: Martin Otto
Lehrinhalte:
Anwendung des im Rahmen der grundlegenden Veranstaltungen erworbenen Wissens im Kontext eines komplexen Softwareentwicklungsprojektes. Die einzelnen Aufgabenstellungen werden dabei von Fachgebieten der TU Darmstadt gestellt und leisten im Regelfall einen Beitrag zu deren Forschung.
Schwerpunkte des Praktikums sind:
- Planung und Durchführung eines Softwareentwicklungsprojektes
- Anwendung von Softwareentwicklungsprozessen
- Ermittlung und Priorisierung von Anforderungen
- Durchführung systematischer Qualitätssicherung
- Präsentationstechnik
- Teamarbeit
Literatur:
Allgemein:
- Lehrbuch der Softwaretechnik: Softwaremanagement; H. Balzert; Springer
- Design Patterns - Elements of Reusable Object-Oriented Software; E. Gamma, R. Helm, R. Johnson, J. Vlissides; Prentice Hall
- Software Qualität - Testen, Analysieren und Verifizieren von Software; P. Liggesmeyer; Springer
- Writing Effective Use Cases; A. Cockburn; Pearson
- Clean Code: A Handbook of Agile Software Craftsmanship; R. C. Martin; Prentice Hall
Weiterhin ist je nach bearbeiteter Aufgabenstellung weitere Literatur notwendig.
Voraussetzungen:
Empfohlen: Erfolgreicher Abschluss der Veranstaltungen:
- Funktionale und Objektorientierte Programmierkonzepte
- Software Engineering
- Dozent*in: Michael Eichberg
- Dozent*in: Michael Reif
Betriebssysteme
- Dozent*in: Ronald Moore
- Dozent*in: Marc Fischlin
- Dozent*in: Victoria Fleischer
- Dozent*in: Christian Janson
- Dozent*in: Marc Fischlin
- Dozent*in: Victoria Fleischer
- Dozent*in: Christian Janson
Lehrinhalte:
- Digitaltechnik: digitale Abstraktion und ihre technische Umsetzung,
Zahlensysteme, Logikgatter, MOSFET Transistoren und CMOS Gatter,
Leistungsaufnahme
- Kombinatorische Schaltungen: Boole’sche
Gleichungen und Algebra, Abbildung auf Gatter, mehrstufige Schaltungen,
vierwertige Logik (0,1,X,Z), Minimierung von
Ausdrücken, kombinatorische
Grundelemente, Zeitverhalten
- Sequentielle Schaltungen: Latches, Flip-Flops, Entwurf synchroner Schaltungen, endliche Automaten, Zeitverhalten, Parallelität
-
Hardware-Beschreibungssprachen: Modellierung kombinatorischer und
sequentieller Schaltungen, Strukturbeschreibungen, Modellierung
endlicher Automaten,
Datentypen, parametrisierte Module, Testrahmen
-
Grundelemente digitaler Schaltungen: arithmetische Schaltungen,
Fest-/Gleitkommadarstellung, sequentielle Grundelemente, Speicherfelder,
Logikfelder
- Dozent*in: Andreas Engel
- Dozent*in: Wolfgang Heenes
- Koordinator_in: Guido Rößling
Die Veranstaltung Funktionale und objektorientierte Programmierkonzepte (FOP) ist eine Pflichtveranstaltung im ersten Semester für Studierende der Informatik und mehrerer verwandter Studiengänge. In der Veranstaltung wird der Grundstein für systematische Programmierung gelegt, auf dem die folgenden Informatik-Veranstaltungen aufbauen. Dazu werden zwei verschiedene Programmiersprachen genutzt: die How to Design Programs Teaching Languages (HtDP-TL) und Java.
- Dozent*in: Guido Rößling
- Dozent*in: Sandra Lang
- Dozent*in: Moritz Schneider
- Dozent*in: Thomas Streicher
- Dozent*in: Miroslav Vrzina
Dieser Kurs ist nur für die Tutor_innen und Veranstalter_innen der Lehrveranstaltung "Funktionale und objektorientierte Programmierkonzepte" im Wintersemester 2016/17 gedacht. Es ist keine Selbsteinschreibung möglich; die Teilnehmer_innen werden manuell eingetragen.
- Dozent*in: Martin Heß
- Dozent*in: Guido Rößling
- Dozent*in: Daniel Thürck
- Dozent*in: Nicolas Weber
- Leiter_in: Guido Rößling
Dieser Kurs ist ausschließlich für Veranstalter und Tutor_innen der "Digitaltechnik" im WS 2016/17 verfügbar. Eine eigene Einschreibung ist nicht möglich.
- Dozent*in: Andreas Engel
- Dozent*in: Wolfgang Heenes
- Dozent*in: Julian Oppermann
- Dozent*in: Lukas Sommer