Acquis d'apprentissage

A l'issue du cours, l'étudiant doit être capable de résoudre des problèmes simples à l'aide d'algorithmes adaptés et de traduire ceux-ci en langage de programmation (Python).  Plus particulièrement, avec la créativité et la rigueur nécessaires, il sera capable de

  • manipuler des variables et des valeurs ;
  • abstraire du code à l'aide de fonctions ;
  • écrire une spécification de fonction et documenter son code ;
  • concevoir des structures conditionelles et les conditions associées ;
  • utiliser des boucles for/while et choisir entre ces deux constructions ;
  • choisir et manipuler une structure de données adaptée au problème ;
  • créer, utiliser et manipuler des fichiers, notamment avec Pickle ;
  • écrire un algorithme simple (minimum, tri, etc.) et caractériser sa complexité ;
  • concevoir un algorithme récursif.


Il doit pouvoir faire preuve d'une compréhension des différents concepts abordés (cf. contenu), c'est-à-dire exprimer avec ses propres mots la théorie et les outils vus au cours et expliquer dans quel contexte ceux-ci sont utiles.  Une maîtrise du langage Python est également attendue.  L'étudiant sera capable de comprendre du code, de le critiquer et d'y apporter les corrections nécessaires.

Contenu

Le but du cours est d'introduire l'étudiant à la programmation, afin qu'il puisse résoudre des problèmes simples à l'aide d'algorithmes adaptés. Les concepts suivants seront progressivement introduits : variables, valeurs, structures conditionelles, fonctions, spécification, boucles for/while, structures de données simples, fichiers, bases d'algorithmique (recherche de minimum, tric, complexité, etc.) et récursion.  Une attention particulière sera donnée à l'utilisation adéquate de chaque concept et à leur illustration à l'aide d'exemples. L'étudiant aura l'ocassion de développer sa créativité et sa rigueur au travers de séances d'exercices. Le cours et les séances d'exercices seront également l'occasion pour l'étudiant de découvrir le langage Python.

Exercices

Les étudiants auront l'occasion de mettre en pratique les connaissances vues au cours théoriques pendant des séances d'exercices.  Une partie des exercices sera réalisée sur papier, tandis que l'autre se fera en pool informatique.  Plusieurs mini-projets seront également réalisés individuellement ou par groupe afin de fixer les connaissances grâce à des énoncés intégrateurs des différentes notions du cours.

Méthode d'évaluation

Le cours est évalué par un examen portant sur la partie théorique (le cours) et la partie pratique (exercices et mini-projets). Les étudiants auront l'occasion de mettre en œuvre les compétences et connaissances du cours pour réaliser des mini-projets durant le quadrimestre.  Ces mini-projets seront effectués en groupe.  Avant chaque mini-projet, chaque étudiant passera un test obligatoire pour évaluer sa maîtrise des compétences mobilisées (variables, conditionnelles, etc.).  En cas de lacunes trop importantes (note proche de 0/20) ou si le test n'est pas complété, l'accès au mini-projet sera impossible et une remédiation sera proposée.  Le reste des étudiants seront répartis en groupes en fonction de leur niveau et se verront offrir une aide adaptée à leur maîtrise de la matière.

Langue d'enseignement

Français
Formation Bloc Crédits Obligatoire
Bachelier en sciences informatiques 1 10 Oui
Bachelier en ingénieur de gestion 1 10 Oui