INF2201 Anwendung systemnaher Konzepte in der Programmierung
- Prof. Dr. Andre Rein
- Hagen Lauer
- Prof. Dr. Andre Rein
- Florian von Zabiensky
Für Bachelor Informatik, Bachelor Ingenieur-Informatik und Bachelor Bioinformatik:
INF1004 Programmieren 2,
INF1008 Theoretische Informatik 2
Für Bachelor Social Media Systems:
INF1002 Webbasierte Programmierung 2,
INF1008 Theoretische Informatik 2
- Bioinformatik (B.Sc. 2022)
- Informatik (B.Sc. 2022)
- Digital Media Systems (B.Sc. 2023)
- Ingenieur-Informatik (B.Sc. 2022)
Durch die Anwendung systemnaher Programmierung wird eine virtuelle Maschine für eine kleine Programmiersprache implementiert, die sich an moderne Konzepte von Programmiersprachen anschlussfähig zeigt und die Abstraktionsschichten zwischen Programmiersprachen und Computerhardware aufzeigt und demonstriert.
- Prozedurale systemnahe Programmierung (typischerweise C)
- Speichermanagement (Zeiger, GC, und Probleme) und Laufzeitorganisation
- Unterschiede/Gemeinsamkeiten Java/C/Rust
- Bibliotheken: shared/static
- Schwache/Starke Typisierung, Kapselung, Closures
- Register- /Stack-Maschinen
- Compiler/Assembler/Binder/Lader/Interpreter/Virtuelle Maschinen
- Funktionszeiger (und First bzw. Higher Order Function)
- (Funktions-)Parameterübergabe
- Debugging
Fachkompetenzen
- Die Studierenden können die notwendigen Entwicklungstools für systemnahe Informatiklösungen benennen und diese sicher bedienen, um Programme zu erzeugen.
- Sie können erklären, wie einfache Programmiersprachen aufgebaut sind, wie Programme auf einem Computer ausgeführt werden, wie systemnahe Programmiersprachen funktionieren und angewendet werden und wie diese eingesetzt werden können, um Problemstellungen der Informatik auf einer niedrigen Abstraktionsschicht adäquat zu lösen.
Methodenkompetenzen (fachlich & überfachlich)
- Die Studierenden sind zur Lösung von Problemsituationen befähigt, können den damit verbundenen Aufwand einschätzen, und können das erworbene Wissen auf andere Probleme übertragen und dort anwenden um Lösungen zu entwickeln.
- Sie können systemnahe Informatiklösungen entwickeln.
Sozialkompetenzen
- Die Studierenden sind in der Lage, Software in einem Team zu entwickeln, sich zu organisieren um gesetzte Termine einzuhalten und überwiegend eigenverantwortlich zu handeln.
Selbstkompetenzen
- Die Studierenden können sich einem komplexen Thema strukturiert und in Selbstorganisation nähern, sich selbstständig korrigieren und für einen längeren Zeitraum konzentriert und zielstrebig an einer Aufgabe arbeiten.
- 6 CrP
- Arbeitsaufwand 180 Std.
- Präsenzzeit 60 Std.
- Selbststudium 120 Std.
- 4 SWS
- Vorlesung 2 SWS
- Praktikum 2 SWS
- Bioinformatik (B.Sc. 2022)
- Digital Media Systems (B.Sc. 2023)
- Informatik (B.Sc. 2022)
- Ingenieur-Informatik (B.Sc. 2022)
Ja
Bonuspunkte werden gemäß § 9 (4) der Allgemeinen Bestimmungen vergeben. Art und Weise der Zusatzleistungen wird den Studierenden zu Veranstaltungsbeginn rechtzeitig und in geeigneter Art und Weise mitgeteilt.
Prüfungsvorleistung:
Hausübungen (Anzahl der Hausübungen wird den Studierenden rechtzeitig und in geeigneter Weise bekannt gegeben.)
Prüfungsleistung:
Klausur
- Informatik (B.Sc. 2022)
- Ingenieur-Informatik (B.Sc. 2022)
- Kernighan, B.; Ritchie, D.: The C Programming Language. Prentice Hall.
- Jones, R.; Lins, R.: Garbage Collection. Algorithms for Automatic Dynamic Memory Management. John Wiley & Sons.
- Smith, J.; Nair, R.: Virtual Machines. Versatile Platforms for Systems and Processes. Morgan Kaufmann.
Rechtliche Hinweise
- Diese Informationen geben den in den Online-Diensten für Studierende erfassten Datenbestand wieder.
- Die rechtskräftigen und damit verbindlichen Fassungen der Modulhandbücher finden Sie im Amtlichen Mitteilungsblatt der THM (AMB).
- Alle gültigen Prüfungsbestimmungen für die THM-Studiengänge können Sie außerdem in komfortabler Leseversion über den Downloadbereich auf der Homepage des Prüfungsamts einsehen.