Undergraduate Course: Advances in Programming Languages (INFR11101)
Course Outline
School | School of Informatics |
College | College of Science and Engineering |
Credit level (Normal year taken) | SCQF Level 11 (Year 4 Undergraduate) |
Availability | Available to all students |
SCQF Credits | 10 |
ECTS Credits | 5 |
Summary | This 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-requisites | Visiting 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
On completion of this course, the student will be able to:
- Give examples of different programming idioms, explain their distinctive features, and illustrate the relative advantages and disadvantages of these.
- 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.
- Outline some of the problems arising from the interactions between different features in programming languages.
- Describe in depth a specific recent programming language innovation, explaining its motivation, implementation, and how it compares to previous approaches.
- 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 Ian Stark
Tel: (0131 6)50 5143
Email: Ian.Stark@ed.ac.uk |
Course secretary | Mr Gregor Hall
Tel: (0131 6)50 5194
Email: gregor.hall@ed.ac.uk |
|
|