Skip to content

Programming ​

(PRG)

  • Coefficient : 2
  • Hourly Volume: 36.75h (including 26.25h supervised)
    Labo : 26.25h supervised
    Out-of-schedule personal work : 10.5h
  • Including project : 26.25h 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 person who has studied 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 person who has studied is able to describe in a report an informal testing approach for their work.

Assessment methods ​

The assessment is conducted in groups of three or four students, organized according to the structure imposed in the “Automation” course.
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.

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/