Passer au contenu principal

Résumé de section

  • 1. Description et objectifs du cours

    Un cours intermédiaire en résolution de problèmes, algorithmes et programmation en Python. Les compétences en programmation sont renforcées par des tâches de programmation plus complexes et plus vastes dans le cours CSC 241. 

    Les affectations serviront également à présenter différents domaines d’informatique (par exemple, une application client / serveur pour le domaine des systèmes distribués). Les classes et la programmation orientée objet sont motivées et introduites.  

    Après avoir suivi ce cours :

    • Vous renforcerez vos compétences en programmation Python
    • Vous saurez concevoir des classes et comprendrez les principes fondamentaux de la programmation orientée objet
    • Vous serez capable de concevoir des interfaces utilisateur graphiques de base
    • Vous serez en mesure d'appliquer la récursivité comme technique de résolution de problèmes et de programmation
    • Vous serez capable d'écrire des programmes clients/serveurs Internet simples
    • Vous aurez une compréhension de base des API de base de données

    2. Prérequis

    Conditions préalables : CSC 241

  • À l'issue de ce cours, les étudiants seront capables de :

    LO1. Maîtriser les structures de programmation orientée objet (classes, objets, héritage, encapsulation) en Python.

    LO2. Concevoir des interfaces utilisateur graphiques de base en Python.

    LO3. Appliquer la récursivité pour résoudre des problèmes algorithmique.

    LO4. Écrire des programmes clients/serveurs simples (ex. : socket, protocole HTTP).

    LO5. Manipuler des bases de données simples en Python via une API.

    LO6. Résoudre des problèmes complexes à l'aide d’algorithmes avancés et structurer le code de manière professionnelle.

  • Les critères suivants permettent d’évaluer chaque résultat d’apprentissage de manière rigoureuse.

    Pour LO1

    • Identifier et concevoir correctement des classes et objets en Python.
    • Appliquer l'encapsulation, l’héritage et le polymorphisme dans les programmes.

    Pour LO2

    • Créer une interface graphique simple (fenêtres, boutons, événements).
    • Manipuler les bibliothèques graphiques (ex. : tkinter).

    Pour LO3

    • Identifier les cas d’usage pertinents de la récursivité.
    • Implémenter correctement des algorithmes récursifs simples à modérés.

    Pour LO4

    • Créer des applications clients/serveurs simples (connexion, échange de messages).
    • Expliquer les principes de base du protocole de communication utilisé.

    Pour LO5

    • Créer, lire, modifier et supprimer des données dans une base de données depuis Python.
    • Utiliser une API de type SQLite ou équivalente.

    Pour LO6

    • Résoudre des problèmes de programmation intermédiaires à avancés.
    • Produire un code lisible, structuré, commenté, modulaire et réutilisable.

     

    Instruments d’évaluation suggérés

    • Devoirs hebdomadaires (70%) : exercices de programmation progressive (POO, récursivité, GUI, client/serveur, BDD).
    • Mini-projet (30%) : création d’une application intégrant plusieurs aspects du cours (POO, GUI, manipulation de données, etc.).

     

  • Using operators and constructors and object-oriented programming 

  • Object-Oriented Programming

  • Object-oriented programming

  • Object-oriented programming

    Graphical user interface development

  • Graphical user interface development

  • EXAMEN A MI PARCOURS

    Recursion

  • Recursion

  • Recursion

    The basics of HTML and web search fundamentals

  • Web search fundamentals

  • Web search fundamentals

  • Python versus C++/Java

  • EXAMEN FINAL