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
|
Academic year 2017/18, Available to all students (SV1)
|
Quota: None |
Course Start |
Semester 1 |
Timetable |
Timetable |
Learning and Teaching activities (Further Info) |
Total Hours:
100
(
Lecture Hours 18,
Feedback/Feedforward Hours 2,
Summative Assessment Hours 2,
Programme Level Learning and Teaching Hours 2,
Directed Learning and Independent Learning Hours
76 )
|
Assessment (Further Info) |
Written Exam
80 %,
Coursework
20 %,
Practical Exam
0 %
|
Additional Information (Assessment) |
Assessment
A written examination assesses outcomes 1-3. Outcomes 4 and 5 are assessed through a single piece of coursework, completed in two stages. This involves some software development and the writing of a report.
Visiting Students
When delivered in Semester 1 this course has an option for single-semester visiting undergraduate students that provides assessment prior to the end of the calendar year. |
Feedback |
The course lecturer will provide written feedback on both stages of the course-work assignment. The first stage is purely formative: it does not count towards the course grade, and the feedback is to help improve students' work during the final stage.
The final lecture of the course reviews student progress during the course, giving feedback and advice on how best to prepare for the examination.
|
Exam Information |
Exam Diet |
Paper Name |
Hours & Minutes |
|
Main Exam Diet S2 (April/May) | | 2:00 | |
|
Academic year 2017/18, Part-year visiting students only (VV1)
|
Quota: None |
Course Start |
Semester 1 |
Timetable |
Timetable |
Learning and Teaching activities (Further Info) |
Total Hours:
100
(
Lecture Hours 20,
Programme Level Learning and Teaching Hours 2,
Directed Learning and Independent Learning Hours
78 )
|
Assessment (Further Info) |
Written Exam
80 %,
Coursework
20 %,
Practical Exam
0 %
|
Additional Information (Assessment) |
Assessment
A written examination assesses outcomes 1-3. Outcomes 4 and 5 are assessed through a single piece of coursework, completed in two stages. This involves some software development and the writing of a report.
Visiting Students
When delivered in Semester 1 this course has an option for single-semester visiting undergraduate students that provides assessment prior to the end of the calendar year. |
Feedback |
The course lecturer will provide written feedback on both stages of the course-work assignment. The first stage is purely formative: it does not count towards the course grade, and the feedback is to help improve students' work during the final stage.
The final lecture of the course reviews student progress during the course, giving feedback and advice on how best to prepare for the examination.
|
Exam Information |
Exam Diet |
Paper Name |
Hours & Minutes |
|
Main Exam Diet S1 (December) | | 2:00 | |
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: |
Course secretary | Mr Gregor Hall
Tel: (0131 6)50 5194
Email: |
|
© Copyright 2017 The University of Edinburgh - 6 February 2017 8:10 pm
|