Inhalt

  • Technologische Grundlagen und Trends der Mikroelektronik
  • Entwurfsflüsse für mikroelektronische Systeme
  • Beschreibung von Hardware-Systemen
  • Charakteristika von Rechnersystemen
  • Architekturen für parallele Ausführung
  • Speichersysteme
  • Heterogene Systems-on-Chip
  • On-Chip und Off-Chip Kommunikationsstrukturen
  • Aufbau eingebetteter Systeme, z.B. im Umfeld von Cyber-Physical Systems



Dies hier ist der Moodle-Kurs zur Vorlesung "Automaten, formale Sprache und Entscheidbarkeit WS24/25". Die erste Vorlesung findet am Freitag, den 18.10.2024, um 8:00 Uhr in Raum S311/08 statt. 

Im Bachelor-Praktikum / Teamprojekt Softwareentwicklung wird ein Softwareentwicklungsprozess in Teams von 4 bis 5 Personen durchgeführt.

Dieser Moodle-Kurs gehört zu den folgenden Lehrveranstaltungen in TUCaN:

20-00-0906-pr Bachelor-Praktikum
20-00-1155-pr Teamprojekt Softwareentwicklung
20-00-0541-pr Teamleitung im Bachelorpraktikum
20-00-0145 Projektbegleitung
20-00-0723 PsychIT Praktikum Teil 1 Bachelorpraktikum & Projektbegleitung

Erste Veranstaltung: Mittwoch, 16. Oktober 2024, 11:40

Lehrinhalte:
- Einführung in Betriebsysteme (BS) - Notwendigkeit, Design
- Prozesse und Threads - BS Datenstrukturen, Abstraktionen, Kernel/User mode, context switches, Interrupts
- Interprozeß-Kommunikation - IPC, RPC, Schnittstellen, Hierarchien, Messaging-Semantiken
- Koordination: Deadlocks - Critical sections, Deadlock-Charakterisierung, Entdeckung, Recovery und Vermeidung.
- Scheduling/Ressourcen-Management - Prozess-Reihenfolgen, unterbrechendes und unterbrechungsfreies Scheduling, verschiedene Scheduling-Konzepte und -Algorithmen, Implementierungen in BS
- Nebenläufigkeit: Races, Mutual Exclusions - Critical sections, races, spin locks, Synchronisation
- Semaphoren - Semaphoren, Monitore
- Speicherverwaltung - BS-Datenstrukturen, Management- und Austausch-Ansätze, virtueller Speicher, paging, caching, segmentation
- I/O - Geräte-Management, Treiber, Interrupt-Behandlung, DMA
- Dateisysteme - Anforderungen, Design, Implementierungen, Datenstrukturen, Verzeichnisse, virtuelle Dateisysteme
- Fehlertoleranz und Stabilität - Fehlertypen, zuverlässige Nachrichten, BS Zuverlässigkeit und Verfügbarkeit, Sicherheits-Aspekte
- Eingebettete & Echtzeit BS - Speicher/Festplatten/Performanz-Management, Fehlertoleranz, Echtzeit-Aspekte
- Verteilte BS - verteilte Berechnung und Kommunikation, Abstraktionen, Synchronisation, Koordination, Konsistenz
- Virtuelle Maschinen (VM) - Grundlagen und Typisierung von VMs und Hypervisoren

Literatur:

  • Operating Systems: Three Easy Pieces (v0.92); Remzi H. Arpaci-Dusseau & Andrea C. Arpaci-Dusseau; Arpaci-Dusseau Books
  • Modern Operating Systems, 4th Edition; Andrew S. Tanenbaum & Herbert Bos; Pearson; ISBN-13: 978-0133591620
  • Operating System Concepts, 9th Edition; Abraham Silberschatz, Peter B. Galvin, Greg Gagne; John Wiley & Sons; ISBN-13: 978-1118093757

Lehrinhalte:
Teil I: Kryptographie

  • Mathematische Grundlagen der Kryptographie
  • Schutzziele: Vertraulichkeit, Integrität, Authentizität
  • Symmetrische und Asymmetrische Kryptographie
  • Hash-Funktionen und Digitale Signaturen
  • Protokolle zum Schlüsseltausch

Teil II: IT-Sicherheit und Zuverlässigkeit

  • Grundlegende Konzepte der IT-Sicherheit
  • Grundkonzepte der Websicherheit
  • Grundkonzepte der Netzwerksicherheit
  • Grundkonzepte der Software-Sicherheit

Lehrinhalte:
- Aufbau von Compilern
- Kontextfreie Grammatiken zur Beschreibungen der Syntax von Programmiersprachen
- Lexing- und Parsingverfahren
- Zwischendarstellungen
- Semantische Analyse
- Laufzeitorganisation
- Code-Erzeugung
- Software-Werkzeuge für den Compilerbau
- Implementierungstechniken für Compiler

Literatur:
Literaturempfehlungen werden kontinuierlich aktualisiert, ein Beispiel für verwendete Literatur könnte sein:
Watt/Brown: Programming Language Processors in Java

Voraussetzungen:
Empfohlen: Erfolgreicher Besuch der Vorlesungen “Algorithmen und Datenstrukturen”, “Funktionale und objektorientierte Programmierung” sowie “Rechnerorganisation”, bzw. entsprechende Kenntnisse aus anderen Studiengängen 

Die Künstliche Intelligenz (KI) beschäftigt sich mit Algorithmen zur Lösung von Problemen, von denen man gemeinhin annimmt, dass deren Lösung Intelligenz erfordert. Orientierte man sich in den Anfangstagen der Wissenschaft primär an psychologischen Erkenntnissen über das menschliche Denken, hat sich das Gebiet seither zunehmend dahingehend entwickelt, dass in den Problemlösungsansätzen versucht wird, die Stärken des Computers auszunutzen. Im Zuge dieser Vorlesung werden wir einen kurzen Überblick über die zentralen Themen dieser Kernwissenschaft der Informatik geben, insbesondere in die Themen Suche, Planen, Lernen und Schließen. Die historischen und philosophischen Grundlagen werden ebenfalls behandelt.

Erste Veranstaltung: Montag, 14. Oktober 2024, 13:30
Prüfungsdatum (falls Klausur): Freitag, 21. Februar 2025, 08:00

Wissenschaftliches Arbeiten beinhaltet die kritische Auseinandersetzung mit einer Problemstellung unter Anwendung wissenschaftlicher Methoden und Erkenntnisse aus aktueller Fachliteratur. Dabei sind klare Strukturierung, die Verwendung angemessener Begrifflichkeiten, inhaltliche Richtigkeit, sowie der kritische Umgang mit Literatur und den selbst generierten Erkenntnissen essentiell.
Die Lehrveranstaltung „Einführung in wissenschaftliches Arbeiten“ vermittelt den Studierenden die Grundlagen des wissenschaftlichen Arbeitens in der Informatik. Hierbei werden u.a. die Literaturrecherche, die Qualitätsbewertung und Verwaltung externer Quellen, der Aufbau wissenschaftlicher Ausarbeitungen, die wissenschaftliche Argumentation, der Schreibprozess sowie die korrekte Zitierweise behandelt und den Studierenden anhand konkreter Beispiele und Aufgaben erklärt.
Die praktische Anwendung wird in Übungseinheiten vertieft. Dazu werden unter anderem eigene Literaturrecherchen, Einschätzung und Bewertung ausgewählter Texte, die Anfertigung eigener Ausarbeitungen sowie gegenseitige Qualitätssicherung durch Peer-Feedback angewendet.


Inhalt:
- Wissenschaftliches Arbeiten - Methodische Einführung, Argumentation und Logik
- Literaturrecherche / Bibliographien - Methoden, Techniken und Werkzeuge
- Nachhaltiges Forschungsdatenmanagement, Dokumentation und Reproduzierbarkeit
- Was ist konstruktives Feedback? Qualitätskriterien und Anwendung
- Konzeption von Präsentationen und Ausarbeitungen

Der Einschreibeschlüssel wird in der ersten Vorlesung kommuniziert.

Lecture content:
  • Basics from probability theory, statistics, and information theory
  • Probabilistic approaches to graph-based modelling in computer science
  • Basic probabilistic problems and use of probabilistic methods
    • in practical computer science (e.g., run-time analysis of programs, data compression)
    • in technical computer science (e.g., reliability of hardware, caching)
    • in applied computer science (e.g., simulation of stochastic systems, probabilistic systems)
  • Selected randomized algorithms, their analysis by `The Probabilistic Method', algorithms for automated decision making and optimization
  • Application of probabilistic methods in artificial intelligence (e.g., learning methods, neural networks) and data science
  • Implementation of probabilistic methods by means of practical programming examples
Erste Veranstaltung: Mittwoch, 16. Oktober 2024, 17:10

Pflichtvorlesung Software Engineering (WS 24/25)

Der Treffpunkt Mathematik ist ein freiwilliges Zusatzangebot des Fachbereiches Mathematik, das als Ergänzung zu den grundlegenden Mathematikvorlesungen in den ersten Semestern gedacht ist.

Es werden Konzepte aus der Vorlesung wiederholt sowie Herangehensweisen in klassischen Übungsaufgaben eingeübt. An geeigneter Stelle soll die Mathematik zudem durch Anwendungen motiviert werden.

In der vorlesungsfreien Zeit wird es einen Klausurvorbereitungskurs geben.