Comparative Programming Languages (B-KUL-H0S01A)
Aims
- Students obtain a deep understanding of essential programming language concepts
- Students gain practical experience with a number of modern programming languages, thereby increasing the ability to learn new programming languages
- Students learn to appreciate the history and diversity of ideas in programming languages
- Students understand design choices in current programming languages, and can select an appropriate programming language for a given programming task
Previous knowledge
Substantial programming experience in at least one programming language.
Identical courses
This course is identical to the following courses:
H04L5A : Vergelijkende studie van imperatieve programmeertalen
Is included in these courses of study
- Master of Bioinformatics (Leuven) (Bioscience Engineering) 120 ects.
- Master of Bioinformatics (Leuven) (Engineering) 120 ects.
- Courses for Exchange Students Faculty of Engineering Science (Leuven)
- Master of Engineering: Computer Science (Leuven) 120 ects.
Activities
3.5 ects. Comparative Programming Languages: Lecture (B-KUL-H0S01a)
Content
The lectures illustrate and explain programming language concepts, including:
- concepts related to naming, such as scoping and binding of variables, lexical addressing, ...
- concepts related to mutable state and side-effects, such as explicit and implicit references, pointers, mechanisms for parameter passing, ...
- concepts related to control flow, such as continuations, threads, exceptions, ...
- concepts related to typing, such as static type checking, type inference, type safety, ...
- concepts related to abstraction, such as modules, objects, classes, abstract data types, ...
Course material
Study cost: 76-100 euros (The information about the study costs as stated here gives an indication and only represents the costs for purchasing new materials. There might be some electronic or second-hand copies available as well. You can use LIMO to check whether the textbook is available in the library. Any potential printing costs and optional course material are not included in this price.)
Handbook
1 ects. Comparative Programming Languages: Exercises (B-KUL-H0S02a)
Content
The exercise sessions explore a variety of programming languages. Students perform a number of small programming exercises specifically designed to highlight one or more programming language constructs or concepts.
Examples of programming languages that could be covered include: Scala, Ruby, Erlang, Clojure, Scheme, Racket, Self, ELM, JavaScript, C, ...
1.5 ects. Comparative Programming Languages: Assignment (B-KUL-H0S03a)
Content
Students make one or two larger programming assignments designed to help them appreciate specific programming language features.
Evaluation
Evaluation: Comparative Programming Languages (B-KUL-H2S01a)
Explanation
The continuous assessment part consists of one or two larger programming assignments, counting for 25% of the overall grade.
For the final exam, students are allowed to use the handbook, and a formularium listing the code of interpreters studied in the handbook.
Information about retaking exams
The continuous assessment part cannot be redone for the second exam period. The score obtained on this assignment is maintained for the second evaluation.