UCL - Studies

Version française

Study programmes
First cycle
Second cycle
Third cycle
Faculties and entities
Access to studies
Academic calendar
Search
Simple
Detailed
Per course

Computer language concepts [INGI1131]
[30h+30h exercises] 5 credits

Version française

Printable version

This course is taught in the 2nd semester

Teacher(s):

Peter Van Roy

Language:

French

Level:

First cycle

>> Aims
>> Main themes
>> Content and teaching methods
>> Other information (prerequisite, evaluation (assessment methods), course materials recommended readings, ...)
>> Other credits in programs

Aims

- To show a deep understanding of the major programming concepts

- To understand and apply the basics of the most popular formalism for defining languages (syntax and semantics), specifically algorithmic programming languages.

- To understand how languages work in the principal programming paradigms, understand the relations between paradigms.

- To be able to quickly learn new languages, design languages targeted toward an arbitrary application, and be able to interface different languages.

Main themes

- Syntax: basics of abstract and concrete syntax, formalisms to define these syntaxes, representation of formal texts (syntax trees, graphs).

- Semantics: introduction to methods for defining semantics (operational semantics, axiomatic semantics, denotational semantics).

- Major programming concepts: function, object, class, abstraction, instantiation, inheritance, state, encapsulation, nondeterminism, concurrency, higher-order programming, compositionality, etc.

- Techniques for using these concepts.

- Programming paradigms and an introduction to the major programming languages.

- Principles and techniques of designing and interfacing languages.

- Practical applications in several domains (for example, distributed systems, constraint programming, human-computer interfacing).

Content and teaching methods

see "Main themes"

Other information (prerequisite, evaluation (assessment methods), course materials recommended readings, ...)

- Prerequisite:
Maîtrise de la programmation dans un langage de haut niveau tel que
LINF2121 Algorithmique et structures de données P. Dupont

- References
Recommended readingss:
(1) Sethi R, "Programming Languages : Concepts and Constructs" , Addison-Wesley, 1996.
(2) Van Roy P. and Haridi S, "Concepts, Techniques, and Models of Computer Programming" MIT Press, March 2004.
(3) Glynn Winskel, "The Formal Semantics of Programming Language" , MIT Press, 1993.

Other credits in programs

FSA12BA

Deuxième année de bachelier en sciences de l'ingénieur, orientation ingénieur civil

(5 credits)

FSA13BA

Troisième année de bachelier en sciences de l'ingénieur, orientation ingénieur civil

(5 credits)

MAP22

Deuxième année du programme conduisant au grade d'ingénieur civil en mathématiques appliquées

(5 credits)

MATH22/G

Deuxième licence en sciences mathématiques

(4 credits)

Mandatory

SINF13BA

Troisième année d'études de bachelier en sciences informatiques

(5 credits)

Mandatory

SINF1PM

Année d'études préparatoires au master en sciences informatiques (60 et 120)

(5 credits)

Mandatory



This site was created in collaboration with ADCP, ADEF, CIO et SGSI
Person in charge : Jean-Louis Marchand - Information : secretaire@fsa.ucl.ac.be
Last update :13/03/2007