Website
Curriculum

Modul 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 field and terms:
  • Bachelor Computer Science 2019 (optional subject), major subject informatics, Arbitrary semester
  • Bachelor Computer Science 2019 (optional subject), Canonical Specialization Web and Data Science, 3rd semester
  • Bachelor Computer Science 2019 (compulsory), Canonical Specialization SSE, 3rd semester
  • Bachelor Media Informatics 2020 (optional subject), computer science, 5th or 6th semester
  • Bachelor Media Informatics 2014 (optional subject), computer science, 5th or 6th semester
  • Bachelor Computer Science 2016 (optional subject), major subject informatics, Arbitrary semester
  • Bachelor Computer Science 2016 (compulsory), Canonical Specialization SSE, 3rd semester
  • Bachelor Computer Science 2012 (optional subject), central topics of computer science, 5th or 6th semester
  • Bachelor Computer Science 2012 (compulsory), specialization field IT security and safety, 4th semester
  • Master Computer Science 2012 (compulsory), advanced curriculum programming, 2nd or 3rd semester
  • Bachelor IT-Security 2016 (optional subject), computer science, Arbitrary semester
  • Bachelor CLS 2010 (optional suject), computer science, 5th or 6th semester
  • Bachelor Computer Science 2014 (optional subject), central topics of computer science, 5th semester
  • Bachelor Computer Science 2014 (compulsory), specialization field IT security and safety, 5th semester
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
Requires:
Responsible for this module:
Teachers:
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

Letzte Änderung:
1.2.2022