Info 111 «Programmation Impérative»

Vous trouverez sur ce site des notes de cours et autres informations à propos du module Programmation Impérative du portail de Licence 1 Mathématique Informatique et des Licences Doubles diplômes adossées à la Faculté des Sciences d’Orsay, Université Paris-Saclay. Avec le cours compagnon Introduction à l’Informatique, il fait suite au module Info 111, Introduction à l’informatique du premier semestre du précédent portail Math-Physique-Informatique.

Avertissement

5 septembre 2021: ce site est en cours de refonte en profondeur; de nombreux liens sont probablement cassés. Cela va s’améliorer dans les semaines qui viennent.

Objectifs pédagogiques

  • Donner un aperçu de ce qu’est l’informatique, en tant que science. Voir l’excellente conférence de François Élie, à lire ou écouter … et méditer …: Quelle école pour la société de l’information?

  • Concrètement, aborder les bases de la programmation impérative (variables, conditionnelles, boucles, fonctions, tests, documentation, tableaux, programmation modulaire).

  • Nourrir les étudiants qui programment depuis des années, tout en soutenant pas à pas ceux qui découvrent cette matière.

  • Donner des bases solides à tous, car tous seront amenés a côtoyer l’informatique sous une forme ou une autre, qu’ils se destinent à une carrière d’informaticien ou qu’ils aient besoin de traiter des informations ou automatiser des tâches dans leur métier.

Règles

  • Les retardataires ne sont pas admis en amphi. Dura lex, sed lex.

  • En arrivant en TD, le cours est considéré comme appris. En particulier vous devez être capables de reproduire précisément les points clefs (ex.: syntaxe et la sémantique des instructions).

  • D’une semaine sur l’autre, les exercices de TD et TP (non marqués d’un trèfle) sont considérés comme faits et maîtrisés. Ce dernier point nécessite quelques heures de travail par semaine en dehors des séances de TD et TP; pour travailler sur ces derniers, voir comment accéder aux logiciels et au matériel pédagogique.

  • Documents autorisés au partiel et à l’examen: la fiche de résumé de syntaxe C++ (cf. feuille 3 du TD2), avec au dos toutes les notes personnelles manuscrites que vous souhaitez. Pour les étudiants inscrit en Français Langue Étrangère: un dictionnaire papier.

Recommandations pour travailler efficacement

  • Parcourir à l’avance les notes de l’amphi à venir.

  • Venir systématiquement en amphi, être actif, prendre des notes.

  • Relire systématiquement les notes d’amphi le soir même.

  • Venir systématiquement en TD / TP, être actif, finir le maximum d’exercices pour en avoir moins à faire à la maison.

Pour s’amuser, et aller plus loin

  • Coding Game propose de très nombreux exercices de tous niveaux en français sous la forme de jeux vidéos dans de nombreux langages de programmation (incluant C++, python, …). Sont proposés régulièrement des défis à l’ensemble de la communauté, souvent sponsorisés par des grands groupes informatiques. Très ludique et très pédagogique, c’est pour tout le monde.

  • Code combat Vous avez aimé laby? Le même principe mais cette fois vous êtes un aventurier en quête de donjons et de trésors…

  • France IOI: Cours en ligne de programmation et d’algorithmique en Français et nombreux langages de programmation. Cette association propose aussi de participer à de nombreux concours.

  • Untrusted Un petit jeu dans lequel pour gagner, vous devez tricher! En anglais et en Javascript (ressemble beaucoup au C++).

  • Google Code Jam sont des défis de programmation proposés par Google quelque fois l’an. Si vous ne vous sentez pas de vous jeter à l’eau directement (mais on vous y encourage), vous pouvez toujours vous entrainer sur les annales qui sont fournies. Les problèmes sont donnés avec un temps de recherche qui est celui accordé au participant, souvent entre 1 et 3 heures. Ce sont en général des problèmes algorithmiques classiques qui nécessitent une certaine aisance: plus pour les étudiants à l’aise vers la fin du semestre. (En anglais)

  • Core War est un très vieux jeu (1984) qui se joue à plusieurs. Chacun programme un processus dans un petit bout de mémoire, l’objectif est de rester le dernier en vie… Pour les amoureux de jeux rétros, de langage machine et de lunettes à double foyer.

  • Vous aimez les défis et les longues suites de chiffres. Vous aimez rentrer dans le fond des choses et donner des réponses élégantes à des problèmes complexes… Ne cherchez pas plus loin, projet Euler est fait pour vous! Pour les étudiants expérimentés qui n’ont pas peur de vouloir progresser. (En anglais)

  • Game Shell Un jeux pour apprendre le shell.

Informations pratiques

À propos des documents

Les documents de ce cours sont distribuées sous licence libre Creative Commons Paternité – Partage dans les mêmes conditions 3.0 France (CC BY-SA 3.0 FR). L’auteur principal en est Nicolas M. Thiéry. Les chargés de TD ont contribué fortement aux sujets de TD, TP, et projet: Rachid Gherbi, Simon Clavière, Weijia Wang, Vincent Berthier, Weiya Chen, Adrien Chan-Hon-Tong, Ignace Kangni Kueviakoe, Hui Ding, Aladin Virmaux, Asma Gharsallaoui, Viviane Pons, Adeline Pierrot, Jean-Baptiste Priez, Ataulfo Anton, Herilalaina Rakotoarison, Fabrice Lebeau, Hayet Brabra, Abdallah Benzine, Sara Meftah, Oumaima El Joubari, Alba Málaga, Teo Sanchez, Hugo Mlodecki, Sabine Marduel, Robin Pelle, Abbass Madi, Houssem E. Hachmaoui, Virgile Robles, Abdallah Benzine, Balthazar Charles, Jouhayna Harmouch, …

De nombreuses illustrations sont reprises de Wikipedia.

Les sources sont disponibles sur notre dépôt git public, sauf les sujets de projet et d’examen qui sont sur un dépôt privé. Contactez-moi si vous souhaitez y accéder pour les reprendre pour d’autres cours.

Valid HTML 4.0!{width= »88 » height= »31 »}