Information in the Degree Programme Tables may still be subject to change in response to Covid-19

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 surveys 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 Students in APL learn about a range of significant issues in programming language design and implementation. Much of the material is presented in lectures on current topics, supported by additional reading and self-study. Students also learn through a practical exercise where they must individually research a chosen programming language innovation.

Areas covered include the following.

* 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 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.

This course is open to full year Visiting Students only, as the course is delivered in Semester 1 and examined at the end of Semester 2.
High Demand Course? Yes
Course Delivery Information
Not being delivered
Learning Outcomes
On completion of this course, the student will be able to:
  1. Give examples of different programming idioms, explain their distinctive features, and illustrate the relative advantages and disadvantages of these.
  2. 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.
  3. Outline some of the problems arising from the interactions between different features in programming languages.
  4. Describe in depth a specific recent programming language innovation, explaining its motivation, implementation, and how it compares to previous approaches.
  5. 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
Course organiserDr Ian Stark
Tel: (0131 6)50 5143
Course secretaryMiss Clara Fraser
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