# Algorithmic (01_XBALR)

**Coefficient :**3**Hourly Volume:**90h (including 36h supervised)- Labo : 36h supervised (and 6h unsupervised)
- Out-of-schedule personal work : 48h

### AATs Lists

## Description

- Fundamental notions of algorithms (variables, conditional, iterative and function call structures)
- Ressources : EniBook
**Teaching method**: flipped classroom and self-planning

## Learning Outcomes AAv (AAv)

AAv1 [heures: 8, B2, B4, D4] : At the end of the 1st semester, students are able to execute step by step algorithms comprising variables, conditional, iterative structures and function calls and in determine their results without error

AAv2 [heures: 40, B2, C2, D1, G2] : At the end of the 1st semester, students must be able to construct algorithms comprising variables, conditional, iterative structures and function calls responding to a need expressed by a simple statement

AAv3 [heures: 12, B4, C3, D3, D4] : At the end of the 1st semester, students must be able to verify the validity of an algorithm (it performs exactly the task for which it was designed) and its robustness (it is protected from abnormal conditions of use)

AAv4 [heures: 15, B2, C2, D1, G2] : At the end of the 1st semester, students must be able to propose reusable functions explicitly in different contexts of use

AAv5 [heures: 7, D4, G2] : At the end of the 1st semester, students must be able to use a language to execute a computer program and be able to analyze error messages and propose solutions. adapted corrections potentially based on documentation

AAv6 [heures: 8, B2, C3, D3] : At the end of the 1st semester, students must be able to measure and compare the complexity in terms of calculation time of the algorithms provided

## Assessment methods

Average of several short continuous assessments

**Eval_AAv 1**: An algorithm is given to the student. The student must render all the execution steps as well as the final result of the algorithm**Eval_AAv 2**: The student must produce the code for a given explicit statement (e.g. finding the largest value in a list)**Eval_AAv 3**: The student must test and propose testing methods for a given algorithm or product**Eval_AAv 4**: From a statement, the student must propose a specification and an implementation of a function**Eval_AAv 5**: A computer code producing an error or not passing a set of tests is communicated to the student. The student must interpret and correct errors**Eval_AAv 6**: A set of algorithms are provided to the student. These algorithms can be one and the same algorithm for which a parameter grows (e.g. N=10, 100, 1000) or two (or more) different algorithms having the same objective (e.g. sorting algorithms, search for a number)

## Key Words

Algorithmics, imperative programming, Python

## Prerequisites

Scientific baccalaureate