| 
 Undergraduate Course: Advances in Programming Languages (INFR10003)
Course Outline
| School | School of Informatics | College | College of Science and Engineering |  
| Credit level (Normal year taken) | SCQF Level 10 (Year 4 Undergraduate) | Availability | Available to all students |  
| SCQF Credits | 10 | ECTS Credits | 5 |  
 
| Summary | This course will survey recent developments in programming language design and implementation with an emphasis on those developments which are technological advances on the state-of-the-art. |  
| Course description | *  The aims of language design: correctness, uniformity, practicality * Advanced programming language constructs: overview and motivation
 * Specific examples of programming language approaches to different problem domains, generally four or five drawn from areas such as:
 
 Concurrency, memory management, security, distribution, parallelism, verification, correctness, types, objects, classes, language interworking, polymorphism, generics, naming, and modularity.
 
 Relevant QAA Computing Curriculum Sections:  Comparative Programming Languages, Compilers and Syntax Directed Tools, Theoretical Computing
 |  
Information for Visiting Students 
| Pre-requisites | None |  
Course Delivery Information
| Not being delivered |  
Learning Outcomes 
| 1 - Give examples of different programming idioms, other than the imperative class-based object-oriented model which is familiar from Java. 2 - Explain distinctive features of programming idioms, illustrating some relative advantages and disadvantages.
 3 - Describe requirements and constraints in the design of programming languages and individual language features.
 4 - Outline some of the problems arising from feature interaction in programming languages.
 5 - For a range of programming language features, identify the problem they were created to solve, explain the approach they take to do this, and discuss possible problems that may arise.
 6 - Describe in depth a specific recent programming language innovation, explaining its motivation, implementation, and how it compares to previous approaches.
 7 - Write working code that demonstrates the use of a novel language feature, based on technical research papers and language documentation.
 
 |  
Reading List 
| Reading material will include selected technical papers on the languages featured in the course. There is no nominated textbook for the course. |  
Contacts 
| Course organiser | Dr Mary Cryan Tel: (0131 6)50 5153
 Email: mcryan@inf.ed.ac.uk
 | Course secretary | Ms Katey Lee Tel: (0131 6)50 2701
 Email: Katey.Lee@ed.ac.uk
 |  |  |