Passer au contenu principal

Résumé de section

  • 1. Objectifs du cours

    Une introduction à la résolution de problèmes, aux algorithmes et à la programmation structurée utilisant un langage de programmation de plus haut niveau. Le cours se concentrera sur les compétences pour développer des algorithmes, et pour écrire et déboguer des programmes. Les élèves apprendront comment et quand utiliser des boucles, des conditionnels et des abstractions fonctionnelles dans le contexte de problèmes motivés par des applications du monde réel. 

    À l'issue de ce cours :

    • Vous comprendrez que l'informatique est fortement axée sur le développement d'applications logicielles.

    • Vous aurez de meilleures compétences en résolution de problèmes.

    • Vous saurez comment développer des solutions algorithmiques pour des problèmes informatiques de base.

    • Vous comprendrez les structures de programmation fondamentales telles que les expressions, les affectations, les structures de décision et d’itération, les fonctions et les modules.

    • Vous aurez des compétences de base en programmation Python.

    • Vous serez préparé pour le deuxième cours de la séquence CSC 242 : Introduction à l'informatique II.

    2. Concepts technologiques couverts par le cours

    • Types de données Python fondamentaux (Chapitre 2)

    • Structures de contrôle d'exécution de base, fonctions (Chapitre 3)

    • Entrées / sorties, fichiers et exceptions (chapitre 4)

    • Structures de contrôle d'exécution I (Chapitre 5)

    • Structures de contrôle de l'exécution II (chapitre 5)

    • Structures de contrôle de l'exécution III (chapitre 5) 

    • Développement d'algorithme

    • Plus de types de données de collection (chapitre 6)

    • Espaces de noms (chapitre 7)

    • Développement d'algorithme

    3. Prérequis

    CONDITION PRÉALABLE (S): MAT 130 ou test de mathématiques dans MAT 140.

  • LO1. Concevoir des algorithmes pour résoudre des problèmes informatiques

    LO2. Analyser un problème et le décomposer en étapes logiques.

    LO3. Utiliser des structures de contrôle (boucles for/while, conditionnelles if/else) pour implémenter des solutions.

    LO4. Développer des programmes Python structurés et modulaires

    LO5. Écrire du code propre et documenté en utilisant les types de données de base (listes, tuples, dictionnaires).

    LO6. Implémenter des fonctions réutilisables et des modules pour organiser le code.

    LO7. Gérer les entrées/sorties et les erreurs

    LO8. Lire et écrire des fichiers texte (open(), read(), write()).

    LO9. Utiliser les mécanismes de gestion d’exceptions (try/except) pour améliorer la robustesse des programmes.

    LO10. Appliquer des concepts avancés de programmation

    LO11. Manipuler des espaces de noms et des portées de variables.

    LO12. Utiliser des bibliothèques standard (math, random) pour étendre les fonctionnalités.

  • À l’issue de ce cours, l’apprenant sera capable de :

     Concevoir des algorithmes pour résoudre des problèmes informatiques

    - L’apprenant produit un algorithme pour trier une liste de nombres.

    - Il résout un problème de recherche binaire avec des commentaires explicatifs.

     Développer des programmes Python structurés et modulaires

    - Il écrit un programme utilisant des boucles for et while sans erreurs de syntaxe.

    - Il crée une fonction réutilisable pour calculer la moyenne d’une liste.

    Gérer les entrées/sorties et les erreurs

    - Il lit un fichier CSV et affiche son contenu sous forme de tableau.

    - Il gère une exception lors de la conversion d’une entrée utilisateur en nombre.

    Appliquer des concepts avancés de programmation

    - Il utilise le module random pour simuler un lancer de dé.

    - Il organise son code en modules (un fichier par fonctionnalité).