Traditionnellement, le taux de participation des garçons aux cours d'informatique est plus élevé que celui des filles. Une explication possible de cet écart est le fait que les filles ont l'impression de ne pas être à leur place dans ce domaine (Master, Cheryan & Metzloff, 2016). Pour augmenter le taux de participation des filles, on suggère entre autres de leur faire découvrir des modèles féminins, leur expliquer comment une carrière en informatique peut les aider à changer le monde, rendre le sujet intéressant pour elles, et les encourager à étudier des solutions qui peuvent contribuer de façon significative à la société.
Programmation en collaboration
La nature du travail dans l'industrie de la programmation est telle qu'il est très rare qu'un programmeur travaille seul sur un projet. Dans les cours Informatique 20 et Informatique 30, on tente d'aborder cette situation en faisant travailler les élèves en binômes dans Informatique 20 et par équipe de projet dans Informatique 30. Les habiletés ainsi acquises et l'occasion d'apprendre que la programmation en collaboration offre aux élèves justifient qu'il vaille la peine d'organiser le travail en groupe dans la classe. Par exemple, dans une classe à années multiples Informatique 20 et Informatique 30, on peut profiter des habiletés des élèves d'Informatique 30 pour accompagner les élèves d'Informatique 20 et leur permettre d'apprendre plus vite. Le projet Capstone en Informatique 30 exige que l'enseignant gère le projet, par exemple à l'aide de graphiques de Gantt, de graphiques de cheminement critique ou de graphiques PERT pour montrer les tâches et les jalons atteints. Le rôle du gestionnaire de projet est de contrôler les contraintes de temps et de portée en vue d'assurer l'achèvement du projet.
Code élégance
Un code élégant doit être simple et facile à comprendre. Comme le dit Saint-Exupéry, «la perfection est atteinte non pas lorsqu'il n'y a plus rien à ajouter, mais lorsqu'il n'y a plus rien à retirer.» Développer un algorithme qui simplifie le code le rend souvent plus efficace. L'élégance d'un code dépend d'une analyse approfondie du problème et de la création d'un algorithme. Dans l'idéal, on obtient alors un code lisible et le plus réduit possible.
Principes et techniques fondamentaux
Les techniques et principes fondamentaux doivent être discutés et implantés pendant tout le cours. La résolution de problèmes est au coeur même de l'informatique. La capacité de comprendre à fond la nature d'un problème et d'élaborer une série d'instructions qui le résolvent est une habileté de programmation fondamentale. En outre, les élèves vont coder des programmes pendant tout le cours et on s'attend à ce qu'ils respectent les conventions de codage pour écrire du code bien organisé et facile à comprendre.
Conventions relatives aux codes dans le présent document
Nous nous sommes efforcés d'utiliser les opérateurs et la syntaxe les plus courants et les plus génériques dans le présent document, mais ceux-ci varient d'un langage de programmation à un autre. Par exemple l'opérateur relationnel « n'est pas égal à » peut être représenté par != dans certains langages ou par <> dans d'autres.