5 credits
30.0 h + 30.0 h
Q2
Teacher(s)
Van Roy Peter;
Language
English
Prerequisites
Within SINF1BA : LFSAB1402
The prerequisite(s) for this Teaching Unit (Unité d’enseignement – UE) for the programmes/courses that offer this Teaching Unit are specified at the end of this sheet.
Withing FSA1BA: LFSAB1101, LFSAB1102, LFSAB1201, LFSAB1202, LFSAB1301, LFSAB1401
The prerequisite(s) for this Teaching Unit (Unité d’enseignement – UE) for the programmes/courses that offer this Teaching Unit are specified at the end of this sheet.
Main themes
- Concepts, techniques and paradigms of programming languages
- Concurrent programming paradigms
- Reasoning and design techniques for programming
- Practical Programming and Applications
Aims
At the end of this learning unit, the student is able to : | |
1 | Given the learning outcomes of the "Bachelor in Engineering" program, this course contributes to the development, acquisition and evaluation of the following learning outcomes:
Given the learning outcomes of the "Bachelor in Computer science" program, this course contributes to the development, acquisition and evaluation of the following learning outcomes:
Students completing successfully this course will be able to
Students will have developed skills and operational methodology. In particular, they have developed their ability to
|
The contribution of this Teaching Unit to the development and command of the skills and learning outcomes of the programme(s) can be accessed at the end of this sheet, in the section entitled “Programmes/courses offering this Teaching Unit”.
Content
- Deep understanding of key concepts of programming languages. The concepts are presented in a uniform framework. The course is organized around a progressive and coherent presentation of the various paradigms of concurrent programming.
- Major programming concepts including function, object, class, abstraction, instantiation, inheritance, state, encapsulation, concurrency, dataflow, lazy evaluation, nondeterminism, agent (active object), lock (lock), monitor transaction Deadlock (deadlock), higher-order programming, compositionality, etc..
- Description of a wide spectrum of programming paradigms, relationship between these paradigms and introduction to the major programming languages.
- Reasoning and design techniques with different paradigms to design correct programs.
- Practical applications in several areas (eg, simulation of logic circuits, simulation lifts, a transaction manager).
Teaching methods
- Lecture each week.
- Practical sessions in the computer rooms each week.
- Design and programming project (second half of the course).
Evaluation methods
- Mid-term test (dispensatory for 1 / 4 of the mark).
- Project (1 / 4 of the mark).
- Written exam in session (3 / 4 of the mark).
Other information
Background:
- FSAB1402 : Good programming skills in a high-level language
Online resources
Bibliography
- Van Roy P. et Haridi S, "Concepts, Techniques, and Models of Computer Programming", MIT Press, March 2004. (support obligatoire)
- Mozart Programming System version 2, www.mozart-oz.org.
Faculty or entity
INFO