ICS3U

Accueil >

Partie B - Programmation

Légende : 🛠️ 📚
  • 🛠️Compétences en génie informatique

    Savoir-faire en lien avec le génie informatique. Les compétences sont évaluées au moyen de projets concrets.

    Développez ces compétences avec les exercices pratiques dans chaque leçon.

  • 📚 Concepts

    Nouveau concept. Le plus de concepts que vous maîtrisez, le plus que vous alimenter vos compétences pour produire des choses intéressantes. Les concepts sont évalués au moyen de quiz sur papier et d’entrevues.

    Validez votre compréhension avec les mini quiz dans chaque leçon.

Sommaire

Les unités précédentes vous donnent un grand portrait de comment un ordinateur fonctionne, tant du point de vue formel (algorithmes) que du point de vue matériel (circuits) et logiciel (la machine virtuelle).

Cette unité vous donne une première expérience pratique de la programmation, soit du développement de vos propres logiciels. Vous apprendrez un langage de programmation, Java, et vous apprendrez comment utiliser un environnement de développement intégré (EDI) pour unifier plusieurs des logiciels du système nécessaires pour écrire, compiler et exécuter un programme à partir du code source. Vous apprendrez aussi comment partager votre code avec d’autres personnes en utilisant Git et GitHub.

À la fin de cette unité, vous aurez une base suffisante en programmation pour :

  • implémenter n’importe quel algorithme;
  • apprendre n’importe quel autre langage de programmation selon vos besoins et vos intérêts.

Lien avec l’éthique, la société ou les carrières

💭 Quelques pistes de réflexion :

Préparer l’environnement de développement

  1. 🛠️ Installation des outils de travail
  2. 🛠️ Outils d’un environnement de développement intégré (VS Code)
  3. 📚 Les outils Java
  4. 🛠️ Partager le code (Git et GitHub)

Les bases de Java

  1. 📚 Structure d’un projet Java
  2. 🛠️ Communication interne (identifiants et commentaires)
  3. 📚 Afficher des messages à la console - partie 1
  4. 📚 Données (int, double, boolean, char, String)
  5. 📚 Afficher des messages à la console - partie 2
  6. 📚 Utiliser des méthodes
  7. 📚 Importer des classes
  8. 📚 Entrées via la console
  9. 📚 Opérations numériques
  10. 📚 Diagrammes de flux

Décomposition et modularité

  1. 🛠️ Décomposition
  2. 📚 Séquence d’exécution avec le code modulaire
  3. 📚 Implémenter des méthodes donnant une valeur de retour
  4. 📚 Implémenter des méthodes recevant des arguments
  5. 📚 Portée des variables
  6. 🛠️ Tests unitaires

Structures de contrôle

  1. 📚 Opérations logiques
  2. 📚 Sélection/embranchement (if, else if, else)
  3. 📚 Itération/boucles (while, for)
  4. 🛠️ Gérer des exceptions (try, catch)

Structures de données

  1. 📚 Tableaux
  2. 📚 Strings
  3. 🛠️ Entrées et sorties avec les fichiers

Domaines d’application

Sommaire

Cette section, lorsqu’on a le temps de la faire, vous donne la chance d’explorer les possibitilités du génie informatique. L’unité précédente vous a donné une base en programmation, mais aucun travail ou projet qui ressemble aux logiciels que vous utilisez quotidiennement comme simple utilisateur.

Cette unité vous montre différents domaines d’application pour les solutions logicielles, vous permet d’explorer les piles technologies utilisées pour créer ces solutions, et vous donne la chance de créer un projet concret pour démontrer vos compétences.

À la fin de cette unité, vous serez capable de :

  • Inclure des bibliothèques et des frameworks dans vos projets Java afin d’incorporer des fonctionnalités avancées dans votre propre code;
  • Connaître quelles piles technologiques sont généralement utilisées pour différents types d’applications afin de mieux cibler un langage de programmation et des outils de développement pour un projet donné.
Lien avec l'éthique la société ou les carrières

💭 Quelques pistes de réflexion :

  • Explorez deux ou trois cheminements professionnels considérablement différents si votre objectif était de devenir :
    • développeur web;
    • développeur de jeux vidéo;
    • développeur de solutions de sécurité informatique
  • À l’école, votre rendement est plus étroitement lié à votre mérite qu’il le sera pour le reste de votre vie. Malheuruesement, le monde n’est pas juste ni méritocratique. Heureusement, il y a beaucoup de variété dans la qualité des situations. Quels sont des signes clairs que vous êtes dans une situation injuste? Que feriez-vous dans une telle situation? Quels sont des indicateurs fiables qu’une sitation est plus équitable?
  • Deux ressources importantes pour les communautés sous-représentées dans divers domaines technologoqiues sont le mentorat et les groupes de soutien. Trouvez un groupe de soutien ou un service de mentorat pour professionnels en informatique qui vise spécifiquement votre communauté. Notez comment y avoir accès et la nature des services offerts.

Ces leçons restent à développer… les sujets sont actuellement traités via des démonstrations et des projets concrets en classe.

  1. 🛠️ Diverses piles technologiques - des langages et des outils adaptés à la tâche
  2. 🛠️ Gérer des projets Java de groupe ou de plus grande taille avec Maven
  3. 🛠️ Utiliser le framework JavaFX pour créer des interfaces graphiques dans Java