Logo UQAM
Département d'informatique

Politiques et directives techniques pour le cours INF3105


1. Environnements de développement

1.1 Liberté

Vous avez la totale liberté d'utiliser l'environnement de développement de votre choix pour réaliser les travaux pratiques et les laboratoires. Ainsi, vous pouvez utiliser les environnements de développement intégrés (EDI ou IDE en anglais) suivants : Code::Blocks, Eclipse CDT, Microsoft Visual Studio C++, NetBeans, XCode, etc.

1.2 Compilateur officiellement supporté

Le compilateur officiellement supporté dans le cours est le compilateur GCC de GNU communément appelé «g++».

1.3 Obligations pour la correction

Vos travaux pratiques seront corrigés de façon semi-automatisée à l'aide de scripts bash ou Oto sous Linux. Ainsi, afin d'être corrigés, vos travaux pratiques doivent pouvoir être compilés et exécutés sur les Linux ({malt,chicoree,oto}.labunix.uqam.ca) de LabUnix. Si vos programmes ne fonctionnement pas sous ces environnements, 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. Il est de votre responsabilité de vous vérifier que vos programmes sont fonctionnent correctement sous Linux.

1.3 Support limité

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é.

1.4 Environnement recommandé

É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.

1.5 Mise en place de l'environnement recommandé

1.5.1 Linux

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 .

1.5.2 Windows

Sous Windows, vous pouvez obtenir un environnement similaire à Linux en installant Cygwin.

1.5.3 Mac OS X

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.

1.6 Environnement alternatif : Code::Blocks

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 MiniGw (minimalist Gnu for Windows), elle contient le compilateur G++.

Voir le Guide Code::Blocks pour INF3105.

2. Travaux pratiques

2.1 Travaux en équipe

À 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 une. 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.

2.2 Remises par Oto

Les travaux doivent obligatoirement être remis via le système Oto du Département d'informatique. Les soumissions par courriel ne seront ni acceptées ni corrigées.

La remise peut se faire via l'interface Web d'Oto ou par la commande oto via en ligne de commande sur oto.labunix.uqam.ca. La méthode de remise fortement recommandée est une remise via Oto en ligne de commande. Tous les énoncés de TP fournissent des exemples de commande oto pour remettre et vérifier votre TP.

2.3 Que fait si Oto est inaccessible?

En cas de panne prolongée des serveurs, inutile de soumettre votre TP par courriel. Signalez simplement la panne au professeur et attendez les instructions.

2.4 Retards

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 des serveurs oto.labunix.uqam.ca. 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.

2.5 Outils pour transférer vos fichiers

Le transfert de vos fichiers depuis votre ordinateur personnel vers les serveurs peut se faire via le protocole SCP à l'aide des outils suivants :