Algorithms and programming - KAIE6M14

  • Number of hours

    • Lectures 14.0
    • Projects -
    • Tutorials 18.0
    • Internship -
    • Laboratory works 28.0
    • Written tests 6.0

    ECTS

    ECTS 0.7

Goal(s)

This course introduces advanced concepts of imperative programming and C programming language. It provides tools for modeling complex algorithmic problems and designing effective solutions.

At the end of this course, students will be able to :

  • Handle text and binary files
  • Understand the basics of pointers and memory management
  • Manage I/O operations and use the command line arguments
  • Estimates algorithms performance: time complexity or worst-case cost
  • Design and write recursive algorithms
  • Handle complex C language data structures

Content(s)

1. Pointers, dynamic memory allocation, Makefile and files
2. Recursion: subroutines, execution context and execution stack, divide-and-conquer paradigm
3. Sorting algorithms and their complexity: selection, insertion, bubble, merge-sort, quick-sort
4. Elementary data structures: list, set, stack, queue
5. Linked lists data structures
6. Trees: binary trees, binary search trees

Prerequisites

  • Introduction to programming course (IESE3)
  • Fundamentals of compilation process in C language
  • Proficiency in Linux programming environment

Test

100% final exam:

  • 50% written exam
  • 50% practical exam

Final exam conditions:

  • Written exam :
    • 1 handwritten sheet A4 recto/verso authorized
    • PC, laptop, calculator, mobile phone and smartwatch forbidden
    • Third time: adapted subject
  • Practical exam :
    • 1 computer test - 3h
    • Course material and practice codes authorized
    • Calculator, personal computer, mobile phone and smartwatch forbidden
    • Third time: adapted subject

Calendar

The course exists in the following branches:

  • Curriculum - IESE - Semester 6

Additional Information

Course ID : KAIE6M14
Course language(s): FR

You can find this course among all other courses.

Bibliography

  • "Types de données et Algorithmes" par Christine Froidevaux, Marie-Claude Gaudel et Michèle Soria
  • "Le langage C - Norme ANSI" par Brian W. Kernighan et Dennis M. Ritchie