NDAA09026U CANCELLED: Topics in Programming Languages (TiPL)
This course provides an introduction to state-of-the-art research and applications within an area of programming languages involving theory, design, implementation and/or application of programming languages. It acquaints students with performing independent research and its communication in seminar and project form.
The course consists of a particular set of topics reflecting state-of-the-art research and applications within theory, design, implementation and/or application of programming languages. This may include the construction, analysis or manipulation of programs with predictable properties and/or for a certain purpose. The particular topic(s) change from year to year.
In 2019/20 the course provides programming language principles for building and applying advanced blockchain and distributed ledger technology, including relevant cryptographic and distributed systems principles, state-of-the-art blockchain and distributed ledger systems, and domain-specific languages (DSLs) for digital and smart contracts.
The course consists of a selection of topics that reflect the current state of research as well as instructor and participant backgrounds and interests; lectures on the topics selected; seminar presentations by participants on their chosen topic(s); and group (2-4 persons) mini-projects. The mini-projects may consist of theoretical investigations, software construction or a combination of these. Master's thesis projects will be offered in continuation of the course.
The course connects with, but can be taken independently of the courses Subjects in Blockchain Technology (block 5) and Blockchain Business Development (block 1).
- Aspects of the dual nature of programs as software (to be executed) and as data (to be analyzed, transformed).
- The role of a precise (mathematical) semantics for a programming language in connection with manipulating programs.
- Principles of programming language design and how they are applied (or not) in connection with the topics under study.
- Discuss properties such as correctness, performance and define what they mean precisely in the specific topics under study.
- Specify ideas and concepts as rigorous definitions and make falsifiable (or provable) statements about them.
- Read, assess and commmunicate research papers.
- Apply central results in the given area of studies.
- Prepare and give seminar talk.
- Write a research paper.
- Develop a given project proposal into a project plan, execute it, and present the results.
Research articles and excerpts from books, distributed electronically.
See Absalon for a list of course literature.
Academic qualifications equivalent to a BSc degree is recommended.
Lecture phase: lectures and exercises, formation of seminar/project groups
Seminar phase: student seminar presentations
Project phase: project work
- Practical exercises
- Project work
Students receive feedback from the instructor during the course on exercises, seminar presentations and project report drafts. Students give each other feedback on seminar presentations and, within the mini-project groups, on each other's project work.
PhD’s can register for MSc-course by following the same procedure as credit-students, see link above.
- 7,5 ECTS
- Type of assessment
- Oral examination, 30 minutesIndividual oral examination without preparation. Format: individual presentation of select parts of group report followed by individual examination in the course topics (see topics and learning objectives), with special emphasis on the subject of the written report the student has co-authored.
- Exam registration requirements
Submission of group report.
- All aids allowed
- Marking scale
- 7-point grading scale
- Censorship form
- No external censorship
Several internal examiners
If a student is not qualified then qualification can be achieved by submission/re-submission of an individual project report no later than three weeks before the re-exam.
Individual oral examination (30 minutes, without preparation) based on submitted report and course topics (see topics and learning objectives).
Criteria for exam assesment
See Learning Outcome.