Algorithmics and data structures

lsinf1121  2019-2020  Louvain-la-Neuve

Algorithmics and data structures
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
Q1
Teacher(s)
Schaus Pierre;
Language
French
Prerequisites

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.
Aims

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

1
 

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
  • Computational complexity,
  • Trees, binary search trees,
  • Balanced trees,
  • Dictionaries and hash tables,
  • Priority queues and heaps
  • Graphs,
  • Text processing (pattern matching, compression algorithms)
Teaching methods
The active pedagogy method followed in this course is inspired by flipped classrooms. There are six two-week modules. Each module includes an introductory course on the subject, theoretical exercises to prepare, chapters of the reference book to read, a session to correct exercises in the middle of the model with the TA, work on inginious to realize (Java programs) and finally a restructuring course at the end of the module. One of the essential components of this pedagogy is self-learning. The success of the learning process thus presupposes a significant involvement of each student. The actual learning remains the responsibility of each student. To pass the exam it is highly recommended that the student programs regularly.
Evaluation methods
Examen on computer using Inginious https://inginious.info.ucl.ac.be.
A mi-term quizz could be organized during the smart-week but will effectively count in the final grade only if it is favorable.
Students who have successfully completed this course will be able to   - make an informed choice on the use of the main data structures used to represent collections, - make good use of existing algorithms to manipulate these data structures and analyze their performance, - apply the principles of object-oriented programming such as genericity, abstraction, composition and reuse, - design and implement variants of the algorithms studied in high quality Java programs. Students will have developed methodological and operational skills. In particular, they will have developed their ability to: - critically analyze an algorithmic problem - learn autonomously in a reference book and in the complementary technical documentation - produce a satisfactory solution to algorithmic problems within the prescribed deadlines.
Other information
Background:
LEPL1401 et LEPL1402 ou cours équivalents
Bibliography
Required Textbook:
Algorithms, 4th Edition by Robert Sedgewick and Kevin Wayne, Addison-Wesley Professional.
ISBN-13: 978-0321573513
ISBN-10: 032157351X

Exercices and documents
 https://lsinf1121.readthedocs.io
Communication with students using moodle http://moodleucl.uclouvain.be/course/view.php?id=7682
Faculty or entity
INFO


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

Title of the programme
Sigle
Credits
Prerequisites
Aims
Approfondissement en statistique et sciences des données

Minor in Statistics, Actuarial Sciences and Data Sciences

Minor in Engineering Sciences: Computer Sciences (only available for reenrolment)

Master [120] in Mathematical Engineering

Master [120] in Computer Science

Bachelor in Mathematics

Master [60] in Computer Science