6 ECTS credits
150 h study time

Offer 1 with catalog number 4013063FNR for all students in the 1st semester at a (F) Master - specialised level.

Semester
1st semester
Enrollment based on exam contract
Impossible
Grading method
Grading (scale from 0 to 20)
Can retake in second session
Yes
Taught in
English
Faculty
Faculty of Sciences and Bioengineering Sciences
Department
Computer Science
Educational team
Theo D'Hondt (course titular)
Activities and contact hours
26 contact hours Lecture
26 contact hours Seminar, Exercises or Practicals
Course Content
The course will be loosely based on the milestone monograph:

Essentials of Programming Languages -- 3rd ed.
Authors: Daniel P. Friedman and Mitchell Wand
Publisher: MIT Press
ISBN: 0-262-06217-8
Copyright: 2008

Note that this work is currently under revision and that the 3rd edition is expected during the summer of 2008.


The tentative table of contents for the course is drawn from this publication and looks as follows:

Data Abstraction
Expressions
State
Continuation-Passing Style
Types
Modules
Objects and Classes
Course material
Digital course material (Required) : http://prog.vub.ac.be/PLE, http://prog.vub.ac.be/PLE
Handbook (Recommended) : Essentials of Programming Languages, Friedman - Wand, 3de, MIT Press, 9780262062794, 2008
Additional info
This course is under development. Although the agenda is well established, a number of particular features remain to be developed.

The status of the course will be published on http://prog.vub.ac.be/PLE

Also note that the course will be taught in English only. The monograph "Essentials of Programming Languages -- 3rd ed." is mandatory reading. It will be complemented by customized lecture notes.
Learning Outcomes

Algemene competenties

This course will first be offered starting with the academic year 2008/2009. The objective is to confront students with the deeper aspects of programming language architecture - hence the name "engineering".

The targeted competences are:

Related to knowledge and understanding:

• understanding the architecture of language processors
• view a programming language as part and parcel of a solution to a major software challenge
• be aware of the variety and depth of programming language concerns

Related to applicability of knowledge and understanding:

To grasp the fundamentals of programming language engineering.

Related to judgement:

To be able to assess the alternative language feature implementations in a particular problem context.

Related to communication:

To be able to present an engineered domain specific language as the correct solution to a targeted problem.

Related to learning skills:

To be able to accumulate the acquired skills in an ever growing platform of expertise.

Grading

The final grade is composed based on the following categories:
SELF Paper determines 100% of the final mark.

Within the SELF Paper category, the following assignments need to be completed:

  • Written essay with a relative weight of 1 which comprises 100% of the final mark.

    Note: The exam consists of a written essay (max. 10 pages + software artifacts), prepared beforehand and submitted at least 3 workdays before the actual exam. The essay will cover a particularly challenging language feature to be developed as an extension to an existing language framework. The essay should explore the assigned theme and illustrate it by means of a valid language implementation The essay will be supported by a 20min presentation by the student, followed by a Q&A session.

Additional info regarding evaluation
The exam consists of a written essay (max. 10 pages + software artifacts), prepared beforehand and submitted at least 3 workdays before the actual exam. The essay will cover a particularly challenging language feature to be developed as an extension to an existing language framework. The essay should explore the assigned theme and illustrate it by means of a valid language implementation The essay will be supported by a 20min presentation by the student, followed by a Q&A session.
Allowed unsatisfactory mark
The supplementary Teaching and Examination Regulations of your faculty stipulate whether an allowed unsatisfactory mark for this programme unit is permitted.

Academic context

This offer is part of the following study plans:
Master in Applied Sciences and Engineering: Computer Science: Artificial Intelligence (only offered in Dutch)
Master in Applied Sciences and Engineering: Computer Science: Multimedia (only offered in Dutch)
Master in Applied Sciences and Engineering: Computer Science: Software Languages and Software Engineering (only offered in Dutch)
Master in Applied Sciences and Engineering: Computer Science: Data Management and Analytics (only offered in Dutch)
Master of Applied Sciences and Engineering: Computer Science: Artificial Intelligence
Master of Applied Sciences and Engineering: Computer Science: Multimedia
Master of Applied Sciences and Engineering: Computer Science: Software Languages and Software Engineering
Master of Applied Sciences and Engineering: Computer Science: Data Management and Analytics