linfo1103  2020-2021  Louvain-la-Neuve

Due to the COVID-19 crisis, the information below is subject to change, in particular that concerning the teaching mode (presential, distance or in a comodal or hybrid format).
5 credits
30.0 h + 30.0 h
Dupont Pierre;
Main themes
  • Design and implementation of iterative or recursive algorithms: path, counting, sorting, searching in collections
  • Computational complexity
  • Basic data structures: arrays, stacks, queues, linked lists
  • Recursive data structures: tree structures, binary search trees
  • Invariants

At the end of this learning unit, the student is able to :

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:
  • S1.I2, S1.I3
  • S2.2-4
  • S6.2
Students who have successfully completed this course will be able to:
  • justify a choice between several algorithmic solutions to solve a given problem,
  • analyze algorithms, iterative or recursive, to represent and manipulate collections and to propose variants thereof,
  • choose, design and use data structures, including recursive,
  • give a reasoned estimate of the time complexity of iterative algorithms and the spatial complexity of data structures;
  • reasoning about properties of algorithms or data structures in terms of invariants.

Students will have developed methodological and operational skills. In particular, they have developed their ability to:
  • to take a critical look and make a reasoned analysis of a solution or set of solutions that could be made to a given problem by setting quality criteria,
  • realize small programs using conventional algorithms and data structures.
Algorithmics is concerned with solving problems by implementing sequences of elementary operations according to a predefined process or procedure leading to a solution.
This discipline is both abstract and put into practice through programs (e.g. implemented in Python) and run on a computer.
  • Time and space complexity
  • Search algorithms through arrays
  • Abstract data types, data structures: stacks, queues, dynamic arrays, linked lists
  • Sorting algorithms
  • Recursion
  • Recursive data types
  • Computaional complexity of recursive algorithms, recurrence equations
  • Binary trees and dictionnaries
  • Invariants
Teaching methods

Due to the COVID-19 crisis, the information in this section is particularly likely to change.

  • Lectures
  • Practical sessions on the Inginious server
  • 2 mini-projects at the end of the semester
By default, lectures can be followed face to face in the auditorium announced in the official schedule. Depending on the number of registered students  and the evolution of the sanitary situation, students will be able to follow the lectures as well remotely on Teams.
Practice problems and projects are submitted on line and evaluated on the Inginious platform.
Practical sessions to help students to solve the practical problems are given, by default, face to face. Depending on the sanitary situation, these sessions could be given, partially or fully, on line on Teams.
Evaluation methods

Due to the COVID-19 crisis, the information in this section is particularly likely to change.

A note of PARTICIPATION reflects the involvement of the student during the year for solving the practice problems on Inginious and when implementing the projects.
In the first session, the participation grade is worth 20% of the final grade + 80% for the final exam (closed book).
The participation mark can not be reassessed.
In the second session, participation grade and the final exam are worth respectively 10 % and  90% of the overall score.
The final exam is, by default, a written exam (on a computer or, when appropriate, on paper).
These evaluation rules are subject to possible updates due to the sanitary situation. In particular, the relative weights between the participation grade (or specifically the projects) and the final exam could be adapted. Such possible updates would be notified to the students by a general announcement posted on the Moodle site of this course.
Il n'y a pas d'ouvrage de référence obligatoire mais, à titre complémentaire, des ouvrages sont recommandés sur le site Moodle.
Teaching materials
  • Les supports obligatoires sont constitués de l'ensemble des documents (transparents des cours magistraux, énoncés des travaux pratiques, compléments, ...) disponibles depuis le site Moodle du cours.
  • Required teaching material include all documents (lecture slides, project assignments, complements, ...) available from the Moodle website for this course.
Faculty or entity
Force majeure
Teaching methods
Lectures are given online and can be followed remotely. Practical exercices are submitted online on the Inginious platform.
Evaluation methods
The final exam is online on the Inginious platform.

Programmes / formations proposant cette unité d'enseignement (UE)

Title of the programme
Master [120] in Linguistics

Approfondissement en sciences et technologies de l'information et de la communication (pour seule réinscription)

Minor in Computer Sciences

Bachelor in Computer Science

Minor in numerical technologies and society