Aller au contenu

INF2050

Bienvenue dans INF-2050, Outils et pratiques de développement logiciel

Objectifs d'apprentissage

Dans ce cours, vous apprendrez à respecter les directives modernes de développement logiciel qui prédisent le succès des projets. Vous apprendrez à configurer et à utiliser des outils qui garantissent une base de code propre et fiable, et vous gagnerez de l'expérience pratique sur la manière de développer avec style en équipe de développement logiciel.

Success

C'est l'un des cours les plus précieux pour garantir une entrée fluide sur le marché du travail technologique.

Exigences

Vous ne pouvez participer à ce cours que si vous avez suivi et réussi les deux cours suivants :

Engagement

Ce cours nécessite un travail pratique hebdomadaire et une contribution extracurriculaire à un projet de groupe.
Vous devrez :

  • Assister à tous les cours
  • Venir préparé / faire les devoirs
  • Assister à toutes les unités de laboratoire
  • Contribuer régulièrement à votre projet de groupe
  • Réussir l'examen

Apprentissage

Nous pouvons vous fournir les meilleures conditions possibles pour apprendre, mais nous ne pouvons pas apprendre à votre place.

Travail en groupe

  • Une partie de votre note sera votre contribution à un projet de groupe. La taille des équipes sera de 3 étudiants.
  • Vous coderez un jeu simple au tour par tour en Java, en tant qu'application d'interface terminal.
    • Il n'y aura que des fonctionnalités réseau minimales, et l'intérêt de ce cours n'est pas le développement web.
    • Il n'y aura pas d'interface graphique impliquée dans ce cours, et l'intérêt n'est pas la programmation GUI.
  • Vous serez évalué sur la manière dont vous avez appliqué les meilleures pratiques et les outils présentés en classe et entraînés dans les unités de laboratoire.

Cours et notes

Les cours seront un mélange de diapositives d'orientation incomplètes et de démonstrations de programmation en direct.

Notes

Il est de votre responsabilité de prendre des notes personnelles. Pas de crayon, pas de carrière.

Logiciels

Vous aurez besoin des logiciels suivants pour participer aux travaux pratiques.

Warning

Les ordinateurs de laboratoire officiels ont tous les logiciels requis installés, mais si vous souhaitez utiliser votre propre ordinateur, il est de votre responsabilité de vous assurer que tous les logiciels sont installés avant de participer aux unités de laboratoire :

Liste :

  • Java, JDK-22
    • Testez l'installation de votre VM avec java -version. Vous devez utiliser la version 22.
    • Testez l'installation de votre compilateur avec javac HelloWorld.java.
  • Maven
    • Testez l'installation de Maven avec mvn -version. Il doit afficher l'emplacement du répertoire Maven.
  • Git
    • Testez l'installation de Git avec git init.
  • IntelliJ Ultimate

Évitez Windows

Si vous utilisez un ordinateur Windows, je vous recommande fortement d'installer Linux pour ce cours. Vous allez travailler beaucoup avec des commandes UNIX, et l'expérience d'apprentissage sera bien plus facile sur un système de type UNIX (Mac OS / Linux).

Critères d'évaluation

Comme spécifié dans le plan de cours.

Soumission tardive

Pas de soumissions tardives

Aucune soumission tardive ne sera acceptée. Toute soumission tardive reçoit 0 point.

Absence à l'examen

  • Repasser un examen en raison d'une absence n'est autorisé que dans des cas exceptionnels, et doit être bien justifié.
  • Les raisons acceptables sont par exemple : décès d'un membre de la famille, hospitalisation, accident, etc...
  • Pour plus d'informations, consultez les directives du département.

Autres critères

  • La qualité du français compte pour jusqu'à 10 % de chaque soumission
  • Je ne peux pas noter ce que je ne comprends pas

Réussite

  • Vous devez obtenir au moins 60 % avec les critères d'évaluation ci-dessus pour réussir.
  • Il n'y a pas d'autre critère d'évaluation, il n'est pas possible de gagner des points supplémentaires après la notation.

Équipe pédagogique

  • Chargé de cours : Moustapha
  • Coordinateur / matériel : Max

Politique de courriel

Avant d'envoyer un courriel, assurez-vous de...

  • ... avoir cherché une solution dans le matériel du cours.
  • ... avoir sincèrement essayé de résoudre l'unité de laboratoire correspondante.
  • ... avoir effectué une recherche en ligne à l'aide de Google et StackOverflow.

Lorsque vous rédigez un courriel, vous vous engagez à...

  • ... ne pas utiliser l'IA générative pour rédiger votre message.
  • ... ne pas inclure de captures d'écran ou de photos dans votre message.
  • ... ne pas utiliser de courriel HTML.

Politique des e-mails

Aucun e-mail ne sera répondu dans moins d'un jour ouvrable.
Aucun e-mail ne sera répondu dans les 48 heures précédant une soumission.

Mentorat

  • Le département d'informatique propose un service de mentorat gratuit, principalement destiné aux étudiants en licence d'informatique.
    • Le programme de mentorat est principalement destiné aux cours précoces INF-1070, INF-1120, INF-1132, INF-2120 et INF-2171.
    • Selon les compétences des mentors, un soutien pour d'autres cours, y compris celui-ci, pourrait être disponible.
  • Pour plus d'informations, visitez https://info.uqam.ca/aide

TP Halma

  • 50 % de votre note finale sera basé sur les soumissions de TP.
  • Le TP représente une simulation d'un processus de développement logiciel en équipe.
    • Dans vos soumissions de TP, vous démontrez une maîtrise pratique des concepts présentés en classe et travaillés lors des séances de laboratoire.
    • Votre code sera soumis à des normes de qualité strictes, notamment le style de code, la documentation et la précision.
  • Vous implémenterez des variantes du jeu de société "Halma"
    • Une structure de projet MVC vous est fournie
    • Une interface utilisateur textuelle sera fournie
    • Tout au long du semestre, vous devrez fournir une implémentation du Modèle et du Contrôleur, en respectant les interfaces Java fournies.

Avertissement sévère

Votre code sera testé contre l'interface fournie. Vous ne devez pas modifier ces interfaces, ni changer la structure du projet. Si vous le faites, tous les tests de code échoueront et vous recevrez 0 point pour votre soumission.

Références supplémentaires

Version PDF

  • Cette page est disponible en version PDF imprimable. Cliquez ici pour télécharger. Pas disponible ce semestre.

Littérature

Politique du département