Kursussøgning, efter- og videreuddannelse – Københavns Universitet

Videresend til en ven Resize Print Bookmark and Share

Kursussøgning, efter- og videreuddannelse

Programming Language Design (PLD)

Practical information
Study year 2016/2017
Time
Block 3
Programme level Bachelor
ECTS 7,5 ECTS
Course responsible
  • Torben Ægidius Mogensen (7-7671746467706f42666b306d7730666d)
  • Department of Computer Science
Course number: NDAB16008U

Course content

The course explores the design space of programming languages and how the design choices affect implementation and other properties of the language.

A brief history of programming languages is presented and a selected set of features are explored with respect to design choices, how they interact and how they can be implemented.

The aim is to give the student an understanding of the programming-language landscape that will both be helpful when the student designs and implements programming languages but also to better understand existing programming languages.

Learning outcome

The course aims to give the student:

Knowledge of:

  • The difference between interpretation and translation
  • Syntax
  • Memory management
  • Scope rules
  • Control structures
  • Types
  • Language paradigms
  • Modules
  • Semantics
  • Domain-specific languages
  • Computational power of languages

 

Skills to:

  • Design and implement simple programming languages using several of the above-listed features.
  • Describe this language using a mixture of formal and informal specification

 

Competences to:

  • Evaluate how design choices affect and are affected by implementation methods and other properties of programming languages.
  • Design a programming language tailored to a specific problem area or observing speciifc properties.

Recommended prerequisites

The student should have knowledge of basic programming language implementation equivalent to the courses "Oversættere (OV)" or "Implementering af programmeringssprog (IPS)" and have experience programming in several language paradigms including functional, imperative and object-oriented languages.

Sign up


As an exchange, guest and credit student - click here!

Continuing Education - click here!

Education

Bacheloruddannelsen i datalogi

Studyboard

Study Board of Mathematics and Computer Science

Course type

Single subject courses (day)

Duration

1 block

Schedulegroup

B
---- SKEMA LINK ----

Teaching and learning methods

Lectures, classroom exercises, projects.

Capacity

No limit

Language

English

Workload

Category Hours
Lectures 32
Class Exercises 32
Theory exercises 40
Practical exercises 40
Course Preparation 62
English 206

Exam

Type of assessment

Continuous assessment
The grade is given as a weighted average of 2 theoretical exercises and a small design-and-implementation project, where the project is weighted as 50% and each exercise as 25%.
observing specified properties or purposes
It is possible to resubmit the theoretical exercises one week after they are evaluated, but resubmission of the project is not possible.

Aid

All aids allowed

Marking scale

7-point grading scale

Criteria for exam assessment

See the learning outcomes.

Censorship form

No external censorship
Several internal examiners

Exam period

Continuous evaluation throughout the block, including the exam week.

Re-exam

The re-exam consists of (re-)submission of the theoretical exercises and a new project, different from the project in the original exam.

Mere information om kurset
Er du BA- eller KA-studerende?
Er du bachelor- eller kandidat-studerende, så find dette kursus i kursusbasen for studerende:

Kursusinformation for indskrevne studerende