Module CS3052-KP04, CS3052
Programming Languages and Type Systems (ProgLan14)
Duration
1 Semester
Turnus of offer
each winter semester
Credit points
4
Course of studies, specific fields and terms:
- Bachelor Computer Science 2019, optional subject, major subject informatics
- Bachelor Computer Science 2019, optional subject, Canonical Specialization Web and Data Science
- Bachelor Computer Science 2019, compulsory, Canonical Specialization SSE
- Bachelor Media Informatics 2020, optional subject, computer science
- Bachelor Media Informatics 2014, optional subject, computer science
- Bachelor Computer Science 2016, optional subject, major subject informatics
- Bachelor Computer Science 2016, compulsory, Canonical Specialization SSE
- Bachelor Computer Science 2012, optional subject, central topics of computer science
- Bachelor Computer Science 2012, compulsory, specialization field IT security and safety
- Master Computer Science 2012, compulsory, advanced curriculum programming
- Bachelor IT-Security 2016, optional subject, computer science
- Bachelor CLS 2010, optional suject, computer science
- Bachelor Computer Science 2014, optional subject, central topics of computer science
- Bachelor Computer Science 2014, compulsory, specialization field IT security and safety
Classes and lectures:
- Progamming Languages and Type Systems (exercise, 1 SWS)
- Progamming Languages and Type Systems (lecture, 2 SWS)
Workload:
- 45 hours in-classroom work
- 60 hours private studies and exercises
- 15 hours exam preparation
Contents of teaching:
- Overview on programming languages
- Syntactic description of programming languages
- Language elements for data structures
- Type systems for programming languages
- Language elements for control structures
- Language elements for abstraction and modularization
- Typing and type systems
- Semantics of programming languages
- Language paradigms
- Language elements for concurrent programming
- Tools for programming languages
Qualification-goals/Competencies:
- The students can characterize major programming languages and can compare their application domains.
- They can understand, adapt and extend syntacic and semantic descriptions of programming languages.
- They can analyse the structure and principles of programming languages.
- They can learn on their own and classify new language elements.
- They can argue on the support of type systems for writing correct programs.
- The can evaluate possible programming languages for an application.
Grading through:
- Written or oral exam as announced by the examiner
Responsible for this module:
Literature:
- K.C. Louden : Programming Languages: Principles and Practice Course Technology 2011
- J.C. Mitchell : Concepts in Programming Languages Cambridge University Press 2003
- T.W. Pratt, M.V. Zelkowitz : Programming Languages: Design and Implementation Prentice Hall 2000
- R.W. Sebesta : Concepts of Programming Languages Pearson Education 2012
- R. Sethi : Programming Languages: Concepts and Constructs Addison-Wesley 2003
- D.A. Watt : Programming Language Design Concepts John Wiley & Sons 2004
- G. Winskel : The Formal Semantics of Programming Languages MIT Press 1993
Language:
- German and English skills required
Notes:
Admission requirements for taking the module:- None (the competencies of the modules listed under
Last Updated:
01.02.2022