Undergraduate Course: Language Semantics and Implementation (INFR09014)
|School||School of Informatics
||College||College of Science and Engineering
||Availability||Available to all students
|Credit level (Normal year taken)||SCQF Level 9 (Year 3 Undergraduate)
|Home subject area||Informatics
||Other subject area||None
||Taught in Gaelic?||No
|Course description||The aim of the course is to present a unified view of programming language semantics and implementation, based upon the linked notions of structured operational semantics and abstract machines. Different styles of languages (such as declarative and object oriented) will be treated.
Entry Requirements (not applicable to Visiting Students)
||Other requirements|| This course is open to all Informatics students including those on joint degrees. For external students where this course is not listed in your DPT, please seek special permission from the course organiser.
|Additional Costs|| None
Information for Visiting Students
|Displayed in Visiting Students Prospectus?||Yes
Course Delivery Information
|Not being delivered|
Summary of Intended Learning Outcomes
|1 - Principles of programming language design and implementation, and of type-checking.
2 - Formal approaches to problems, including mathematical modelling via definitions and proofs by induction.
3 - Ability to read, write and exercise formal specifications of programming languages.
4 - Ability to read and appreciate formal specifications of programming and other formal langauges, and, perhaps, formal specification more generally. Improved ability in discrete mathematics.
|Written Examination 80|
Assessed Assignments 20
Oral Presentations 0
Two written assignments each contribute 10% to the final course grade, and are particularly directed at learning outcome 3. A written examination contributes the remaining 80%.
If delivered in semester 1, this course will have an option for semester 1 only visiting undergraduate students, providing assessment prior to the end of the calendar year.
||Dynamic Language Semantics: Semantic rules as an inference system; treatment of variable assignment, iteration, scope, function declaration and application, parameter passing, records, recursion. Static Semantics: Semantic rules for type checking as an inference system. Abstract Machines and Implementation: The SMC machine for an imperative while language and the Java Virtual Machine.
Relevant QAA Computing Curriculum Sections: Comparative Programming Languages, Compilers and Syntax Directed Tools
||* * M. Hennessy, The Semantics of Programming Languages, Wiley, 1990.
* * G. D. Plotkin, (Parts of) A Structural Approach to Operational Semantics, Aarhus Research Report.
* *** A. Pitts, Semantics of Programming Languages, Lecture Notes, University of Cambridge, http://www.cl.cam.ac.uk/Teaching/2000/Semantics/
Timetabled Laboratories 0
Non-timetabled assessed assignments 24
Private Study/Other 48
|Course organiser||Mr Vijayanand Nagarajan
Tel: (0131 6)51 3440
|Course secretary||Miss Claire Edminson
Tel: (0131 6)51 7607