Égalité des genres

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 c¿ur 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.

Programmation orientée objet

La programmation orientée objet est un paradigme de conception selon lequel les données sous forme d'attributs et de méthodes sont encapsulées dans des objets. L'un des nouveaux concepts les plus importants présentés dans ce programme d'études est l'acquisition d'expérience en matière d'organisation de l'information dans des objets qui peuvent interagir les uns avec les autres.

Projet Final de codage

Le projet final de codage présente des aspects multiples et sert d'expérience ultime aux élèves qui suivent le cours Informatique 30. Il est préférable que ce projet se fasse en autonomie. Le projet devra couvrir la démarche de développement tout entière, de la conceptualisation à la livraison du produit final. L'ampleur du projet devra refléter le temps qui y aura été consacré. Les élèves pourront choisir de se servir de techniques de gestion de projet, mais la gestion de projet n'est pas un résultat d'apprentissage du présent programme.