Website: | website containing additional information |
Course code: | INFOMCPD |
Credits: | 7.5 ECTS |
Period: | period 2 (week 46 through 5, i.e., 9-11-2020 through 5-2-2021; retake week 16)
|  |
Timeslot: | C |
Participants: | up till now 93 subscriptions |
Schedule: | Official schedule representation can be found in MyTimetable |
Teachers: |
|
Note: | No up-to-date course description available. Text below is from year 2019/2020 |
Contents: | This course aims to teach students the concepts and principles of programming languages and program language design. |
Literature: | May change!
There is no book, but there are lecture notes for most of the topics.
In addition, articles, slides, and background reading will be provided during the course. |
Course form: | The course will consist of a mix of lectures and presentations by students. |
Exam form: | To complete the course students will need to:
- Complete a project component, which can be done by either
- completing a small research project (in a group) and
- present this project in a report (in a group)
or by
- completing two programming assignments and
- writing a report
- and take a final exam
The final mark is the average of the exam and project marks. To pass the course, both these marks must be at least 4.0. |
Minimum effort to qualify for 2nd chance exam: | To qualify for the retake exam, the grade of the original must be at least 4. |
Description: | Upon completing the course, students will:
- Understand what constitutes the definition of a programming language (syntax, static semantics, and dynamic semantics), together with common terminology used in the description and definition of programming languages (such as calling conventions, type systems, garbage collection).
- Be able to formulate and design domain specific languages, either as embedded
or stand-alone language, while understanding the relative merits of
these two approaches.
- Being able to formulate a simple language's syntax, static
semantics, and dynamic semantics and understand the design choices
involved.
- Be able to learn new languages quickly and be able to identify how
new languages relate to existing concepts and languages.
|