2017-2018 / INFO2009-2

Introduction à l'informatique

Durée

24h Th, 14h Pr, 8h Labo.

Nombre de crédits

 Bachelier en sciences de l'ingénieur, orientation ingénieur civil4 crédits 
 Master : ingénieur civil en science des données, à finalité4 crédits 

Enseignant

Benoît Donnet

Langue(s) de l'unité d'enseignement

Langue française

Organisation et évaluation

Enseignement au premier quadrimestre, examen en janvier

Unités d'enseignement prérequises et corequises

Les unités prérequises ou corequises sont présentées au sein de chaque programme

Contenus de l'unité d'enseignement

Le cours alterne entre les aspects propres au langage C et les aspects algorithmiques. Les thèmes abordés sont les suivants: syntaxe et sémantique de base du langage C, algorithmes simples (parcours linéaire d'un tableau, opération mathématique cumulative, recherche dichotomique, introduction aux problèmes de tri), découpe en sous-problèmes, introduction à la méthodologie de développement (analyse du problème, invariant), structure de données de base (enregistrement, tableau, chaîne de caractères, fichiers), modularité d'un programme (fonction/procédure, variable globale), documentation du code par spécifications (programmation défensive), pointeurs et structures de données dynamiques. La structure du cours est la suivante:

  • Introduction
  • Chapitre 1: Bloc, Variable, Instruction Simple
  • Chapitre 2: Structures de Contrôle
  • Chapitre 3: Méthodologie de Développement
  • Chapitre 4: Structures de Données
  • Chapitre 5: Modularité du Code
  • Chapitre 6: Les Pointeurs

Acquis d'apprentissage (objectifs d'apprentissage) de l'unité d'enseignement

L'objectif de ce cours est d'introduire, auprès des étudiants, les principes de base de l'informatique et, en particulier, les principes de base de la programmation.
La conception d'un algorithme correct et efficace sera mise en avant, en particulier dans le cadre d'une méthodologie stricte. A savoir, découpe d'un problème d'une certaine taille en sous-problèmes plus simples à résoudre, construction par invariant et documentation du code à l'aide de spécifications. Le langage de programmation étudié est le C.
A la fin du cours, l'étudiant devra être capable d'analyser un problème de taille moyenne, de proposer des structures de données, de découper le problème en sous-problèmes et de résoudre, en C, chaque problème de manière efficace en adoptant une démarche méthodologique stricte.

Savoirs et compétences prérequis

Aucun pré-réquis en informatique ou programmation. Néanmoins, le cours suppose une bonne connaissance du français (parlé et écrit).

Activités d'apprentissage prévues et méthodes d'enseignement

En plus du cours théorique, des séances d'exercices (i.e., séance de répétitions) sur papier sont organisées de manière presque hebdomadaire. Chaque séance d'exercices dure 2h. Chaque étudiant disposera de 8 séances d'exercices durant le quadrimestre. Les séances d'exercices sont obligatoires.  Les étudiants doivent préparer un certain nombre d'exercices, à la maison, avant chaque séance de répétition.
En outre, des séances (obligatoires) de laboratoire (i.e., exercices sur machine dans le laboratoire d'algorithmique) de 2h sont aussi organisées durant le quadrimestre. Chaque étudiant disposera de 4 séances de laboratoire.
Les séances d'exercices (répétitions et labos) se font par groupe de +/- 50 étudiants.  La répartition en groupe est communiquée aux étudiants en début d'année académique (typiquement vers la fin septembre).

Mode d'enseignement (présentiel ; enseignement à distance)

Le cours théorique se donne au 1er quadrimestre, en présentiel.
Le cours théorique se construit autour d'exemples et de petits exercices. L'auditoire est amené à participer activement au cours
Les étudiants sont aussi amenés à prendre des notes complémentaires (les notes de cours ne sont pas auto-suffisantes).

Lectures recommandées ou obligatoires et notes de cours

Les notes du cours sont composées essentiellement de transparents (slides). Une version imprimée des slides (2/page) est disponible, dès la rentrée, à la Centrale des Cours. Une version électronique des slides (PDF) est aussi disponible sur la page web du cours. Les étudiants sont supposés disposer au plus vite d'une version des slides. Un syllabus d'exercices est disponible auprès de la Centrale des Cours. Une version électronique (PDF) est aussi disponible sur la page web du cours. Chaque étudiant est supposé disposer du syllabus d'exercices dès la première séance de répétitions ou de laboratoire. Aucun livre n'est obligatoire dans ce cours. Cependant, l'étudiant désireux de disposer d'un support écrit additionnel peut se référer aux ouvrages suivants (ils ont servi pour l'élaboration du cours):

  • Claude Delannoy. "Programmer en Langage C". Editions Eyrolles. 2010 (5ème édition)
  • Rémy Malgouyres, Rita Zrour, Fabien Feschet. "Initiation à l'Algorithmique et à la Programmation en C". Editions Dunod. 2011 (2ème édition).
  • Yves Granjon. "Algorithmes en Pascale et en Langage C". Editions Dunod. 2004 (2ème édition).

Modalités d'évaluation et critères

Les étudiants sont évalués de trois façons:

  • Une interrogation écrite a lieu à la mi-quadrimestre (aux alentours de la Toussaint). Typiquement, l'interrogation porte sur l'Introduction et les chapitres 1 à 4 du cours (la matière sur laquelle porte l'interrogation  pourra être revue en fonction de la matière qui aura été abordée au cours). Cette interrogation est obligatoire  et dure 2h. La note de l'interrogation intervient pour 10% dans la note finale (i.e., 2/20) de janvier.  En cas d'absence à l'interrogation, un certificat médical doit être introduit au plus tard 2 jours après l'interrogation. Dans le cas contraire, l'étudiant se verra attribuer une note nulle.
  • QCMs. Afin de nous assurer que chaque étudiant travaille un minimum au jour le jour, 5 séances de répétition commenceront par une rapide interrogation (10 min) sous la forme d'un Questionnaire à Choix Multiples (QCMs). L'objectif d'un tel QCM est de s'assurer que l'étudiant a revu son cours avant d'aborder la séance de répétition. L'ensemble des QCMs intervient pour 10% dans la note finale (i.e., 2/20) de janvier.  Les dates des QCMs sont données en début de quadrimestre.  En cas d'absence à un QCM, un certificat médical doit être introduit au plus tard 2 jours après le QCM. Dans le cas contraire, l'étudiant se verra attribuer une note nulle pour ce QCM.
  • Examen. L'examen est écrit et, bien entendu, obligatoire. Il aura lieu en janvier. Il se fait à cours fermé et dure, généralement, 4 heures. La note de l'examen intervient pour 80% de la note finale (i.e., 16/20) de janvier
En cas de seconde session, les notes de l'interrogation et/ou des QCMs interviendront dans la note finale uniquement si elles sont à l'avantage de l'étudiant.

Stage(s)

Remarques organisationnelles

Le cours se donne au 1er quadrimestre.
Les cours théoriques et les répétitions ont lieu le mardi après-midi.
Les 4 séances de laboratoire ont lieu (en fonction des groupes) le lundi après-midi, le mercredi après-midi et le vendredi après-midi.
L'agenda détaillé du cours est donné sur la page Web du cours.

Contacts

Professeur: Benoit Donnet (email(benoit.donnet@ulg.ac.be) -- Bureau 1.15 (B28) Assistants: )

Notes en ligne

Site Web du Cours
Le site Web du cours est important car il regroupe les notes de cours, l'agenda détaillé, les diverses corrections et les informations de contact.