Syntax and Semantics

2024/2025

Recommended prerequisite for participation in the module

The module builds on the course modules "The Theoretical Foundations of Computer Science" and "Algorithms and Data Structures"

Content, progress and pedagogy of the module

Disclaimer.
This is an English translation of the module. In case of discrepancy between the translation and the Danish version, the Danish version of the module is valid.

Learning objectives

Knowledge

The student must gain knowledge of the following theories and methods:

Formal language theory:

  • Theories of description and recognition of regular languages: deterministic and nondeterministic final machines, regular expressions and equivalence of these
     
  • Theories of description and recognition of context-free languages: Context-free grammatics and pushdown machines and the equivalence of these
     
  • Limitations of regular and context-free languages: Pumping Lemma for regular and context-free languages

Semantics of programming languages:

  • Structural operational semantics: Big-step and small-step semantics of common programming constructions. Semantic equivalence. Semantics of scope rules and parameter mechanisms
     
  • Techniques of program correctness. E.g. Hoare logic, type of systems
     
  • Recursive definitions and calculation of fixed points

Skills

  • Be able to accurately describe and use the terminology and notation of the course for results in formal language theory and semantics of programming languages, and
     
  • how and to what extent these results can be used
     
  • Be able to make use of the necessary written skills in these contexts.

Competences

  • Be able to apply concepts and techniques from formal language theory and semantics of programming languages, including in the design and description of programming languages.

Type of instruction

The teaching is organised according to the general teaching forms cf. §17

Extent and expected workload

The student is expected to spend 27.5 hours per ECTS, which for this activity means 137.5 hours.

Exam

Exams

Name of examSyntax and Semantics
Type of exam
Written or oral exam
ECTS5
Permitted aids
Assessment7-point grading scale
Type of gradingExternal examination
Criteria of assessmentThe criteria of assessment are stated in the Examination Policies and Procedures

Additional information

Contact: Study Board for computer science via cs-sn@cs.aau.dk or 9940 8854

Facts about the module

Danish titleSyntaks og semantik
Module codeDSNDATFB412
Module typeCourse
Duration1 semester
SemesterSpring
ECTS5
Language of instructionDanish and English
Empty-place SchemeYes
Location of the lectureCampus Aalborg
Responsible for the module

Organisation

Study BoardStudy Board of Computer Science
DepartmentDepartment of Computer Science
FacultyThe Technical Faculty of IT and Design