< Retour à la liste
Cours suivant >
Description - Contenu
BS21INF2Algorithmique et programmation avancée5 ECTSPDF

L'objectif de ce cours est d'introduire les étudiant·e·s à l'algorithmique, afin de les former à la résolution de problèmes. Les algorithmes avec une utilisation pertinente pour les autres disciplines du cursus seront privilégiés. Parallèlement, les étudiant·e·s compléteront leurs connaissances en programmation avec une introduction à la programmation orientée objet en Python en développant une application interactive avec une approche par projet.


Compétences travaillées

Résolution de problèmes, pensée algorithmique, pratique de la programmation, modélisation


Prérequis

Éléments fondamentaux de la programmation : variables, structures conditionnelles et itératives, fonctions, structures de données (listes, dictionnaires, ensembles)

Connaissances syntaxiques et pratiques liées au langage de programmation Python.


Thèmes et activités-clés

Algorithmes, complexité temporelle, récursivité, utilisation du hasard en algorithmique, classes de complexité des problèmes, méthodes de résolution approximatives, programmation orientée objet, modélisation


Modalités de travail

Les séances de cours seront l'occasion d'introduire les savoirs théoriques en lien avec les thèmes cités précédemment.

Les modalités de travail durant les séances de séminaires pourront alterner entre travaux individuels ou en groupe. Des exercices papier-crayon et des exercices sur ordinateurs permettront de travailler les concepts vus en cours.


Niveaux de maîtrise évalués

Pour la partie algorithmique:

  • Suivre les étapes d'un algorithme et anticiper du résultat obtenu
  • Écrire, en langage naturel, un algorithme vu en cours
  • Déterminer la complexité temporelle d'un algorithme donné
  • Utiliser les techniques vues en cours pour résoudre de nouveaux problèmes

Pour la partie programmation avancée:

  • Maîtriser les concepts de classes, attributs, et méthodes
  • Comprendre et savoir appliquer le concept d'encapsulation, d'héritage, et de polymorphisme.

Évaluation formative

Les séances de séminaire seront l'occasion de recevoir des retours formatifs sur les objectifs visés dans ce module.


Évaluation certificative (pour la session de janvier 2025)Dossier en groupe
Examen écrit sur table

L'examen écrit sur table a pour objectif de vérifier l'acquisition des savoirs théoriques en algorithmique et en programmation orientée objet.

Le dossier en groupe concerne le développement d'un projet utilisant les concepts importants de la programmation orientée objet et sera réalisé en binôme.


Ouvrages de base
  • Beazley, D., & Jones, B. K. (2013). Python cookbook: Recipes for mastering Python 3. " O'Reilly Media, Inc.".
  • Sedgewick, R., & Wayne, K. (2011). Algorithms. Addison-wesley professional.

Formations concernéesBachelor of arts ou Bachelor of science en enseignement pour le degré secondaire 1

SemestreAutomne

HoraireMercredi 14:15 - 15:45
Mercredi 16:15 - 17:45

Organisation du module
BS21INF2-1Algorithmique et programmation avancée - cours2.5 ECTS Cours
BS21INF2-2Algorithmique et programmation avancée- séminaire2.5 ECTS Séminaire

Responsable du moduleWang Patrick, UER MI
patrick.wang@hepl.ch

Cours suivant >