linfo1103  2019-2020  Louvain-la-Neuve

Note from June 29, 2020
Although we do not yet know how long the social distancing related to the Covid-19 pandemic will last, and regardless of the changes that had to be made in the evaluation of the June 2020 session in relation to what is provided for in this learning unit description, new learnig unit evaluation methods may still be adopted by the teachers; details of these methods have been - or will be - communicated to the students by the teachers, as soon as possible.
5 credits
30.0 h + 30.0 h
Dupont Pierre;
This course assumes that the student already masters the basics of programming covered by the course LINFO1101.
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.

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”.
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
Teaching methods
  • Lectures
  • Practical sessions
  • 2 mini-projects at the end of the semester
  • Computing server (INGINious) to facilitate self-assessment by students of the solutions they propose to practical works
Evaluation methods
A note of PARTICIPATION reflects the involvement of the student during the year to workouts, its work on INGINIOUS (a server offering partially automatic correction and/or feedback) and 2 mini-projects at the end of the semester.
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 UCLouvain computer or, when appropriate, on paper).
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 sur le site Moodle du cours.
  • Required teaching material include all documents (lecture slides, project assignments, complements, ...) available on the Moodle website for this course.
Faculty or entity

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

Title of the programme
Master [120] in Linguistics

Bachelor in Computer Science

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

Minor in Computer Sciences

Minor in Information and Communication Studies and Technologies