Zur Merkliste hinzufügen
Zurück zur Auswahl

 

72914-01 - Seminar: Interpretation and Compilation of Programming Languages (6 KP)

Semester Herbstsemester 2025
Angebotsmuster unregelmässig
Dozierende Ali Ajorian (ali.ajorian@unibas.ch)
Erick Lavoie (erick.lavoie@unibas.ch, BeurteilerIn)
Inhalt This seminar will provide fundamentals of interpretation and compilation of programming languages with a strong emphasis on practical projects. It will include a selection of topics among the followings: program representations and transformations, the difference between compilation and interpretation, a taxonomy of programming languages, Turing-completeness and the tower of interpreters, computation models, execution semantics, programming language concepts, meta-programming. We will look at applications of the concepts with a special emphasis on secure execution of programs with and without the use of Trusted Execution Environments, which will be relevant for doing Bachelor and Master projects related to the ongoing Survivable Computing project of the Computer Networks Group.
Lernziele The main objective of the course is to successfully implement an interpreter and compiler for a simplified but representative subset of the Python programming language. This subset will support variables, conditionals, loops, functions, and other functionalities according to student interests. Students that succeed will obtain a concrete understanding of how high-level programming languages are executed on lower-level hardware. The techniques covered are also fundamental for more advanced automated program analysis and transformations, such as finding bugs and vulnerabilities in source code, increasing performance with optimizing compilers, and increasing the security of executables.
Literatur The first 9 lectures will cover Chapters 1,2,5,6 and 8 of the following textbook: https://github.com/IUCompilerCourse/Essentials-of-Compilation

The rest of the lectures will cover advanced topics according to students interests, among other chapters of the book and papers.

Bemerkungen Implementation and presentations will be done in teams of 2-3 students. Due to time limitations for presentations, a maximum of 20 students may register for the seminar, first-come first-served.

 

Teilnahmevoraussetzungen Completed the equivalent of 2 years of Bachelor in Computer Science
Anmeldung zur Lehrveranstaltung Access for synchronized courses on ADAM only by course registration in online services.
Unterrichtssprache Deutsch
Einsatz digitaler Medien kein spezifischer Einsatz

 

Intervall Wochentag Zeit Raum
wöchentlich Montag 12.15-14.00 Spiegelgasse 1, Seminarraum 00.003

Einzeltermine

Datum Zeit Raum
Montag 15.09.2025 12.15-14.00 Uhr Spiegelgasse 1, Seminarraum 00.003
Montag 22.09.2025 12.15-14.00 Uhr Spiegelgasse 1, Seminarraum 00.003
Montag 29.09.2025 12.15-14.00 Uhr Spiegelgasse 1, Seminarraum 00.003
Montag 06.10.2025 12.15-14.00 Uhr Spiegelgasse 1, Seminarraum 00.003
Montag 13.10.2025 12.15-14.00 Uhr Spiegelgasse 1, Seminarraum 00.003
Montag 20.10.2025 12.15-14.00 Uhr Spiegelgasse 1, Seminarraum 00.003
Montag 27.10.2025 12.15-14.00 Uhr Spiegelgasse 1, Seminarraum 00.003
Montag 03.11.2025 12.15-14.00 Uhr Spiegelgasse 1, Seminarraum 00.003
Montag 10.11.2025 12.15-14.00 Uhr Spiegelgasse 1, Seminarraum 00.003
Montag 17.11.2025 12.15-14.00 Uhr Spiegelgasse 1, Seminarraum 00.003
Montag 24.11.2025 12.15-14.00 Uhr Spiegelgasse 1, Seminarraum 00.003
Montag 01.12.2025 12.15-14.00 Uhr Spiegelgasse 1, Seminarraum 00.003
Montag 08.12.2025 12.15-14.00 Uhr Spiegelgasse 1, Seminarraum 00.003
Montag 15.12.2025 12.15-14.00 Uhr Spiegelgasse 1, Seminarraum 00.003
Module Modul: Applications and Related Topics (Bachelor Studienfach: Computer Science)
Modul: Applications and Related Topics (Bachelorstudium: Computer Science)
Prüfung Lehrveranst.-begleitend
Hinweise zur Prüfung Evaluation will cover the followings:
1. Active participation in class (10%)
2. Quality and number of unit tests (15%)
2.1 Contributed in common pool
2.2 Passed by implementation
3. Presentation on advanced topic (20%)
4. Final report on custom extension to base implementation (25%)
5. Final oral interview (30%)
5.1 Theory covered in class
5.2 Understanding of implementation
An-/Abmeldung zur Prüfung Anm.: Belegen Lehrveranstaltung; Abm.: stornieren
Wiederholungsprüfung keine Wiederholungsprüfung
Skala 1-6 0,5
Belegen bei Nichtbestehen beliebig wiederholbar
Zuständige Fakultät Philosophisch-Naturwissenschaftliche Fakultät, studiendekanat-philnat@unibas.ch
Anbietende Organisationseinheit Fachbereich Informatik

Zurück zur Auswahl