Informations générales
Number of hours
- Lectures 14.0
- Projects -
- Tutorials 18.0
- Internship -
- Laboratory works 28.0
- Written tests 5.0
ECTSECTS
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
- Introduction to programming course (IESE3)
- Fundamentals of compilation process in C language
- Proficiency in Linux programming environment
Calendar
The course exists in the following branches:
- Curriculum - IESE - Semester 6
Additional Information
Course ID : KAIE6M14
Course language(s): 
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