Modules Software Methods and Technologies
Responsible for module:
|Prof. Dr. Schiedermeier, Prof. Dr. Teßmann|
|Contents of courses in Programming, Theoretical Computer Science. Practical experience|
90 contact hours,
120 hours for preparation, review and training/learning of course contents, and preparation for exam.
Hours per Week:
Type of Course:
|4 Hours lecture, 2 hours exercises|
|Course only in German|
Study Programme Goals:
|This course leads to a deep understanding of system software (e.g. compilers, virtual machines) and to the appropriate use of programming languages in application development (e.g. language paradigms, formal languages, code security).|
|Knowledge of essential concepts of programming languages and of programming paradigms.
Knowledge of the translation of procedural and object-oriented programming languages and their execution in modern runtime systems.
Ability to understand programs in unknown programming languages und to make references to previous knowledge.
Ability to investigate and evaluate the suitability of different programming paradigms and programming languages for different application tasks.
|Ability of complex thinking, ability of abstract mathematical thinking and deduction|
- Syntax analysis, semantic analysis, code generation
- Values, types, names, bindings, memory layout, control flow, type systems, procedural, data and generic abstraction.
- Imperative, object oriented and functional programming. Skripting Languages.
- Virtual Machines, runtime type systems, components, memory management, code security.
- Michael L. Scott: Programming Language Pragmatics, Morgan Kaufmann, 2016
- Keith D. Cooper, Linda Torczon: Engineering a Compiler, 2nd edition, Morgan Kaufman, 2011
- Dick Grune et. al.: Modern Compiler Design, Springer, 2016
Written exam (90 minutes)