Génie industriel - Rubrique Formation - 2022

Computer Science - 3GMC0232

  • Number of hours

    • Tutorials 21.0
    • Laboratory works 15.0
    • Written tests 2.0

    ECTS

    ECTS 2.5

Goal(s)


• Understand the foundations of algorithmic and data structures.

• Know how to perform a top-down analysis of problems and design modular solutions based on the main concepts of object oriented programming.

• Master one programming language (Java).

Contact Hadrien CAMBAZARD

Content(s)


Algorithmic is a formalism to describe complex processes. The course deals mainly with the foundations of algorithmic and the main concepts of object oriented programming. We introduce successively a top-down analysis methodology of problems, the notions of elementary actions, control structures, and modular design of programs based on object oriented programming. Various algorithmic techniques are also presented with important data structures.

The main elements are the following:

• Top-down analysis of problems,
• Definition of an algorithmic language (variables, control structures)
• Data structures (tables, lists)
• Algorithmic techniques (recursion, divide and conquer)
• Simple complexity analysis
• Object oriented programming (objects, classes, attributes, encapsulation) and a programming language (JAVA).



Prerequisites

Test

Continuous assessment (CC)

E1 = Final written exam from 1st exam period
E2 = Written exam from 2nd exam period

N1 = Final mark from 1st exam period
N2 = Final mark from 2nd exam period



N1 = 0,4*CC + 0,6*E1
N2 = E2

Additional Information

Bibliography

Introduction to algorithms Ed. McGraw Hill. Thomas H. CORMEN, Charles E. LEISERSON, Ronald L. RIVEST.
Foundations of Computer Science. Ed. W. H. Freeman. Alfred V. Aho, Jeffrey D. Ullman.
Initiation à l'informatique. Ed. Eyrolles. Henri-Pierre Charles
Au coeur de Java : Volume 1 - Notions fondamentales, 8ème Ed. Ed. Sun Microsystems Press. Cay S. Horstmann, Gary Cornell.
Programmation en Java. Ed. Schaum's Outlines. John R. Hubbard.