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