lepl1402  2021-2022  Louvain-la-Neuve

5 credits
30.0 h + 30.0 h
Q1
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.
Content
This teaching unit focuses on:
- Introduction to Java: compilation, byte-code, virtual machine, primitive type, strings, tables
- Abstract data types;
- Linear and tree structures, and their applications;
- recursive solution formulation and recursive algorithms;
- reasoning technique: preconditions, postconditions, invariants
- Notions of computational complexity and analysis of the temporal and spatial complexity of an algorithm;
- Functional programming and higher order programming
- Object-oriented modeling (inheritance, composition, reuse, polymorphism, class invariant);
- Introduction to design patterns;
- Program testing and validation methods;
- Introduction to parallelization: notion of thread and synchronization mechanisms.
Students who have successfully completed this course will be able to
  • to design Java programs
  • analyze programs according to their performance
  • to prove correctness of programs using invariants
  • 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.
  • design and manipulate simple linear and tree and recursive structures
  • design tests for programs
  • design functional programming approaches to solve small algorithmic problems
  • use design patterns
  • design simple parallel programs with synchronization mechanisms
Teaching methods
Lectures + Exercices on Inginious + lab sessions with TA
Lectures on video (flipped class room) + restructuration sessions +  lab sessions on Inginious + support on teams with TA.
The learning is the responsibility of each student. To pass the exam it is imperative that the student programs regularly and using IntelliJ
 
Evaluation methods
An optional quiz (in two parts) is held, counting towards the Continuing Assessment only if the score is higher than the exam score.
The purpose of the exam in January is to test not only knowledge of the subject, but also the ability to apply the knowledge acquired to write programs. The exam and quiz will use the Inginious grading system.
In case of detection of plagiarism confirmed by a plagiarism detection tool the course teachers reserve the right to let the student take an oral test.
 
 
Other information
Background: LEPL1401 or a similar course
Online resources
https://lepl1402.readthedocs.io/ (links to the slides and other course contents)
https://moodleucl.uclouvain.be/course/view.php?id=12884 Moodle et/ou Teams (communication with the students)
https://inginious.info.ucl.ac.be/course/LEPL1402 for the exercises
Faculty or entity


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

Title of the programme
Sigle
Credits
Prerequisites
Aims
Master [120] in Linguistics

Minor in Computer Sciences

Minor in numerical technologies and society

Bachelor in Computer Science

Bachelor in Mathematics

Approfondissement en statistique et sciences des données

Minor in Statistics, Actuarial Sciences and Data Sciences

Bachelor in Engineering

Master [120] in Data Science : Statistic