Advances in Programming Languages


Note: This page refers to a past version of the course. You can also consult the current APL course web pages.

Link: Course webpage.
Jump to: Timing and submission; suggested outline; required elements; notes on plagiarism; example reports.

Coursework Assignment

There is a single piece of assessed coursework, a written report on one of the following topics:

Further information on these topics was presented in Lecture 2.

Preparing the report will involve reading research papers, technical manuals, and some code development on the system in question. See the sample outline below for information on the expected content of your report.

Timing and Submission

Week 1 Thursday 14 January: Assignment topics issued

Week 5 Friday 12 February: Preliminary report

Submit a file choice.pdf containing a PDF document with the following content:

  • Your student number;
  • Which topic title you have chosen;
  • Three suitable references, which you have read;
  • A screenshot by you of the selected system in action.

See below for information on creating a PDF document: no other format will be accepted.

One of the three references must be to a published paper; the other two may be published articles, but could also be white papers, web tutorials, manuals, or similar. In all cases you must provide suitable information that would enable someone else to obtain the document. See the entry “Bibliography” below for further information on writing references.

To create the screenshot, you will need to have your chosen system downloaded, installed, and running on a suitable machine. If you have difficulties with this, then ask for help in lectures or by email.

Submit your file using the command submit cs4 apl 1 choice.pdf by 2010-02-12 16:00Z.

Week 6: Assignment review

There will be a lecture given over to a review session on the coursework assignment.

By this point you will have selected your topic, and should have made some progress with your investigation. The review session is an opportunity to discuss any problems or challenges you have encountered. We shall also cover issues with the preparation of the report, its content and arrangement.

Week 8 Friday 5 March: Final report due

Submit a file apl.pdf containing your report in PDF. No other format will be accepted.

Submit your file using the command submit cs4 apl 2 apl.pdf by 2010-03-05 16:00Z.

The final report will be marked by the lecturers, and contributes 20% towards your grade for this course.

You have over 7 weeks to complete the coursework assignment. This is not because it is likely to take that long: the period is to allow you to arrange and plan work across all the courses you are taking. If you have a course with a similar deadline which you feel may cause difficulties, then you might aim to complete the APL report early. You might even submit at the half-way point when you must submit the first references.

The recommended tool for creating the report is LaTeX with the article class, using pdflatex, and bibtex with the plain style. You may find the listings and graphicx packages useful.

Alternatively, is freely available for Windows and Linux, installed on Informatics machines, and can write PDF. Mac OS X natively creates PDF. Microsoft provide a PDF output add-in for Word 2007. For earlier versions of Word, you must either purchase a reliable PDF converter, or just transfer your files to OpenOffice, which reads Microsoft formats (RTF or DOC), and then output to PDF from there.

Report Outline

The report must be 8–10 pages long and self-contained. To allow for listings and diagrams, no word count is imposed, but pages should be A4 size, numbered from 1, and use 11 or 12 point serif body text. The margins should be at most 2.5cm. You must use a spelling checker. No cover sheet is required: the title and abstract should appear on the first page with the body text.

The following is an example report outline. You need not follow this to the letter: it is intended only as a guide. In particular, notice that it does not include a full literature survey, as would be normal for a more substantive piece of research.

Certain elements, however, are required: see below for details.

Title / Date / Matriculation number

Do not include your name, as some feel that to do so compromises assessment. The University's stated aim is wholly anonymous assessment (University of Edinburgh Undergraduate Assessment Regulation 7.4), but the current system of electronic submission and marking does not support that, as it works by matriculation number rather than examination number.


An appropriate abstract for a report like this might read:

X is a problem/challenge/issue, Y is a proposed solution/approach/technique. This report describes how this has been used in project/language Z, showing how it works, detailing some of the advantages and limitations, and with an example of Y as applied to W.

A summary of your report, which could be read separately. Overview of report structure.


The problem domain, why it is a challenge, some illustration of the difficulties present.

<Proposed solution>

What is the proposed solution. How the language or project at hand applies this solution. Sprinkle with small examples to illustrate how this works. Advantages, what is gained. Limitations, why it might be tricky to use, things that are still not solved


Brief description of example. Code, with annotations and more detailed description. A sample screenshot of this in action: code+compilation+execution. (Use the LaTeX graphicx package to include images.)


A list of a few notable resources that you have consulted, such as: technical paper, conference paper, journal article, web tutorial, manual, demonstration video. For each such resource, a paragraph or two summarizing what it contains, in your own words.

Related work

Other projects or languages applying the same technique. Other approaches to the same problem. For each of these, say what it does and how it compares.


What the approach described does; summary of its advantages and limitations.


For every item of source material used, give a full bibliographic reference. This must be sufficient for a reader to obtain and consult the original document. In particular, a URL on its own is not enough: if the resource is itself a web site, then its URL should be accompanied by a descriptive title, an author if known, and the date on which you fetched it.

Read the caution before citing Wikipedia and the caution on academic use of Wikipedia.

If you wish, you may include an appendix containing the full text of the source code for your example applications. This does not count towards the page limit.

Required Elements

The following specific elements of the report are essential:

Other elements listed in the sample outline above are more flexible, within reason, where you feel this better supports the specific topic of your investigation.


The text of your report must be your own unaided work, written in your own words. See the following:

The following working practices may be helpful.

This does not by any means bar discussion with other students; simply that the text of the report itself must be your own work, not written in collaboration with anyone else.

Example reports

As further guidance on what is expected, we are making available two reports from previous students on the course.

Both pieces of work scored above 70 and were in the top half of the coursework mark distribution. We are grateful to the authors for giving us permission to share their reports with future classes.

Home : Teaching : Courses : Apl : 2009-2010 

Informatics Forum, 10 Crichton Street, Edinburgh, EH8 9AB, Scotland, UK
Tel: +44 131 651 5661, Fax: +44 131 651 1426, E-mail:
Please contact our webadmin with any comments or corrections. Logging and Cookies
Unless explicitly stated otherwise, all material is copyright © The University of Edinburgh