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
- 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
- MCC en présentiel et en distanciel **
Calendar
The course exists in the following branches:
- Curriculum - Work Study Education - Alternance 1ere annee
Additional Information
Course ID : 3MM1LDB
Course language(s):
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