Ensimag Rubrique Formation 2022

Low-level software - 3MM1LDB

  • Number of hours

    • Lectures 6.0
    • Projects -
    • Tutorials 6.0
    • Internship -
    • Laboratory works 24.0
    • Written tests -

    ECTS

    ECTS 3.0

Goal(s)

The goal of this course is to complete and enrich the knowledge of the students on the low-level parts of computer software. We will study in details the last steps of the compilation chain, and programming with the assembly and C languages. A technique to translate C code into assembly language will be taught. The course concludes by a small project to practice what has been learned during this course.

Responsible(s)

Christophe RIPPERT

Content(s)

  • Advanced C language
  • Memory management
  • Dynamic data structures (linked lists, etc.)
  • Programming in ia32 and ia64 assembly language
  • Basic instructions set
  • Coding basic flow-control structures (if, while, for)
  • Function calling, stack
  • Data coding (integers, arrays, structures)
  • Memory organization (sections)
  • Tools :
  • gdb
  • valgrind
  • Small project in C and assembly language

Prerequisites

  • C language basics
  • Computer architecture course, mainly notions of registers and memory accesses.

Test

This course is evaluated by a practical exam on computer.

    • MCC en présentiel et en distanciel **
      NFS1 = NP3 = N1 = E1
      NFS2 = NR = N2 = E2

Calendar

The course exists in the following branches:

  • Curriculum - Work Study Education - Alternance 1ere annee
see the course schedule for 2023-2024

Additional Information

Course ID : 3MM1LDB
Course language(s): FR

The course is attached to the following structures:

You can find this course among all other courses.

Bibliography

Voir la page du cours en ligne : https://rippertc.pages.ensimag.fr/3mm1ldb/index.html