Vous avez la totale liberté d'utiliser l'environnement de développement (EDI ou IDE en anglais) de votre choix pour réaliser les travaux pratiques et les laboratoires. Ainsi, vous pouvez utiliser un environnement de développement intégré tel que Code::Blocks, Eclipse CDT, Microsoft Visual Studio C++, NetBeans, XCode, ou un autre.
Le compilateur officiellement supporté dans le cours est le compilateur g++ du projet GCC de GNU
Vos travaux pratiques seront corrigés de façon semi-automatique à l'aide d'un script Bash sous Linux. La distribution Linux utilisée pour la correction sera Ubuntu Linux version 22.04 qui est dotée du compilateur g++ version 11.4. Il est de votre responsabilité de vous assurez que vos programmes compilent du premier coup à l'aide de g++. Ainsi, avant de remettre vos TPs, il est fortement recommandé de tester vos programmes sur au moins une machine Linux. Le laboratoire LabUnix à l'UQAM offre l'accès à plusieurs serveurs Linux: java.labunix.uqam.ca. Si vos programmes ne fonctionnent pas sous Linux, alors les correcteurs n'auront pas l'obligation de corriger vos travaux. Un travail non corrigé peut obtenir une note de zéro, et ce, sans possibilité de reprise.
Vous devez être conscients que le professeur et les démonstrateurs ne connaissent pas tous les environnements de développement que vous êtes susceptibles d'utiliser. Bien qu'ils feront des efforts pour vous dépanner, le support technique pourrait être limité.
Étant donné que les travaux pratiques et laboratoires du cours INF3105 comportement un petit nombre de fichiers sources, il est fortement recommandé d'utiliser un « environnement minimaliste ». Cela vous permet de savoir exactement ce que vous faites, car les EDI ont tendance à vous cacher certaines opérations.
Un « environnement minimaliste » est composé :
La capture d'écran ci-dessous montre un exemple d'environnement minimaliste.
L'environnement de développement le plus facile à mettre en place est sous Linux. Sous les distributions Linux Ubuntu et Debian, l'installation du compilateur g++ se fait simplement et rapidement à l'aide la commande : « sudo apt-get install g++ ». Si vous ne voulez pas ou ne pouvez pas installer Linux nativement sur votre PC, vous pouvez l'installer dans une machine virtuelle VirtualBox ou VmWare .
Sous Windows, vous pouvez obtenir un environnement similaire à Linux en installant Cygwin.
Depuis les dernières mises-à-jour de Windows 10, il est également possible d'installer des distributions Linux (tels que Debian et Ubuntu) directement à partir du Windows Store en activant WSL (Windows Subsystem for Linux).
Sous Mac OS X, vous pouvez obtenir le compilateur g++ en ligne de commande en installant XCode disponible gratuitement dans l'AppStore d'Apple. Une fois XCode installé, il peut être nécessaire de faire : Xcode > Preferences > Components > Command line tools > install.
Si vous tenez à ne pas utiliser un environnement en ligne de commande, l'EDI Code::Blocks est une bonne alternative. Cet EDI a pour avantages d'être léger, rapide à installer et facile à utiliser. Sous Windows, téléchargez la version avec MinGW (minimalist Gnu for Windows), elle contient le compilateur G++.
Voir le Guide Code::Blocks pour INF3105.
À moins d'indications contraires, les travaux pratiques peuvent être faits individuellement ou en équipe de deux (2). Le travail en équipe ne vise pas à réduire la charge de travail. Il vise plutôt à favoriser les discussions et l'entraide. Tous les membres de l'équipe doivent contribuer à toutes les parties du travail, et non à seulement quelques unes. Ainsi, se répartir des tâches entre coéquipiers n'est pas une méthode de travail d'équipe adéquate dans ce cours. Par exemple, s'il faut écrire un ensemble de classes et de fonctions {A, B, C, D}, il n'est pas permis d'attribuer {A,C} au premier membre et {B,D} au deuxième. Les deux coéquipiers doivent travailler ensemble sur {A, B, C, D}. Tous les membres de l'équipe doivent être en mesure de comprendre et d'expliquer l'ensemble du travail. La participation inadéquate est considérée comme du plagiat. Ajouter le nom d'un autre étudiant sur son travail, sans que celui ait participé adéquatement, est aussi considéré comme une infraction académique.
En cas de doute sur l'originalité des travaux remis, le professeur convoque les étudiants concernés à son bureau. Le professeur peut également convoquer quelques étudiants au hasard vers la fin de la session afin de vérifier leur niveau de compréhension. Les étudiants ayant un écart anormalement élevé entre leurs notes aux travaux pratiques et aux examens seront systématiquement convoqués. Après avoir rencontré les étudiants, si des doutes persistent, le professeur peut attribuer la note I (incomplet) et signaler des (possibles) infractions académiques.
Une pénalité linéaire de 5% de la note maximale par heure de retard s'applique. Cela implique une note de zéro (0) après 20 heures de retard. L'heure officielle est celle du serveur de remise. Il est de la responsabilité de l'étudiant. de gérer son temps et de faire des copies de sauvegarde de ses travaux. Un bris de son ordinateur personnel ou d'une clé USB, une panne d'électricité ou d'accès Internet ne sont pas des justifications valables pour un retard.
Le transfert de vos fichiers depuis votre ordinateur personnel vers les serveurs peut se faire via le protocole SCP à l'aide des outils suivants :