Module Details |
The information contained in this module specification was correct at the time of publication but may be subject to change, either during the session because of unforeseen circumstances, or following review of the module at the end of the session. Queries about the module should be directed to the member of staff with responsibility for the module. |
Title | SEMANTICS OF PROGRAMMING LANGUAGES | ||
Code | COMP317 | ||
Coordinator |
Dr GR Malcolm Computer Science Grant@liverpool.ac.uk |
||
Year | CATS Level | Semester | CATS Value |
Session 2019-20 | Level 6 FHEQ | Second Semester | 15 |
Aims |
|
to present the major ideas from the area of formal semantics of programming languages; to demonstrate their importance to language design and implementation, and to program verification, specification and refinement; to develop simple mathematical techniques for describing the semantics of programs and reasoning about their denotations; to give an overview of the relationships between program semantics and logics of computation. |
Learning Outcomes |
|
(LO1) By the end of the module, students will: understand the concept of formal semantics of programs and the mathematical techniques used to describe the semantics of programming languages; be able to use these in reasoning about programs and computations; have a deeper understanding of the notions o computation and data structure; have a deeper understanding of program specification,verification and refinement, as well as the issues involved in integrating software components written in different languages. |
Syllabus |
|
1 Introduction and Overview (3 lectures) syntax and semantics; informal semantics; programming languages and compositional semantics; logic and computation Denotational Semantics (6 lectures) programs as functions; loops and recursion; fixed points Semantics of Data Structures (9 lectures) algebraic specifications; models; equational deduction and computation as proof Axiomatic Semantics (12 lectures) specification of programs and languages; correctness proofs; objects, data structures and local states |
Teaching and Learning Strategies |
|
Teaching Method 1 - Lecture |
Teaching Schedule |
Lectures | Seminars | Tutorials | Lab Practicals | Fieldwork Placement | Other | TOTAL | |
Study Hours |
30 |
30 | |||||
Timetable (if known) | |||||||
Private Study | 120 | ||||||
TOTAL HOURS | 150 |
Assessment |
||||||
EXAM | Duration | Timing (Semester) |
% of final mark |
Resit/resubmission opportunity |
Penalty for late submission |
Notes |
CONTINUOUS | Duration | Timing (Semester) |
% of final mark |
Resit/resubmission opportunity |
Penalty for late submission |
Notes |
Recommended Texts |
|
Reading lists are managed at readinglists.liverpool.ac.uk. Click here to access the reading lists for this module. |