année académique
2023-2024

Titulaire(s) du cours

Thierry MASSART (Coordonnateur)

Crédits ECTS

5

Langue(s) d'enseignement

français

Contenu du cours

  1. Initiation à la programmation de base avec le langage Python :
    - Notions de valeur, variable, expression, instruction, fonction, exception, classes et objet
  2. Analyse du fonctionnement et de propriétés de codes Python :
    - Notion de diagramme d’état
    - Mécanisme de fonctionnement de codes Python
    - Évaluation de l’efficacité d’un programme (complexité et notion de grand O)
  3. Algorithmique de base
    - Algorithmes de recherche et de tri
    - Algorithmes récursifs
  4. Manipulation simple de structures de données :
    - Vecteur et tableaux à plusieurs dimensions, listes, dictionnaires, ensembles, fichiers, arbres, graphes, …
  5. Résolution de problèmes via des programmes Python
    - Petits problèmes mathématiques
    - Liés à des structures de données
    - Jeux,
    - …
  6. Introduction aux langages de programmation
    - Notions de syntaxe, sémantique, typage, interpréteur, compilateur, runtime, paradigmes  
    - Bref historique

Objectifs (et/ou acquis d'apprentissages spécifiques)

A l’issue de l’enseignement l’étudiant doit être capable de :

  1. démontrer une bonne compréhension des concepts de base de Python ainsi que lire, comprendre, expliquer le fonctionnement et analyser l’efficacité de programmes existants
  2. analyser un problème simple et proposer une solution informatique pour le résoudre et la mettre en œuvre en Python
  3. réaliser des programmes Python corrects et bien structurés
  4. identifier les cas de test pour valider ces programmes
  5. utiliser des outils informatiques de support à la programmation; exploiter la documentation technique
  6. décrire les notions de bases liées au langage (syntaxe, sémantique, type, interpréteur, compilateur, runtime, paradigmes , …)

Pour les cinq premiers objectifs de la liste précédente, il est demandé un apprentissage en profondeur, en étant en particulier capable de concevoir et d’analyser des programmes qui résolvent des problèmes originaux.  Le dernier objectif requiert une compréhension et une capacité d’expliquer les concepts.

Pré-requis et Co-requis

Cours ayant celui-ci comme pré-requis

Méthodes d'enseignement et activités d'apprentissages

L’apprentissage de la programmation Python de base, qui constitue la première partie des quatre premiers objectifs, se fait par apprentissage hybride.  L’élève doit s’inscrire et réaliser le MOOC (Massive Open Online Course) « Apprendre à coder avec Python » sur la plateforme FUN-MOOC.  Ce MOOC est un enseignement complet en ligne d’initiation à la programmation Python. Chaque matière est abordée par l’exemple, formalisée, son application est illustrée et ensuite l’écriture individuelle de codes Python résolvant de petits problèmes, et auto-évalués par notre environnement, est demandée. Un suivi de l’apprentissage de chaque étudiant est réalisé par prise de rapports d’avancement périodiques, demandes de réalisation d'un projet de programmation, ainsi qu’au cours ex-cathedra, séances de séminaires et de travaux pratiques.

L’apprentissage plus en profondeur des premiers objectifs ainsi que des autres objectifs se fait lors des séances de cours ex-cathedra, des séminaires et travaux pratiques. 

L'accent est mis sur le travail autonome.
 

Contribution au profil d'enseignement

Si vous avez suivi avec fruit le cours, vous aurez améliorer les compétences suivantes :

  • L’apprentissage autonome : vous serez dans une dynamique d’apprentissage autonome et permanent dans ce domaine en constante et rapide évolution qu’est l’informatique ; vous pouvez vous adapter tout au long de votre carrière aux technologies nouvelles. Par exemple, vous apprendrez, en vous référant aux manuels.

  • La résolution de problèmes : vous aurez la capacité d’analyser des besoins, de structurer l’information, de concevoir, modéliser et implémenter des solutions pertinentes et efficaces ; de façon plus globale on vous demandera dans les cours d’informatique d’acquérir la “pensée informatique” (“computational thinking”) en étant capable de faire des abstractions adéquates pour un problème, et d’allier la théorie à la pratique avec l’ordinateur comme support;

  • La communication : vous pourrez comprendre les problèmes posés, et expliquer les solutions proposées ; vous pourrez utiliser la communication scientifique et technique (formalismes mathématiques).

Références, bibliographie et lectures recommandées

Support(s) de cours

  • Syllabus
  • Université virtuelle

Autres renseignements

Contacts

M. Thierry MASSART (Campus Plaine, bâtiment NO, 2N8 113) thierry.massart@ulb.be

Campus

Solbosch

Evaluation

Méthode(s) d'évaluation

  • Travail personnel
  • Examen écrit
  • Projet

Travail personnel

Examen écrit

Projet

Examen écrit avec questions ouvertes théoriques et pratiques (programmes à réaliser). Note d'année sur les projets personnels et le suivi au MOOC "Apprendre à coder avec Python"

Construction de la note (en ce compris, la pondération des notes partielles)

  • Note_Annee = Projets d'années (2 points) + Suivi du MOOC (2 points) 

  • Note finale Janvier / Mai / Août  = 4/20 . Note_Annee + 16/20 . Note à l'examen

Langue(s) d'évaluation

  • français

Programmes