![]() | Study programme 2025-2026 | Français | |
![]() | Functional programming | ||
Programme component of Bachelor's in Computer Science (MONS) (day schedule) à la Faculty of Science |
| Code | Type | Head of UE | Department’s contact details | Teacher(s) |
|---|---|---|---|---|
| US-B2-SCINFO-032-M | Compulsory UE | MENS Tom | S852 - Génie Logiciel |
|
| Language of instruction | Language of assessment | HT(*) | HTPE(*) | HTPS(*) | HR(*) | HD(*) | Credits | Weighting | Term |
|---|---|---|---|---|---|---|---|---|---|
| Français | 18 | 0 | 18 | 0 | 0 | 4 | 4.00 | 2nd term |
| AA Code | Teaching Activity (AA) | HT(*) | HTPE(*) | HTPS(*) | HR(*) | HD(*) | Term | Weighting |
|---|---|---|---|---|---|---|---|---|
| S-INFO-803 | Functional Programming | 18 | 0 | 18 | 0 | 0 | Q2 | 100.00% |
| Programme component | ||
|---|---|---|
![]() | US-B1-SCINFO-007-M Algorithms and imperative programming | |
![]() | US-B1-SCINFO-008-M Algorithms and object-oriented programming | |
Objectives of Programme's Learning Outcomes
Learning Outcomes of UE
Functional programming is ubiquitous in the contemporary landscape of programming languages. This programming paradigm forms the basis of dedicated programming languages such as Scheme, Haskell, OCaml, Clojure, Erlang, F# and is also integrated into more general purpose languages such as Python, Java, Scala, Go, Rust, Kotlin and many others.
At the end of this learning unit, students will be able to use the functional programming paradigm, and understand its main features, and underlying theoretical foundations. Students will have gained practical experience with functional programming using the Scheme programming language, and will be able to transfer their skills to other languages supporting functional programming.
UE Content: description and pedagogical relevance
Functional programming is a software programming paradigm based on the notion of mathematical functions. In this learning unit we will study:
- The history and state-of-the-art in functional programming
- Lambda calculus, the formal foundation of functional programming
- The control structures and data structures used in functional programming
- The syntax and semantics of the Scheme programming language
- Lazy evaluation and the use of streams for manipulating infinite data sequences
- The importance of functional programming in today's programming language landscape
Prior Experience
Students that select this course should already have gained a basic knowledge about programming, and have had practical experience with at least one programming language.
Type of Teaching Activity/Activities
| AA | Type of Teaching Activity/Activities |
|---|---|
| S-INFO-803 |
|
Mode of delivery
| AA | Mode of delivery |
|---|---|
| S-INFO-803 |
|
Required Learning Resources/Tools
| AA | Required Learning Resources/Tools |
|---|---|
| S-INFO-803 | All learning resources and tools are available on Moodle, the online e-learning platform of UMONS. |
Recommended Learning Resources/Tools
| AA | Recommended Learning Resources/Tools |
|---|---|
| S-INFO-803 | Not applicable |
Other Recommended Reading
| AA | Other Recommended Reading |
|---|---|
| S-INFO-803 | Recommended references will be indicated in the course material. |
Grade Deferrals of AAs from one year to the next
| AA | Grade Deferrals of AAs from one year to the next |
|---|---|
| S-INFO-803 | Unauthorized |
Term 2 Assessment - type
| AA | Type(s) and mode(s) of Q2 assessment |
|---|---|
| S-INFO-803 |
|
Term 2 Assessment - comments
| AA | Term 2 Assessment - comments |
|---|---|
| S-INFO-803 | Written closed book exam, on paper. |
Term 3 Assessment - type
| AA | Type(s) and mode(s) of Q3 assessment |
|---|---|
| S-INFO-803 |
|
Term 3 Assessment - comments
| AA | Term 3 Assessment - comments |
|---|---|
| S-INFO-803 | Written closed book exam, on paper. |