Ensimag Rubrique Formation 2022

Algorithms and Programming - 3MM1AP

  • Number of hours

    • Lectures 36.0
    • Projects -
    • Tutorials 36.0
    • Internship -
    • Laboratory works -
    • Written tests -


    ECTS 6.0


The aim of this course is to extend the knowledge and practice in algorithms and programming. It ranges from basic to advanced algorithms and data structure, with strong theoretical notions (assertions, cost and complexity, ...). Both imperative and object-oriented programming paradigms will be covered.


Antoine FRENOY, Van Dat CUNG


  • Object-Oriented Programming (Java): basis (classes and objects,
    encapsulation) ; inheritance and polymorphism ; data abstraction ;
    containers ; libraries of components.
  • Imperative Programming (C) : arrays, pointers, functions, basic data
    structure implementation
  • Algorithms : sequential access ; data structures (arrays, linked lists, stacks, queues, trees, graphs, hash tables); recursivity; introduction to dynamic programming
  • Analysis of algorithms : complexity ; proof of termination; proof of correctness


A l'issue de la période 1, l'apprenti obtient la note NP1 :
NP1 = (2*E1 + 2*TP1 + CC1)/5

A l'issue de la période 2, l'apprenti obtient la note NP2 :
NP2 = (3*E2 + 2*TP2)/5

La note de la matière est alors calculée par :
NUE = (NP1 + NP2)/2

S'il y a lieu, a l'issue de la session de rattrapage, l'apprenti obtient la note NR :
NR = ( 3*ES2 + TP1 + TP2) /5
Cette note remplace la note de la matière (NUE)

Informations pour les bilans et jurys :

  • Notes envoyées à la scolarité : NP1, NP2, NR
  • Notes apparaissant dans le bulletin de notes :
    pour le bilan 1 : NB1 = NP1
    pour le bilan 2 : NB2 = NP2
    pour le jury de session 1 : NFS1 = NUE
    pour le jury de session 2, s'il y a lieu : NFS2 = NR


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 : 3MM1AP
Course language(s): FR

The course is attached to the following structures:

You can find this course among all other courses.


H. ABELSON, G.SUSSMAN, J.SUSSMAN : "Structure and interpretation of
computer programs", McGraw-Hill, 1985 ; "Structure et interprétation
des programmes informatiques", InterEditions, 1989

C. FROIDEVAUX, M.C.GAUDEL, M.SORIA : "Types de données et
algorithmes", McGraw-Hill, 1990

A. V. Aho, J. E. Hopcroft, J. D. Ullman : Data Structures and
Algorithms, Addison-Wesley, 1985.