Skip to content

Programming (03_XDPRG)

  • Coefficient : 2
  • Hourly Volume: 42h (including 31.5h supervised)
    Labo : 31.5h supervised
    Out-of-schedule personal work : 10.5h
  • Including project : 31.5h supervised and 10.5h unsupervised project

AATs Lists

Description

  • This course informally addresses, through experimentation, a few programming concepts (static typing, data structures, notions of value and reference, control of data mutability...).
  • The approach consists of carrying out mini-projects using the Rust language.
  • Depending on the progress in the realization, these mini-projects provide the opportunity to use existing libraries, utilize threads, handle files, communicate over a network by serializing data, and extend an interpreted Python program with native code produced in Rust.

Learning Outcomes AAv (AAv)

  • AAV1 [heures: 21, C1, D1]: At the end of this course, a student is able to write a simple program that meets the requirements of the Rust language, using library features, based on provided documentation and examples.

  • AAV2 [heures: 21, C3, D3, D4, F1]: At the end of this course, a student is able to describe in a report an informal testing approach for their work, identifying malfunctions, reporting the observed performance, and indicating the adjustments made.

Assessment methods

The assessment is individual.
It is based on the delivery, for each mini-project, of the produced source code and a short report.
Such a report must indicate the approach followed to test the correct operation at each stage of production, comment on the results obtained, particularly in terms of performance, and explain the adjustments made.

Key Words

Programming, Rust language, libraries, mini-projects

Prerequisites

Understanding of instructions and explanations written in natural language.
Basic knowledge of algorithms (variables, statements/expressions, control structures, functions)

Resources

https://web.enib.fr/~harrouet/s3prg_rust/
https://web.enib.fr/~harrouet/rust/
https://www.rust-lang.org/learn/