Computer Science 2 - Data Structures and Algorithms MT - 3PMRSDAL

Informations générales

  • Number of hours

    • Lectures 18.0
    • Projects 0
    • Tutorials 18.0
    • Internship 0
    • Laboratory works 0
    • Written tests 0

    ECTS

    ECTS 1.5

Goal(s)

Continuation of learning the conceptual tools of imperative languages in order to design algorithms for solving problems and the know-how to implement these algorithms using the C programming language, which is particularly important for engineering as taught at Phelma:
The objective of this course is to provide the basics of both the conceptual tools of imperative languages and the C programming language, which is particularly important for engineering as taught at Phelma MT.
Acquire and apply structured programming methods.
Learn algorithmics.
Acquire mastery of the software development cycle: specification, analysis, coding, compilation, testing, version management.
Learn the C language, particularly its “machine-oriented” features.

Learn the main concepts and data structures underlying solutions to many non-numerical problems. It covers recursive programming and the main dynamic data structures and abstract types used today (such as lists, stacks, queues, trees, graphs) and presents some implementations and algorithms using these data structures.

Contact Nicolas CASTAGNE, Sylvain HUET

Content(s)

Main concepts covered:
Recursive programming, concept of complexity
Concept of abstract data types
Linear linked data structures such as lists, stacks, and queues
Dictionaries and hash tables or tree structures.
Tree data structures: binary trees

Practical work: Students implement these concepts in C on Linux using concrete examples. Some examples of problems covered:
Mandelbrot fractals and recursion
Heap sorting
Spell checker and hash table
Vector calculation...

Two projects are to be completed during the module:

Micro-project. Examples: Image processing, mosaicing, inpainting, steganography, vector calculus, etc.

Mini project. Examples: Searching for routes on the Paris metro and RER by finding the shortest path in a graph using different algorithms: Dijkstra, Bellman, A-Star, etc.



Prerequisites

First semester module in computer science 1 - programming - MT

Test

SESSION 1:

Type of assessment: CC: written tests during certain sessions + BE submissions + project submission(s)
Possible remotely: yes
Comments:

RETAKE SESSION:
Types of assessment: postponement of CC session 1

Type of assessment: written exam on paper
Duration: 1 hour 30 minutes
Authorized documents: none
Prohibited documents: any electronic document (on phone, computer, etc.)
Specific materials authorized: none
Calculator: no
Possible remotely: if necessary
Comments:



Additional Information

Course list
Curriculum->Alternance MT->Semester 6