THE UNIVERSITY of EDINBURGH

DEGREE REGULATIONS & PROGRAMMES OF STUDY 2008/2009
- ARCHIVE for reference only
THIS PAGE IS OUT OF DATE

University Homepage
DRPS Homepage
DRPS Search
DRPS Contact
Home : College of Science and Engineering : School of Informatics (Schedule O) : Computer Science

Types and Semantics for Programming Languages (U04425)

? Credit Points : 10  ? SCQF Level : 10  ? Acronym : INF-4-TSPL

Type systems and semantics are mathematical tools for precisely describing aspects of programming language. A type system imposes constraints on legal programs in order to guarantee their safe execution, whilst a semantics specifies how a program will do when executed. This course gives an introduction to the main ideas and methods of type systems and semantics. This enables a deeper understanding of existing programming languages, as well as the ability to design and specify new language features.

Entry Requirements

? Pre-requisites : Language Semantics and Implementation is strongly recommended; Compiling Techniques and/or Functional Programming and Specification would also be an advantage. Successful completion of Year 3 of an Informatics Single or Combined Honours Degree, or equivalent by permission of the School. Some mathematical aptitude is also expected.

? Co-requisites : A recommended companion course is Advances in Programming Languages.

Subject Areas

Delivery Information

? Normal year taken : 4th year

? Delivery Period : Not being delivered

? Contact Teaching Time : 2 hour(s) per week for 10 weeks

Summary of Intended Learning Outcomes

1 - Read and understand the presentation of operational semantics and type systems via inference rules for lambda calculus, and be able to modify such a presentation to include a new language feature, such as state and exceptions.
2 - State and prove the theorems that relate big-step and small-step semantics, and the preservation and progress theorems that link operational semantics and type systems.
3 - Exploit the connection between logic and type systems, where propositions correspond to types and proofs correspond to programs; understand how conjunction corresponds to products, disjunction to sums, and implication to functions.
4 - Explain the differences between informal and formal semantics of programming languages, and between the operational, denotational and axiomatic approaches to formal semantics.
5 -
Read a formal semantics for a small programming language written in operational or denotational style, interpret it in informal terms, and predict how a given program will behave according to the semantic definition.
6 - Write a formal semantics for a programming language in the operational style, given a careful informal description of the language, and explain how any inadequacies in the informal description have been addressed in the formal one.

Assessment Information

Written Examination 75%
Assessed Assignments 25%

Exam times

Diet Diet Month Paper Code Paper Name Length
1ST May - - 2 hour(s)

Contact and Further Information

The Course Secretary should be the first point of contact for all enquiries.

Course Secretary

Mr James Bathgate
Tel : (0131 6)50 4094
Email : james.bathgate@ed.ac.uk

Course Organiser

Dr Amos Storkey
Tel : (0131 6)50 4491
Email : A.Storkey@ed.ac.uk

Course Website : http://www.inf.ed.ac.uk/teaching/courses/

School Website : http://www.informatics.ed.ac.uk/

College Website : http://www.scieng.ed.ac.uk/

Navigation
Help & Information
Home
Introduction
Glossary
Search
Regulations
Regulations
Degree Programmes
Introduction
Browse DPTs
Courses
Introduction
Humanities and Social Science
Science and Engineering
Medicine and Veterinary Medicine
Other Information
Prospectuses
Important Information
Timetab
 
copyright 2008 The University of Edinburgh