Learning outcomes

At the end of this course, the student will be capable of carrying out the analysis of a particular problem and implement a solution to it in C. In order to achieve this, -he will determine the appropriate data structures. -Accordingly, he will decide which methods need to be implemented. -Finally, he will explain in a clear way his procedure of analysis and the usage of his program in the documentation

Goals

The objective of this course is to deepen the student's understanding of basic imperative programming.

Content

This lecture aims at : -recalling data structures such as o Records, arrays, linked lists, -additionally introducing new ones such as o Stacks, queues, hash tables, and binary trees -presenting classical sorting procedures -illustrating these concepts using complete Pascal implementations -identifying compilation errors, as well as runtime or logical errors

Teaching methods

The course will be delivered by lectures through different concepts. The approach is as follows: -the problem that needs to be analyzed will be given. -From this analysis, the adopted data structures are determined. -Furthermore, the working steps that need to be addressed are proposed. -For each step the instructions to implement are presented. Then, an algorithm is implemented in Pascal and executed. This implementation serves to -highlight the language syntax, -verify the termination conditions. Afterwards, it will be suggested to make some changes to the code in order to -primarily deepen discussions on the subject, -experimentally test the knowledge, -develop a self-critical view of one's analysis. The lecture is performed with exercises during which the student is encouraged to analyze new problems with the help of the teacher.

Assessment method

The assessment consists of two stages. At first, the student prepares, either alone or in pairs, the analysis and implementation of different problems given during the year. Interested students will then have the opportunity to receive a first correction in order to improve the final version that will be evaluated. 

Sources, references and any support material

T.H. Cormen, C.E. Leiserson, R.L. Rivest, C.Stein. Introduction à l'algorthimique, 2ème édition. Dunod, 2004.

Language of instruction

French
Training Study programme Block Credits Mandatory
Bachelor in Computer Science (shift schedule) Standard 0 10
Bachelor in Computer Science (shift schedule) Standard 1 10