Allgemeine Informationen
| Veranstaltungsname | Übung: 6237 Compiler Construction Lab |
| Untertitel | |
| Veranstaltungsnummer | 6237 |
| Semester | WiSe 24/25 |
| Aktuelle Anzahl der Teilnehmenden | 6 |
| Heimat-Einrichtung | Lehrstuhl für Software Engineering I |
| Veranstaltungstyp | Übung in der Kategorie Lehre (mit Prüfung) |
| Erster Termin | Freitag, 25.10.2024 16:00 - 18:00 Uhr, Ort: (IM) R 028 |
| Art/Form | |
| Voraussetzungen |
Keine Empfohlene Vorkenntnisse: Compiler Construction, Theoretische Informatik, Rechnerarchitektur |
| Leistungsnachweis |
Portfolio-Prüfung basierend auf der Eignung, Implementierung, und Auswertungsmethodik der gewählten Methoden, den erzielten Ergebnissen, und der Präsentation der Projektergebnisse. Die Elemente des Portfolios sind: Der Quelltext der drei Teilprojekte inklusive Dokumentation, eine schriftliche Ausarbeitung zu den Projektergebnissen (max. 8 Seiten), Präsentationen der Projektergebnisse, sowie ein abschließendes Prüfungsgespräch (max. 10 Minuten) mit jedem Teilnehmenden. Bei Teampräsentationen muss jeder Teilnehmende den Eigenanteil am Projekt darstellen. Zusätzlich werden die Eigenanteile in der Quelltextdokumentation und der Ausarbeitung schriftlich festgehalten. Details zur Bewertung werden zu Beginn der Lehrveranstaltung erläutert. |
| SWS |
6 |
| Literatur |
Aho, Lam, Sethi, Ullman: Compilers - Principles, Techniques and Tools. Addison-Wesley. A. Appel: Modern Compiler Implementation in Java, Cambridge University Press Seidl, Wilhelm, Hack: Compiler Design. Springer |
| Turnus |
Irregular |
| Qualifikationsziele |
Kenntnisse: Die Studierenden verstehen etablierte und aktuelle Verfahren zur Übersetzung von Source Code in andere Sprachen, bevorzugt in low-level Maschinensprache, insbesondere Techniken der syntaktischen und semantischen Sprachbehandlung von Übersetzern sowie der Codegenerierung und -optimierung mit Hilfe von Programmanalyse. Fähigkeiten: Die Studierenden lernen anspruchsvoller Informatik-Aufgaben unter praktisch experimenteller Anwendung des im Studium vermittelten Theorie- und Methodenwissens der Informatik zu lösen. Sie können größere konstruktive und experimentelle Aufgaben bearbeiten und sind in der Lage Recherche aktueller Publikationen zum übergeordneten Projektthema durchzuführen. Die Studierenden sind in der Lage, prototypische sprachverarbeitende Systeme eigenständig zu erstellen. Kompetenzen: Die Studierenden erwerben berufsbefähigende Praxiskompetenz durch Durchlaufen der typischen Phasen eines Entwicklungsprojekts. Sie eignen sich Problemlösungskompetenz durch wissenschaftliches Arbeiten (unter Anleitung) mit dem Ziel, Probleme aus aktuellen Entwicklungen zu bewältigen an. Sie erarbeiten sich Transferkompetenz durch Anwendung des Theorie- und Methodenschatzes der Informatik auf komplexe Probleme und sie erlernen die Gegenseitige Vermittlung der inhaltlichen Grundlagen eines ausgewählten Teilgebiets. Skills/Knowledge: The students understand established and current procedures for translating source code into other languages, preferably into low-level machine language, in particular techniques of syntactic and semantic analysis by compilers as well as code generation and optimization using program analysis. Abilities: The students learn to solve demanding computer science tasks through practical experimental application of the theoretical and methodological knowledge of computer science acquired during their studies. They can work on larger constructive and experimental tasks and are able to research current publications on the overarching project topic. The students are able to independently create prototype language processing systems. Competencies: The students acquire practical skills that enable them to work in a profession by going through the typical phases of a development project. They acquire problem-solving skills through scientific work (under supervision) with the aim of overcoming problems arising from current developments. They acquire transfer skills by applying the theory and methodology of computer science to complex problems and they learn how to convey the content-related fundamentals of a selected sub-area to each other. |
| Workload |
90 Std. Laborarbeit + 180 Std. Nachbearbeitung Laborarbeit: Erläuterung der Teilprojekte und Anforderungen an Portfoliobestandteile sowie Fragen zur Aufgabenstellung und den jeweiligen Lösungsansätzen Nachbearbeitung: 3 Teilprojekte à 60h 90 hours laboratory work + 180 hours independent study and implementation |
| Sonstiges |
Medienformen: Labor, Rechner, Beamer Media used: Laboratory, computer, projector |
| ECTS-Punkte |
9 |