Undergraduate Course: Advances in Programming Languages (INFR10003)
Course Outline
School | School of Informatics |
College | College of Science and Engineering |
Course type | Standard |
Availability | Available to all students |
Credit level (Normal year taken) | SCQF Level 10 (Year 4 Undergraduate) |
Credits | 10 |
Home subject area | Informatics |
Other subject area | None |
Course website |
http://www.inf.ed.ac.uk/teaching/courses/apl |
Taught in Gaelic? | No |
Course description | 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. |
Information for Visiting Students
Pre-requisites | None |
Displayed in Visiting Students Prospectus? | Yes |
Course Delivery Information
Not being delivered |
Summary of Intended 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.
|
Assessment Information
Written Examination 80
Assessed Assignments 20
Oral Presentations 0
Assessment
A written examination will assess outcomes 1-5. The remaining outcomes will be assessed through a single piece of coursework, completed in two stages. This will involve some software development and the writing of a report.
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. |
Special Arrangements
None |
Additional Information
Academic description |
Not entered |
Syllabus |
* 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 |
Transferable skills |
Not entered |
Reading list |
Reading material will include selected technical papers on the languages featured in the course. There is no nominated textbook for the course. |
Study Abroad |
Not entered |
Study Pattern |
Lectures 20
Tutorials 0
Timetabled Laboratories 0
Non-timetabled assessed assignments 20
Private Study/Other 60
Total 100 |
Keywords | Not entered |
Contacts
Course organiser | Dr Amos Storkey
Tel: (0131 6)51 1208
Email: |
Course secretary | Miss Kate Weston
Tel: (0131 6)50 2701
Email: |
|
|