Programmation C
XXX
<p>L'activité <i>« E301B Programmation C »</i>, destinée aux étudiants en
troisième année de bachelier en sciences industrielles, orientation
électronique et informatique à
l'<a href="https://www.vinci.be/fr-be/ecam">ECAM Brussels Engineering
School</a> (ECAM), concerne la <b>programmation C</b>. En plus d'apprendre
le langage, ce cours présente comment les données sont représentées en
mémoire, la structure en mémoire d'un programme et quelques éléments de
base de programmation système.</p>
<p>J'ai commencé à donner ce cours en 2017 et je suis actuellement en train
de le donner pour la troisième fois. Le cours est donné en anglais, mais
tout le matériel est disponible en français et
<a href="/teaching/ecam/c/">en anglais</a>.</p>
<h2>Documents</h2>
<ul>
<li>Informations générales sur le cours</li>
<li>
<a href="/files/ecam/general/ECAM-Evaluation-Par-Competence-Slides.pdf">
Évaluation par les compétences <img src="/images/pdf.png" width="16"
height="16" alt="PDF"></a></li>
<li>Grille de compétences à acquérir</li>
</ul>
<h2>Théorie</h2>
<ul>
<li>Séance 1 : Introduction à la programmation C</li>
<li>Séance 2 : Représentation des données en mémoire</li>
<li>Séance 3 : Structure de la mémoire et manipulation de pointeurs</li>
<li>Séance 4 : Structure d'un programme et librairie standard</li>
<li>Séance 5 : Structurer les données</li>
<li>Séance 6 : Lecture et écriture de fichiers</li>
</ul>
<h2>Pratique</h2>
<ul>
<li>Travail : Réalisation d'un jeu en mode console avec C</li>
</ul>
<h2>Ressources</h2>
<h3>Livre officiel</h3>
<ul>
<li>Sébastien Combéfis. (à paraitre). Bases de la programmation et
découverte du langage C. UKO Publication.</li>
</ul>
<h3>Livres de référence</h3>
<ul>
<li>Brian W. Kernighan. (1988). The C Programming Language (2ème
édition). Prentice Hall. <small>(ISBN : 978-0-131-10362-7)</small></li>
<li>Peter Fenwick. (2018). Introduction to Computer Data Representation.
Bentham Science Publishers. <small>(ISBN : 978-1-608-05883-9)</small></li>
</ul>
<h3>Autres livres</h3>
<ul>
<li>Mark Siegesmund. (2014). Embedded C Programming: Techniques and
Applications of C and PIC MCUS. Newnes.
<small>(ISBN : 978-0-128-01314-4)</small></li>
<li>Steve Oualline. (1997). Practical C Programming (3ème édition).
O'Reilly. <small>(ISBN : 978-1-565-92306-5)</small></li>
<li>Stephen G. Kochan. (2014). Programming in C (4ème édition).
Addison-Wesley. <small>(ISBN : 978-0-321-77641-9)</small></li>
</ul>
<h3>Références scientifiques</h3>
<ul>
<li>D. M. Ritchie, S. C. Johnson, M. E. Lesk et B. W. Kernighan. UNIX
Time-Sharing System: The C Programming Language. Dans <i>The Bell System
Technical Journal</i>, 57(6):1991-2019, 1978.</li>
<li>David Goldberg. What Every Computer Scientist Should Know About
Floating-Point Arithmetic. Dans <i>ACM Computing Surveys</i> (CSUR), 23(1):5-48, 1991.</li>
</ul>
<h3>Ressources en ligne</h3>
<ul>
<li><a href="http://www.cplusplus.com/reference/clibrary/">C Library
Reference</a>, The C++ Resources Network, 2019.</li>
<li>
<a href="https://www.h-schmidt.net/FloatConverter/IEEE754.html">IEEE-754
Floating Point Converter</a>.</li>
<li><a href="https://www.onlinegdb.com/online_c_compiler">Online C
Compiler</a>, Mritunjay Singh Sengar.</li>
</ul>