Computer programming (CSE101) introduces students (with or without previous programming experience) to the fundamentals of computer programming in Python, with applications across the sciences. In this course, students will explore fundamental algorithms and data structures, up to and including binary trees, using a mixture  of procedural, recursive, and object-oriented techniques. Upon completion of this course, students will have a solid foundation in the culture and practice of modern programming, and the basic skills to solve real-world problems using efficient, well-written programs and open-source tools. These foundations will be extended  and completed in CSE 102 and CSE 103.

These foundations will be extended and completed in CSE102 and CSE103.

Computer Programming (CSC_1S002_EP / CSE102) est la suite du cours du semestre précédent (CSC_1S001_EP / CSE101). Nous continuerons à poser les bases de l'informatique moderne, tout en développant des techniques de programmation plus sophistiquées en Python. À la fin de ce cours, les étudiants auront acquis les compétences fondamentales en analyse et en programmation leur permettant de résoudre plus efficacement et plus pertinemment des problèmes courants dans les sciences. Ils seront également préparés à apprendre d'autres langages et paradigmes de programmation, ainsi que les fondements théoriques de l'informatique.

Un algorithme est une séquence d'instructions qui nous permet de résoudre un problème en un nombre fini d'étapes. En tant que tels, les algorithmes sont les procédures que nous utilisons pour « calculer ». Nous étudions les algorithmes pour savoir ce qui peut réellement être calculé, en théorie et en pratique, et pour découvrir l'efficacité avec laquelle cela peut être fait.

Introduction aux algorithmes (CSC_S1003_EP) est une initiation à l'art et à la science des algorithmes. Ce cours apprendra aux étudiants à réfléchir sur les algorithmes, à résoudre un large éventail de problèmes au moyen d'un certain nombre de techniques algorithmiques, à comparer rigoureusement différents algorithmes et à prédire leurs performances, ainsi qu'à prouver formellement qu'un programme implémentant un algorithme est correct.

Web Programming (CSC_1S004) introduit les langages, outils et techniques spécifiques au développement d'applications web. Les étudiants acquerront une compréhension solide des subtilités du développement de sites web dynamiques et modernes, ainsi qu’un aperçu du fonctionnement interne du web. Il s’agit d’un cours pratique qui offre aux étudiants une expérience précieuse dans la création de leurs propres applications web.

Sujets abordés :

  • HTML5, CSS3

  • JavaScript (côté client)

  • Introduction à la programmation côté serveur : PHP, JS (NodeJS), bases de données

Organisation générale :

Le cours consistera principalement en des séances pratiques en salle informatique. Un petit projet sera réalisé, dans lequel les étudiants développeront leur propre site web (uniquement côté client) en suivant les bonnes pratiques actuelles.