University Homepage
DRPS Homepage
DRPS Search
DRPS Contact
DRPS : Course Catalogue : School of Informatics : Informatics

Undergraduate Course: Advances in Programming Languages (INFR11101)

Course Outline
SchoolSchool of Informatics CollegeCollege of Science and Engineering
Credit level (Normal year taken)SCQF Level 11 (Year 4 Undergraduate) AvailabilityAvailable to all students
SCQF Credits10 ECTS Credits5
SummaryThis 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
Entry Requirements (not applicable to Visiting Students)
Pre-requisites Co-requisites
Prohibited Combinations Students MUST NOT also be taking Advances in Programming Languages (INFR10003)
Other requirements Familiarity with at least one object-oriented imperative language and one functional programming language. For students taking undergraduate degrees in the School of Informatics, these will usually be Java and Haskell, respectively.
Information for Visiting Students
Pre-requisitesVisiting students are required to have comparable background to that
assumed by the course prerequisites listed in the Degree Regulations &
Programmes of Study. If in doubt, consult the course lecturer.
High Demand Course? Yes
Course Delivery Information
Not being delivered
Learning Outcomes
A student who has successfully completed this course should be able to:

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.
Additional Information
Course URL
Graduate Attributes and Skills Not entered
KeywordsNot entered
Course organiserDr Ian Stark
Tel: (0131 6)50 5143
Course secretaryMs Sarah Larios
Tel: (0131 6)51 4164
Help & Information
Search DPTs and Courses
Degree Programmes
Browse DPTs
Humanities and Social Science
Science and Engineering
Medicine and Veterinary Medicine
Other Information
Combined Course Timetable
Important Information
© Copyright 2015 The University of Edinburgh - 18 January 2016 4:13 am