Informatique – Développement d’applications

Diplôme d'études collégiales (DEC)

Informatique, Programmation

Ce programme mène à un diplôme d’études collégiales permettant d’acquérir les compétences pour développer, concevoir et maintenir des applications fonctionnant sur différentes plateformes ainsi que pour contrôler des objets connectés.

Pour obtenir ce diplôme, les étudiants doivent réussir tous les cours du programme ainsi que l’épreuve uniforme de français.

  • Produire des logiciels et développer des services informatiques.
  • Programmer, tester et implanter des applications.
  • Contrôler des objets connectés.
  • Appliquer une méthodologie agile (collaboration entre des équipes auto-organisées et pluridisciplinaires et leurs clients).
  • Recueillir et analyser les besoins des utilisateurs.
  • Assurer un suivi auprès des utilisateurs.

Ce programme comprend un stage de 10 semaines au sein d’une petite, moyenne ou grande entreprise.

  • Aimer la programmation et les plateformes Web ou mobiles.
  • Avoir de bonnes aptitudes en communication et aimer travailler en équipe.
  • Avoir l’esprit d’analyse et être créatif.
  • Avoir le souci du détail et de la précision.

93 % des diplômés qui se destinaient au marché du travail ont trouvé un emploi lié à leur formation*.

Exemples d’emplois :
  • Programmeur analyste
  • Développeur Web
  • Programmeur-analyste Java ou .net
Exemples de domaines d’emploi :
  • Solutions logicielles
  • Sécurité informatique
  • Supervision d’objets connectés
  • Services en ligne
  • Commerce électronique

 

*Source : Ministère de l’Éducation et de l’Enseignement supérieur (2019). La relance au collégial en formation technique. Enquête de 2020. Québec, Québec : Gouvernement du Québec.

  • Les étudiants peuvent compter sur l’aide d’enseignants qualifiés et sur des installations à la fine pointe de la technologie :
    • Salles de classe actives
    • Salle de serveurs
    • Espace ouvert pour vos travaux et projets étudiants
    • Laboratoire de recherche informatique LRIMa
    • 11 centres d’aide, dont un en informatique
    • 8 laboratoires dédiés au programme
  • Il est possible de devenir membre du club informatique du Collège et de participer à plusieurs concours informatiques en étant accompagné par des professeurs.
  • Un conseiller pédagogique assure le suivi de la réussite des étudiants.
  • Le Collège offre un accès à des machines virtuelles performantes à distance pour les formations offertes en ligne.
  • Il est possible de faire une visite virtuelle des installations du programme.
  • Pour ceux qui souhaitent poursuivre leurs études à l’université, le Collège possède 6 ententes DEC-BAC avec des universités. En se prévalant de ces ententes concernant les baccalauréats ci-dessous, les étudiants peuvent se faire créditer jusqu’à 1 année d’études à l’université.
    • B. en informatique et génie logiciel : Université du Québec à Montréal et Polytechnique Montréal
    • B. en informatique : Université de Montréal et Université Laval
    • B. en informatique ou informatique de gestion : Université de Sherbrooke

Numéro du programme : 420.B0

Nombre d’heures : 2 010

Préalable : aucun

Dans ce cours l’étudiant s’approprie diverses notions élémentaires de mathématiques utiles à l’exercice de la profession de technicien en informatique. Il aborde des concepts qui touchent quatre champs distincts de la discipline. Premièrement, la représentation des nombres, les bases et les conversions; deuxièmement, la logique propositionnelle, l’algèbre Booléenne et les tables de vérité; ensuite, les figures géométriques en deux dimensions, leur représentation sous forme de matrice et les transformations pouvant y être appliquées; et finalement, les mesures statistiques de base, leur calcul et la représentation graphique des données.

L’objectif de ce cours est de familiariser l’étudiant avec les outils bureautiques communs: tableurs, logiciels de traitement de texte, logiciels de présentation et logiciels de dessin pour modélisation. L’étudiant y aborde les notions reliées aux différents types de documents, aux normes typographiques et de mise en page, et la création de modèles. L’étudiant produit des rapports, des plans et des graphiques voués à la représentation des données. Il apprend à publier des documents par le biais d’outils de collaboration.

Préalable : aucun

À l’issue de ce cours, l’étudiant a une vue d’ensemble de la profession d’informaticien. Par le biais de discussions, de rencontres, de présentations et de projets exploratoires variés, l’étudiant apprend à se familiariser avec le contenu de son programme d’études autant qu’avec les multiples facettes de sa future profession. Il définit un peu plus précisément où se situent ses intérêts dans le domaine.

Préalable : aucun

Dans ce cours, l’étudiant se familiarise avec les composantes matérielles principales d’un PC et leur fonctionnement: carte mère, CPU, RAM et stockage local. Ensuite, l’étudiant s’initie aux rudiments de   l’administration d’une station de travail Windows: installation de logiciels, connexion au réseau local, création d’utilisateurs et de groupes et permissions sur les fichiers, organisation du système de fichiers NTFS, ajout/suppression de périphériques matériels et de pilotes, stratégies de groupes locales, base de registres.

Préalable : aucun

Dans ce cours l’étudiant aborde les bases de la programmation en appliquant le cycle de développement pour des programmes simples. Dans un premier temps, il analyse le problème à résoudre et décompose celui-ci en plusieurs étapes afin d’obtenir l’algorithme, qui sera par la suite traduit dans le langage de programmation choisi. Ensuite, il utilise les méthodes de débogage et les outils reliés afin de corriger les erreurs de compilation/interprétation ou les erreurs détectées suite à l’application de plans de tests.

Préalable absolu : système d’exploitation 1 (420-1C2)

Dans ce cours, l’étudiant s’initie à l’administration d’un deuxième système d’exploitation : linux. Il aborde les concepts reliés à l’installation de logiciels, la connexion au réseau local, la création d’utilisateurs et de groupes, la permissions sur les fichiers et l’organisation du système de fichiers ext4. L’étudiant se familiarise également avec les notions plus spécifiques à l’environnement linux telles que l’organisation des fichiers de configuration du système, les outils de la ligne de commande et l’accès distant.

Préalable absolu : introduction à la programmation (420-1C3)

Ce cours consiste en une introduction à la programmation par objets. Dans un premier temps, l’étudiant apprend à inclure la programmation orienté-objet à son processus de conception en modélisant des classes selon le problème à résoudre et en les structurant par le biais de l’héritage. Il programme ces classes en utilisant les structures de données nécessaires et les intègre à une application dotée d’une interface graphique, qu’il débogue et documente conformément à des normes définies.

Préalable relatif : système d’exploitation 1 (420-1C2)

Ce cours présente les notions élémentaires de la sécurité informatique telle que définie par les trois piliers “confidentialité, intégrité, disponibilité”. L’étudiant se familiarise avec les menaces et les vulnérabilités des composantes logicielles et matérielles; les types de maliciels et les méthodes de prévention; les méthodes d’authentification les plus répandues (mots de passes, certificats) et leurs cas d’usage; la protection d’une station de travail à l’aide d’un pare-feu; les bonnes pratiques de sauvegarde et restauration. Ce cours permet aussi à l’étudiant d’aborder les notions d’éthique liées à la propriété intellectuelle et à la protection des informations personnelles.

Préalable : aucun

Ce cours présente les notions élémentaires requises pour pouvoir utiliser un système de gestion de bases de données. L’étudiant s’initie aux concepts primordiaux du modèle relationnel: tables, champs, clés et relations. L’étudiant se familiarise avec le langage SQL, tant dans le contexte de la création du schéma de la base de données que dans la manipulation de données via des opérations de lecture, d’insertion, de modification et de suppression.

Préalable relatif : programmation objet (420-2C3)

Préalable corequis : applications Web 1 (420-3D2) et Base de données 2 (420-3D5)

Dans ce cours, l’étudiant intègre une équipe de développement logiciel et explore les différentes facettes du travail du programmeur dans le cycle de vie d’un projet. Il est initié à une méthodologie de développement d’application et réalise une application à l’architecture simple à partir d’un document de conception, sous la supervision d’un chargé de projet. Il utilise un logiciel de gestion de versions en équipe. Il valide le code par la revue de code et l’écriture de tests unitaires à partir d’un plan de tests. Il fait de la maintenance corrective d’une application en production et utilisation d’un système de ticket.

Préalable relatif : programmation objet (420-2C3)

Préalable corequis : projet 1 (420-3D1) et base de données 2 (420-3D5)

Dans ce premier cours de programmation web, l’étudiant se familiarise avec les concepts et les techniques nécessaires à la réalisation d’une application web simple. Le fonctionnement d’une application client-serveur utilisant HTTP est présenté. L’étudiant apprend à utiliser un langage de balisage (HTML) pour structurer un document web ainsi qu’un langage de présentation (CSS) pour la mise en forme. Il utilise une plateforme de développement web pour programmer le côté serveur de l’application: traitement de la requête, accès à la base de données, génération du document web et transfert au client. Enfin il apprend à générer des formulaires de saisie et à valider l’information entrée par l’utilisateur.

Préalable relatif : programmation objet (420-2C3)

Dans ce cours, l’étudiant explore des notions avancées de programmation objet dans le but d’écrire du code plus facile à maintenir et à faire évoluer. Il se familiarise avec le polymorphisme et la programmation par interfaces. Il réusine (refactorise) du code en respectant les bonnes pratiques de programmation: couplage faible entre les classes, séparation adéquate des responsabilités, injection de dépendances. Il est initié aux principaux patrons de conception et apprend à les reconnaître. Il les implante dans des cas simples. Enfin il apprend à lire un diagramme de classes.

Préalable absolu : base de données 1 (420-2C5)

Préalable corequis : projet 1 (420-3D1) ET applications Web 1 (420-3D2)

Ce cours aborde des notions plus avancées d’un système de gestion de bases de données relationnelle. L’étudiant apprend à assurer la cohérence des données par la définition de contraintes d’intégrité référentielle, déclencheurs et de transactions avec le langage SQL.

L’étudiant automatise des traitements à l’aide de scripts, il assure la confidentialité en gérant les autorisations à la base de données. Enfin, il applique des techniques de sauvegarde et de restauration des données.

Préalable : aucun

L’objectif de ce cours est de donner à l’étudiant les moyens de mettre en œuvre un réseau local simple, d’y partager des services de base et d’effectuer les tests de bon fonctionnement. L’étudiant s’approprie les notions qui concernent la planification, de l’adressage IPv4/IPv6 aux normes relatives aux schémas de réseaux, ainsi que les notions touchant à l’installation des composantes matérielles et logicielles, par exemple le choix des câbles et leur raccordement et la configuration et le déploiement des services. L’étudiant applique des tests et diagnostics simples afin de valider le bon fonctionnement de l’infrastructure déployée.

Préalables relatifs : outils de bureautique (412-1C6), Système d’exploitation 2 (420-2C2) ET 420-2C7

Ce cours a pour objectif de familiariser l’étudiant avec les pratiques, les attitudes et les processus éprouvés dans les tâches de soutien à l’utilisateur, que celles-ci touchent au soutien technique ou à la formation. L’étudiant apprend à planifier et réaliser une intervention en fonction d’un besoin exprimé et des informations recueillies dans une base de connaissances. Il conseille et à oriente adéquatement l’utilisateur dans sa prise en main des technologies, il apprend à évaluer objectivement la qualité de ses interventions et à documenter l’ensemble du processus de soutien.

Préalable relatif : appications Web 1 (420-3D2)

Préalables corequis : projet 2 (420-4D1), applications clientes Web (420-4D6) ET communication (350-4D8)

Ce cours aborde le développement de services d’échange de données qui interagissent avec différents types de clients. Les formats d’échange de données sont présentés ainsi que les protocoles de communication utilisés. L’étudiant développe un service qui traite des requêtes de sélection et de modification de données. Il utilise des mécanismes d’authentification et d’autorisation pour assurer la sécurité des données. Il expose la documentation de l’interface de programmation. Il valide le fonctionnement du serveur à l’aide d’un outil de test.

Préalable relatif : base de données 2 (420-3D5)

Ce cours traite des bases de données non-relationnelles et des enjeux reliés aux volumes de données importants, à l’hétérogénéité et à la scalabilité. Les caractéristiques des principales familles des systèmes de gestion de bases de données non-relationnelles (orientées agrégats, graphes, sans schéma) sont présentées. L’étudiant se familiarise ainsi avec leurs interfaces, programme l’accès aux données et intègre ces bases de données à des applications. Enfin, l’étudiant est initié au Big Data et à l’analyse de données.

Préalable relatif : applications Web 1 (420-3D2)

Préalables corequis : projet 2 (420-4D1), services d’échange de données (420-4D2) ET communication (420-4D8)

Ce cours initie l’étudiant aux techniques nécessaires à la gestion de la partie cliente des applications web. L’étudiant apprend comment structurer un projet web client grâce à un cadriciel réactif s’exécutant dans un navigateur: gestion des instances des modèles, gabarits, gestion des données avec un serveur distant, mutations, transactions asynchrones à l’aide de promesses, routage, responsivité, applications en page unique, profilage, gestion de l’empaquetage, authentification et internationalisation y seront abordés.

Préalable relatif : projet 1 (420-3D1) ET applications Web 1 (420-3D2)

Préalables corequis : services d’échanges de données (420-4D2), applications clientes Web (420-4D6) ET communication (420-4D8)

Dans le cadre de ce cours, l’étudiant participe à différentes phases d’un projet, il intègre les technologies et les bonnes pratiques acquises dans les cours de la quatrième session. Il fait l’analyse et la conception d’une application simple et en élabore les plans de tests. Il participe à la réalisation d’une application à l’architecture plus complexe en utilisant une méthodologie agile. Il assure la maintenance et l’évolution d’un logiciel existant et déploie des mise-à jour en utilisant des pratiques de livraison continue. Enfin il valide son travail par des tests et le document.

Préalables corequis : projet 2 (420-4D1), services d’échange de données (420-4D2) ET applications clientes Web (420-4D6)

Ce cours donne à l’étudiant les outils qui lui permettront de contribuer de manière efficace et agréable à une équipe de travail dans un contexte de projet de développement logiciel. Il saura porter un regard critique sur ses interactions avec ses coéquipiers afin de développer des relations de travail fructueuses. Il apprendra à appliquer des méthodes de travail éprouvées dans le domaine informatique et développera des attitudes favorisant le bon fonctionnement de l’équipe.

Préalables relatifs : programmation objet (420-2C3), introduction à la sécurité informatique (420-2C4) ET réseaux locaux (420-2C7)

Dans ce cours, l’étudiant prend connaissance des méthodes utilisées par les pirates informatiques et acquiert les outils qui lui permettront de tester activement la sécurité des réseaux, des services et des applications d’une infrastructure, et ce par le biais de tests d’intrusion et de détection et l’exploitation de vulnérabilités logicielles. Il reconnait les différentes phases d’une attaque informatique et connait les moyens de les détecter, il identifie les vulnérabilités les plus communes et s’approprie les ressources permettant d’effectuer une veille efficace sur les menaces et les vulnérabilités logicielles. xxx

Préalable requis : projet 2 (420-4D1)

Préalables corequis : applications Web 2 (420-5D2) ET applications hybrides et natives (420-5D6)

L’étudiant participe au développement d’une application intégrant des technologies apprises au cours de la cinquième session. Il participe aux premières itérations d’un projet et à la conception de l’architecture de l’application. Il réalise une application interagissant avec des composants clients et des fournisseurs de services diverses. Il automatise le processus d’intégration et de déploiement continus. Une attention particulière est mise sur la sécurisation et la validation de l’application.

Préalables relatif : services d’échanges de données (420-4D2)

Préalables corequis : projet 3 (420-5D6) ET applications hybrides (4260-5D6)

Dans ce cours, l’étudiant apprend les techniques avancées en programmation web: prérendu (Pre-rendering) versus Rendu côté serveur (Serveur-Side Rendering). Il utilise des websockets dans la cadre d’une application multi-utilisateurs hautement interactive (exemple: chat, site d’enchères). Il s’initie à la notion de présence des utilisateurs, à la gestion de la concurrence, aux applications en tant que service et au fractionnement d’une architecture en microservices.

Préalable relatif : applications clientes Web (420-4D6)

Préalables corequis : projet 3 (420-5D1) ET applications Web 2 (420-5D2)

Dans ce cours, l’étudiant découvre la programmation d’applications clientes hybrides et natives. L’étudiant s’initie aux concepts de base de la programmation native mobile. Il apprend ensuite à utiliser un cadriciel hybride permettant la compilation sur plusieurs architectures de processeurs de téléphones et tablettes. Il explore également le développement d’applications web progressives. À l’issue de ce cours, l’étudiant est en mesure d’évaluer les pours et les contres de ces trois paradigmes.

Préalables absolus : Base de données 1 (420-2C5) et Programmation objet (420-2C3)

Dans ce cours, l’étudiant découvre les concepts inhérents à l’Internet des objets. Il se familiarise avec la programmation de haut niveau d’un microcontrôleur. Il reconnaît les caractéristiques des différents protocoles de communication sans fils et d’échanges de données légers. Il utilise ces protocoles pour programmer l’interfaçage avec un système d’infrastructure. Il aborde les notions de centralisation et décentralisation des données. Il s’initie au mécanisme de publication de messages et d’abonnement (patron publish-subscribe) utilisé dans les systèmes intégrant plusieurs producteurs et consommateurs de données.

Préalable corequis : veille technologique (420-6D9)

Préalables absolus : tous les cours de la formation spécifique moins deux préalables absolus

Ce cours, porteur de l’ESP, amène l’étudiant à démontrer qu’il maîtrise les compétences acquises au cours de sa formation. Il mobilise l’ensemble de ses acquis techniques, méthodologiques et relationnels pour mettre en œuvre un projet de développement d’application réaliste, de moyenne envergure. Le projet est réalisé en équipe; chaque membre contribue à la planification, à la réalisation et au suivi du projet et présente, à l’issue du cours, ses résultats à son groupe de pairs.

Préalable absolu : projet 3 (420-5D1)

L’objectif de ce cours est de donner à l’étudiant l’occasion de se familiariser avec des technologies émergentes dans le développement logiciel en réalisant des projets d’exploration, des preuves de concept ou encore des prototypes qui les intègrent. Pour une technologie donnée, il apprend à définir un cas d’usage pertinent dans son domaine et à planifier un projet simple. Il devra l’évaluer dans ce cas d’usage, réaliser le projet et utiliser les résultats de ce projet pour formuler une opinion qu’il communiquera à un groupe de pairs.

Préalable corequis : veille technologique (420-6D9)

Dans le cadre du stage l’étudiant intègre une équipe de travail en entreprise; il s’adapte à de nouvelles méthodes de travail et de nouvelles technologies; il interagit avec ses collègues et des utilisateurs. Il mobilise et transfert les compétences acquises durant sa formation. Le stagiaire élargit son réseau de pairs en tissant des liens avec des professionnels de son domaine d’activité et fais ainsi ses premiers pas dans le marché du travail.

  • Être titulaire d’un diplôme d’études secondaires (DES) ou l’équivalent si les études ont été suivies à l’étranger.
  • Avoir réussi le cours préalable Mathématiques TS ou SN 4e ou CST 5e ou l’équivalent.
  • Satisfaire à l’une des conditions suivantes :
    • Être titulaire d’un diplôme d’études collégiales (DEC) ou l’équivalent.
    • Avoir réussi 11 cours sur 14 de la formation générale dans le cadre d’un DEC.
    • Avoir obtenu 30 crédits universitaires dans un même programme.
  • Réussir les tests de français, d’anglais et d’algorithmes.
  • Passer l’entrevue à laquelle le candidat peut être convoqué.

Avant de vous inscrire, consultez la page Admission et inscription et la liste des documents nécessaires à l’admission commune à tous les programmes.

Autres documents spécifiques à ce programme à transmettre lors de la demande d’admission :

  • Aucun

Après avoir fait votre demande d’admission en ligne, vous pourrez consulter le statut de votre dossier ou compléter celui-ci.

La formation en bref

Frais

Admission

30$

Inscription 2022-2023

187$

Choisissez au moins un bloc de disponibilité

Si aucune date n’est affichée, soyez informé par courriel des prochaines dates en vous inscrivant à l’alerte ci-dessous.

Pas disponible?

Inscrivez-vous à une alerte pour connaître les prochaines dates offertes.