NDAA09032U Advanced Language Processing
Volume 2013/2014
Education
MSc Programme in Computer
Science
Content
The course covers
implementation of advanced programming language features and
methods for automatic analysis and transformation of programs.
Topics include:
Topics include:
- Memory management, including garbage collection.
- Dataflow analysis.
- Implementing function calls in scoped languages, including closures.
- Implementing polymorphic types.
- Implementing logic languages.
- Various optimisation techniques.
- Program transformation methods such as partial evaluation and supercompilation.
Learning Outcome
Knowledge: Methods for implementing various language paradigms and features and for optimising and transforming programs using these.
Skills: Reading and presenting scientific papers about the course topics. Implementing simple instances of selected topics.
Competences: Understanding the impact language design choices have on implementation and transformation of programs.
Knowledge: Methods for implementing various language paradigms and features and for optimising and transforming programs using these.
Skills: Reading and presenting scientific papers about the course topics. Implementing simple instances of selected topics.
Competences: Understanding the impact language design choices have on implementation and transformation of programs.
Literature
See Absalon when the course
is set up.
Academic qualifications
The student must be
familiar with different programming language paradigms
corresponding to the content of the course "Advanced
Programming" and have a basic understanding of computer
architecture and programming language implementation, including
lexing, parsing and code generation.
Teaching and learning methods
Lectures and sessions with
discussion and problem solving. Project work and seminar
presentations.
Workload
- Category
- Hours
- Colloquia
- 15
- Exam
- 1
- Lectures
- 18
- Preparation
- 127
- Project work
- 30
- Theory exercises
- 15
- Total
- 206
Sign up
Self Service at KUnet
As an exchange, guest and credit student - click here!
Continuing Education - click here!
As an exchange, guest and credit student - click here!
Continuing Education - click here!
Exam
- Credit
- 7,5 ECTS
- Type of assessment
- Oral examination, 30 minutesThe final exam is an oral exam without preparation that covers the subjects of the lectures and mandatory exercises (including seminar presentations).
- Exam registration requirements
- In order to qualify for the exam the student must complete 3 mandatory exercises (which can be seminar presentations or small implementation projects). Students who fail a mandatory exercise will be given one chance to redo the exercise or make another.
- Aid
- Written aids allowed
- Marking scale
- 7-point grading scale
- Censorship form
- No external censorship
Internal grading.
- Re-exam
- Same as ordinary exam.
Criteria for exam assesment
In order to receive the grade 12, the student should be able to demonstrate mastery of the knowledge, skills and competences described under the course goals. In particular:
- Explain how advanced language features such as higher-order functions, inheritance, polymorphism and backtracking are implemented.
- Identify opportunities for optimisation and describe the required analyses and transformations to safely achieve these optimisations.
- Define selected program transformations and sketch their implementation.
- Implement instances of the above for simple languages.
Course information
- Language
- English
- Course code
- NDAA09032U
- Credit
- 7,5 ECTS
- Level
- Full Degree Master
- Duration
- 1 block
- Placement
- Block 3
- Schedule
- C
- Course capacity
- Ingen begrænsning
- Continuing and further education
- Study board
- Study Board of Mathematics and Computer Science
Contracting department
- Department of Computer Science
Course responsibles
- Torben Ægidius Mogensen (torbenm@di.ku.dk)
Saved on the
12-06-2013