184.749 Semantics of Programming Languages
This course is in all assigned curricula part of the STEOP.
This course is in at least 1 assigned curriculum part of the STEOP.

2019S, VU, 3.0h, 4.5EC

Properties

  • Semester hours: 3.0
  • Credits: 4.5
  • Type: VU Lecture and Exercise

Aim of course

Acquisition of basic knowledge (foundational formalisms and definition methods) for the semantic description and characterization of programming languages and programming constructs. Learning of methodological criteria for the analysis and the proof of correctness of a program with regard to the semantics of the respective programming language.

Subject of course

Foundational semantic description methods and formalisms: Operational, denotational and axiomatic semantics of imperative program constructs; relations to program verification; introduction to the lambda-calculus; inductive and recursive definitions; fixed point operators and constructions; selected topics like non-determinsim and concurrency.

Additional information

ECTS Breakdown: ECTS 4.5 = 112h

Lectures: 8 Units of 5 hours each: 40 Std

Exercises: 50 Std

Exam (including preparation time): 22 Std

Start: The course starts on 4.3.2019.

Lecture/exercise/examen dates for the summer term 2019

4.3. intro/ lecture FO part1
6.3. lecture FO part2 /ex-FO online
11.3. lecture1
13.3. lecture2/hand-in ex-FO/ex1 online
18.3. exercise FO
20.3. repetition
25.3. lecture3/hand-in ex1/ex2 online
27.3. lecture4
1.4. exercise1
3.4. lecture5/hand-in ex2/ex3 online
8.4. no lecture
10.4. exercise2 
15.4. Easter holidays
17.4. Easter holidays
22.4. Easter holidays
24.4. Easter holidays
29.4. TBA
1.5. public holiday
6.5 lecture6
8.5. lecture7/hand-in ex3/ex4 online
13.5. lecture8
15.5. exercise3
20.5. lecture9/hand-in ex4/ex5 online
22.5. TBA
27.5. exercise4/hand-in ex5
29.5. TBA
3.6. exercise5
5.6. TBA
10.6. Holiday
12.6. exam
17.6. no lecture
19.6. no lecture
24.6. no lecture
26.6. if needed: exam repetition

------

Further Reading:

"Introduction to lattices and order", B. A. Davey and H. A. Priestley is a good introduction to lattice theory

"Types and Programming Languages", Benjamin Pierce is the standard introduction into types in programming languages

Lecturers

Institute

Course dates

DayTimeDateLocationDescription
Mon13:00 - 15:0004.03.2019 - 24.06.2019Seminarraum FAV 05 (Seminarraum 186) Semantik von Programmiersprachen
Wed11:00 - 13:0006.03.2019 - 26.06.2019Seminarraum FAV 05 (Seminarraum 186) Semantik von Programmiersprachen
Semantics of Programming Languages - Single appointments
DayDateTimeLocationDescription
Mon04.03.201913:00 - 15:00Seminarraum FAV 05 (Seminarraum 186) Semantik von Programmiersprachen
Wed06.03.201911:00 - 13:00Seminarraum FAV 05 (Seminarraum 186) Semantik von Programmiersprachen
Mon11.03.201913:00 - 15:00Seminarraum FAV 05 (Seminarraum 186) Semantik von Programmiersprachen
Wed13.03.201911:00 - 13:00Seminarraum FAV 05 (Seminarraum 186) Semantik von Programmiersprachen
Mon18.03.201913:00 - 15:00Seminarraum FAV 05 (Seminarraum 186) Semantik von Programmiersprachen
Wed20.03.201911:00 - 13:00Seminarraum FAV 05 (Seminarraum 186) Semantik von Programmiersprachen
Mon25.03.201913:00 - 15:00Seminarraum FAV 05 (Seminarraum 186) Semantik von Programmiersprachen
Wed27.03.201911:00 - 13:00Seminarraum FAV 05 (Seminarraum 186) Semantik von Programmiersprachen
Mon01.04.201913:00 - 15:00Seminarraum FAV 05 (Seminarraum 186) Semantik von Programmiersprachen
Wed03.04.201911:00 - 13:00Seminarraum FAV 05 (Seminarraum 186) Semantik von Programmiersprachen
Mon08.04.201913:00 - 15:00Seminarraum FAV 05 (Seminarraum 186) Semantik von Programmiersprachen
Wed10.04.201911:00 - 13:00Seminarraum FAV 05 (Seminarraum 186) Semantik von Programmiersprachen
Mon29.04.201913:00 - 15:00Seminarraum FAV 05 (Seminarraum 186) Semantik von Programmiersprachen
Mon06.05.201913:00 - 15:00Seminarraum FAV 05 (Seminarraum 186) Semantik von Programmiersprachen
Wed08.05.201911:00 - 13:00Seminarraum FAV 05 (Seminarraum 186) Semantik von Programmiersprachen
Mon13.05.201913:00 - 15:00Seminarraum FAV 05 (Seminarraum 186) Semantik von Programmiersprachen
Wed15.05.201911:00 - 13:00Seminarraum FAV 05 (Seminarraum 186) Semantik von Programmiersprachen
Mon20.05.201913:00 - 15:00Seminarraum FAV 05 (Seminarraum 186) Semantik von Programmiersprachen
Wed22.05.201911:00 - 13:00Seminarraum FAV 05 (Seminarraum 186) Semantik von Programmiersprachen
Mon27.05.201913:00 - 15:00Seminarraum FAV 05 (Seminarraum 186) Semantik von Programmiersprachen

Examination modalities

Structure of the course:

The first two lectures will repeat first-order logic and can be skipped by students who have mastered the material. This year there will be no entrance exam. However, the first exercise sheet assumes familiarity with first-order logic and basic set-theoretic and logical notations.

The main part of the lecture concists of 8 lectures and 5 exercises. After every two lectures there is one exercise. Students have to solve the initial exercise sheet on first-order logic and plus the 5 exercise sheets and get at least 40% of the total points in order to be admitted to the exam.

Course registration

Begin End Deregistration end
15.02.2019 09:00 28.04.2019 22:00 29.05.2019 22:00

Registration modalities

None.

Curricula

Literature

No lecture notes are available.

Previous knowledge

Basic knowledge of first-order logic (FOL) as introduced in the courses 185.278 and 185.291; in particular, understanding the difference between syntax and semantics and being able to use structural induction for proving properties of FOL formulae.

Basic knowledge of Hoare-logic as introduced in185.291.

Working knowledge of set-theoretic and logical notation; in particular, being able to precisely formulate and prove mathematical statements as taught and practiced in the coureses 104.271, 185.278, 185.291.

 

Preceding courses

Language

English