Learning outcomes

At the end of this course, the student will master the C language and will be able to

  •     build complex programs requiring to master advanced algorithms and programming mechanisms
  •     to design a software architecture, based on different components
  •     to specify these components
  •     to conceive algorithms from the specifications
  •    to  derive effecient programs from the algorithms.


It should be noted that although the course uses the C language, the vast majority of the learning outcomes apply to any imperative language.

Moreover, during the course, the student will be made aware of the parsimonious use of computer resources, whether in terms of computing time, memory size, code size, software use or even in software maintenance costs, and, as a result, will be made aware of sustainable development in an IT context.



 

Goals

Complete the study of imperative languages, started in the course SINF B102, and learn a rigorous method of constructing programs.

Content

(i) The software crisis (ii) Specification (iii) Algorithms: proof techniques and contruction heuristics (iv) Programs: tests, study of C and of advanced imperative topics

Assessment method

Projects to be delivered during the semester and exam. The student has to succeed on both parts.

Moreover, as projects demand a high implication of the student during the whole semester, only those projects of a reasonable quality (judged by a mark of more than 7/20) are allowed to be represented in second session.

 

Language of instruction

Français
Training Study programme Block Credits Mandatory
Bachelor in Computer Science Standard 0 5
Bachelor in Computer Science Standard 2 5