Vous êtes sur la page 1sur 10

Automne 2022

Plan de cours

Introduction à la programmation
Numéro du cours : 420-135-AL Discipline : Informatique
Pondération : Théorie 3 heures Programme : Techniques de l'informatique 420.B0
Pratique 3 heures
Étude 3 heures
Préalables absolus : Aucun
Préalables relatifs : Aucun
Corequis : 201-422-AL Mathématiques appliquées à l’informatique I

Département : Informatique
Coordination départementale : Didier Tremblay (local 4.170.2)

Enseignant Local Téléphone Courriel


David Giasson 4.170.3 514 364-3320 david.giasson@claurendeau.qc.ca
ext. 6517
Michel Généreux 4.170.5 514 364-3320 michel.genereux@claurendeau.qc.ca
ext. 6378

Horaire de disponibilité des enseignants

Consultez l'horaire de votre enseignant dans le document


spécifique fourni par votre enseignant
420-135-AL PLAN DE COURS Automne 2022

1 Présentation générale du cours


L’ordinateur est une machine remarquablement puissante, pouvant exécuter des milliards
d’opérations élémentaires par seconde, et ce avec une très grande précision. Avec le temps, il
est devenu un outil indispensable dans pratiquement tous les domaines pour permettre de
résoudre des problèmes toujours plus complexes.
Cependant, l’ordinateur n’est pas une machine intelligente. Afin que cette machine puisse être
utilisée pour résoudre des problèmes, le programmeur-analyste joue un rôle essentiel. Ce dernier
doit d’abord comprendre le problème à résoudre, le décortiquer, élaborer un plan de résolution et
spécifier en détail les opérations élémentaires et la séquence d’exécution que l’ordinateur devra
exécuter. Tout ce processus est partie intégrante de l’algorithmique et de la programmation.
Le cours Introduction à la programmation vise donc à développer des habiletés liées à la
résolution de problèmes et à la programmation de l'ordinateur à l'aide d'un langage de
programmation. Pour y parvenir, le langage de programmation retenu est Java, mais tous les
principes étudiés dans le cours s'appliquent aussi bien aux autres langages de programmation,
comme C++, C#, Javascript, Python, etc.

1.1 Énoncé de la compétence


Certains objectifs de la compétence 00Q2 seront étudiés dans ce cours:
• 00Q2 : Utiliser des langages de programmation.

1.2 Performance finale attendue


À partir d’un document décrivant une situation relativement simple à informatiser, d’algorithmes
fournis et d’un programme incomplet (fonctionnalités absentes), l’étudiant doit comprendre le
problème, corriger, améliorer, compléter le code et tester la solution finale en appliquant un plan
de tests fourni par l’enseignant.

1.3 Contribution du cours dans le programme


Le cours 420-135-AL est placé en début de programme pour que l’étudiant puisse apprendre les
notions fondamentales de l'algorithmique et avoir une introduction à la programmation.

Le schéma ci-contre
permet d’illustrer les
liens entre le cours 420-
135 et certains autres
cours du programme.

David Giasson, Michel Généreux 2 de 10


420-135-AL PLAN DE COURS Automne 2022

2 Valorisation de la langue française


Le collège s’est doté en 2005 d’une politique institutionnelle de valorisation de la langue française
(PVLF). Les personnes étudiantes doivent utiliser correctement la langue française, à l’oral
comme à l’écrit, dans les communications, les travaux et les examens produits au cours de leur
formation au collège.

2.1 Objectifs linguistiques


Au département d’informatique, nous appliquons cette politique afin de rendre la personne
étudiante apte à communiquer en français ses connaissances techniques en informatique, avec
ses collègues, ses enseignantes et enseignants et dans son futur milieu de travail.
Les objectifs linguistiques du cours 420-135-AL sont donc les suivants :
• Connaître la terminologie française utilisée en informatique et plus particulièrement au
niveau des contenus spécifiques abordés dans le cours 420-135-AL.
• Utiliser correctement cette terminologie dans la rédaction des travaux et des examens se
rapportant au cours.
• Faire usage d’une langue de qualité dans la rédaction des travaux et examens.

2.2 Évaluation de la qualité de la langue


Dans le but d'appliquer la politique de valorisation de la langue française, les personnes
étudiantes doivent utiliser les bons termes français dans leurs productions, autant à l’écrit qu’à
l’oral. La qualité de la langue (orthographe soignée, règles de grammaire, structures des phrases,
etc.) pourra être évaluée dans le cadre d’un travail pratique ou d’une présentation orale, jusqu’à
concurrence de 10% de la note de l’évaluation. Lorsque ce sera le cas, la pondération sera
clairement indiquée dans l'énoncé ou dans la grille d’évaluation.

3 Planification pédagogique
3.1 Objectifs terminaux
Pour développer les compétences visées par ce cours, l’étudiant devra atteindre les objectifs
terminaux suivants :

David Giasson, Michel Généreux 3 de 10


420-135-AL PLAN DE COURS Automne 2022

3.2 Contenu

3.2.1 Algorithmique
• Étapes impliquées dans la résolution d’un problème.
• Analyser un problème : identifier les acteurs, les données, les résultats et les traitements.
• Les structures de données : constantes, variables, tableaux.
• Opérations élémentaires : lecture, écriture, comparaison, affectation.
• Algèbre booléenne : rappel sur opérations et leur priorité.
• Structures algorithmiques fondamentales : séquence, alternatives, répétitives.
• Représentation des algorithmes : pseudocode et ordinogramme.
• Stratégies utilisées en algorithmie.
• Validité des algorithmes et types d’erreur.
• Stratégies de test.

3.2.2 Programmation et langage Java


• Étapes impliquées dans le processus de la programmation.
• Niveaux de langage : du langage machine au langage évolué.
• Environnement de développement : éditeur, compilateur, interpréteur.
• Codage, compilation et exécution de programmes.
• Normes et standards de programmation.
• Types d’erreur en programmation.
• Documentation du code.
• Identifiants.
• Déclaration des variables et des constantes en Java.
• Types de données en Java : primitifs et classes d’objets.
• Opérateurs, expressions et priorité des opérations.
• Structures alternatives en Java : if-else, switch.
• Structures répétitives en Java : for, while, do-while.
• Chaînes de caractères.
• Tableaux (structure de données homogènes multiples).
• Fonctions : déclaration, appel et passage des paramètres.
• Débogage d'un programme et traces d’exécution.
• Jeux d’essais et tests d’un programme.

David Giasson, Michel Généreux 4 de 10


420-135-AL PLAN DE COURS Automne 2022

3.3 Activités d’apprentissage et d'enseignement


Le cours est donné en laboratoire et il s’échelonne sur quinze semaines à raison de deux
rencontres hebdomadaires totalisant 6 heures. Chaque rencontre est composée d'une alternance
entre de courts exposés de l'enseignant et d'exercices formatifs et/ou sommatifs réalisés par les
étudiants.
• L’étudiant devra se préparer pour chaque séance de cours en visionnant des vidéos ou
en lisant les textes qui se rapportent au cours à venir. Ces lectures et visionnements sont
obligatoires et seront accompagnés de quiz, afin de guider et d’aider l’étudiant à mieux
comprendre les éléments importants mis en pratique au cours. La pondération du cours
prévoit du temps, à chaque semaine, pour cette préparation hors-classe.
• La période d’exercices formatifs permet essentiellement à l'étudiant d’approfondir et
de clarifier les sujets des vidéos. La réalisation par l'étudiant de ces exercices formatifs
est essentielle à la compréhension de la matière, et prépare l'étudiant au minitest qui
suivra. N’oubliez pas, la clé pour apprendre en informatique, c’est la pratique!
• L’étudiant qui se présente en classe pourrait devoir faire la preuve, si son enseignant lui
demande, qu’il ou elle est active dans son apprentissage.
• Occasionnellement, des étudiants pigés au hasard pourraient être invités à partager
avec leurs camarades de groupe leur compréhension de la matière.
• Les minitests permettent aux étudiants de démontrer à l'enseignant l'acquisition des
compétences.

3.4 Échéancier des activités


Voir le tableau détaillé (section 8), à la fin du plan de cours.

3.5 Présence aux cours et modalités de participation (FAD/pédagogie session #1)


Il est important que chaque étudiant:
• Participe et arrive à l'heure à toutes les séances, qu'elles soient en présence ou à
distance.
• Ait à sa disposition une caméra et un micro fonctionnel.
• Voulant intervenir dans la conversation, lève la main (virtuelle ou en présence) pour que
l'enseignant lui donne le droit de parole.
• Active sa caméra (avec effet d'arrière-plan virtuel au besoin) lorsqu'il intervient dans la
conversation (à distance).
• Participe activement aux ateliers pratiques en réalisant les exercices formatifs et
sommatifs et en s’impliquant dans les discussions avec l’enseignant et les autres
étudiants.
Tout étudiant qui s’absente d’une activité sans raison valable prend la responsabilité de son
rattrapage (consulter les documents distribués, faire les exercices, consulter les aux autres
étudiants, ou encore demander un rendez-vous avec l'enseignant lors de ses périodes de
disponibilité). S'il y avait une activité d'évaluation sommative lors de cette absence, aucune reprise
ne sera possible. À chaque cours, les absences et les retards sont consignés dans LEA.

3.6 Mesures d'encadrement hors-classe


• Des périodes de disponibilité (en partie en mode à distance via Teams) sont également
inscrites à l'horaire de l'enseignant. L'étudiant qui a besoin d'aide pendant ces périodes
n'a qu'à communiquer par clavardage/vidéoconférence avec son enseignant ou avec le
groupe.

David Giasson, Michel Généreux 5 de 10


420-135-AL PLAN DE COURS Automne 2022

• Plusieurs autres périodes sont également possibles, en prenant un rendez-vous


préalable avec l'enseignant.
• Finalement, une période d'encadrement spéciale est prévue au calendrier les lundi.

4 Évaluation des apprentissages


4.1 Évaluations formatives
Afin de fournir une rétroaction continue aux étudiants, voici les évaluations formatives qui sont
utilisées dans le cours.
• À chaque semaine, pendant les périodes pratiques, des exercices formatifs en lien avec
la matière enseignée sont distribués et l’enseignant donne une rétroaction immédiate aux
étudiants pendant ces périodes. De plus, le corrigé de ces exercices est expliqué en classe
et/ou distribué aux étudiants.
• En guise de révision avant les examens, certaines questions d'examens antérieurs sont
également distribuées aux étudiants.

4.2 Évaluations sommatives, critères d’évaluation et pondération


L’évaluation sommative est composée de travaux pratiques1 réalisés principalement hors-classe
(35%), de deux examens réalisés en classe (45%) et de cinq minitests également réalisés en
classe (20%).

Type d’évaluation Pondération


Travail pratique #1 8%
Travail pratique #2 12 %
Travail de synthèse (évaluation certificative) 15 %
Travaux Pratiques 35 %
Cinq minitests 20 %
Examen Intra 20 %
Examen Final (évaluation certificative) 25 %
Examens 65 %

Critères d'évaluation
• Pour les questions théoriques des examens, le critère est simple : il suffit de fournir des
réponses claires, concises et exactes aux questions posées, sans oublier de faire attention
à la qualité du français.
• Pour les questions pratiques, qui nécessitent d'écrire des algorithmes ou du code, que ce
soit dans les examens ou dans les travaux pratiques, les critères d'évaluation sont basés
sur:
o Le respect des directives de l'énoncé ;
o La justesse, la validité et l’efficacité des algorithmes ;
o L’écriture de code sans erreur de syntaxe ;

1Certains travaux pratiques seront individuels et d'autres pourront être réalisés en équipe. Les modalités
précises seront indiquées dans l'énoncé du travail.
David Giasson, Michel Généreux 6 de 10
420-135-AL PLAN DE COURS Automne 2022

o Le fonctionnement adéquat du code et la justesse des résultats ;


o La qualité du code : clarté, qualité des commentaires ;
o Le respect des normes et standards de programmation.

Seuils de réussite multiples


L’évaluation certificative, qui est réalisée en fin de session, est l’évaluation finale qui vient certifier
que l’étudiant a acquis les compétences essentielles du cours.

Un double seuil de réussite est présent dans tous les cours de la formation spécifique en
techniques de l’informatique (420.B0) :
• 60% minimum pour la note cumulative du cours
• 60% minimum pour l’épreuve certificative (ÉC)
o Dans le cas où l’épreuve certificative est réalisée en équipe, le seuil sera applicable
seulement sur la ou les composantes individuelles de l’épreuve certificative (par
exemple, examen final, entrevue individuelle ou épreuve en laboratoire, etc.)

Travaux individuels ou d'équipe


Toutes les évaluations sommatives sont de nature individuelle à moins d’avis contraire explicite.
Aucun travail de groupe ou d'équipe ne pourra être remis ni évalué s’il n’a pas été autorisé. Le
non-respect de ces directives entrainera la note zéro (0) pour le travail concerné.

Délais de correction
Étant donné que le code informatique peut être très long à corriger, des modalités spécifiques
s’appliquent aux évaluations de ce type :
• Travaux pratiques : 15 jours ouvrables, mais l’enseignant doit au minimum fournir une
rétroaction sommaire aux étudiants (e.g. solutionnaire distribué ou correction en classe)
dans un délai de 10 jours ouvrables ;
• Examens : 10 jours ouvrables

4.3 Évaluation certificative


4.3.1 Type d'évaluation
Pour ce cours, l’évaluation certificative comporte deux parties : un travail de synthèse (15%) et un
examen final (25%). Ces 2 parties sont réalisées individuellement.
Le travail de synthèse est réalisé principalement en dehors des heures de classe lors des
dernières semaines de la session. L’examen final est réalisé en classe, lors de la dernière
semaine de cours et/ou pendant la période d'évaluations communes.
4.3.2 Performance finale attendue
À partir d’un document décrivant une situation relativement simple à informatiser, d’algorithmes
fournis et d’un programme incomplet (fonctionnalités absentes), l’étudiant doit comprendre le
problème, corriger, améliorer, compléter le code et tester la solution finale en appliquant un plan
de tests fourni par l’enseignant.
4.3.3 Tâches à réaliser
Travail de synthèse
• Configurer son environnement de programmation.
• Comprendre les besoins énoncés, les algorithmes fournis et le plan de tests fourni.

David Giasson, Michel Généreux 7 de 10


420-135-AL PLAN DE COURS Automne 2022

• Adapter les algorithmes fournis.


• Élaborer un (des) algorithme(s) pour implémenter une ou plusieurs fonctionnalités
manquantes.
• Ajouter du code au programme pour implémenter les algorithmes élaborés.
• Compiler et exécuter le programme.
• Détecter et corriger les erreurs de syntaxe, de logique et d’exécution dans son
programme.
• Appliquer le plan de tests fonctionnels fourni et noter les résultats.
Examen final
• Identifier les données, les résultats et les traitements à partir de la description d’un
problème à résoudre.
• Simuler l’exécution de portions de code (structures alternatives, répétitives, tableaux,
etc.).
• Évaluer des expressions (mathématiques, booléennes, etc.).
• Traduire un petit algorithme en code informatique, le compiler et le tester.
• Écrire un petit algorithme (sur papier), pour résoudre un problème simple.
• Déboguer des portions de code en corrigeant les erreurs de syntaxe et de logique.
4.3.4 Critères d’évaluation
Travail de synthèse
• Choix et adaptation appropriés des algorithmes.
• Choix approprié des instructions et des types de données élémentaires.
• Découpage efficace du code informatique.
• Organisation logique des instructions.
• Respect de la syntaxe du langage.
• Code informatique conforme à l’algorithme et aux besoins énoncés.
• Repérage complet des erreurs de fonctionnement.
• Fonctionnement correct du programme.
• Notation claire des résultats des tests fonctionnels.
Examen final
• Détermination correcte des données d’entrée, des données de sortie et de la nature
des traitements
• Simulation exacte des résultats pour les portions de code simulées
• Évaluation juste des expressions
• Implémentation du code conforme à l’algorithme fourni
• Élaboration juste de l’algorithme (choix approprié des structures de contrôle)
• Repérage complet et pertinence des correctifs dans les portions de code fournies

David Giasson, Michel Généreux 8 de 10


420-135-AL PLAN DE COURS Automne 2022

5 Manuels et Matériel obligatoires

Étant donné la multitude de documents électroniques disponibles sur le Web, aucun manuel
n'est obligatoire pour le cours. Des notes de cours seront distribuées électroniquement en
cours de session.
L’étudiant est cependant responsable d’apporter à tous les cours un ordinateur portable
répondant aux critères minimaux du projet DEC-Portable.

6 Médiagraphie
6.1 Manuels
Voici différents manuels complémentaires qui peuvent être consultés en complément.
• LOWE Doug, Java All-in-One For Dummies, 5ème édition, 2017.

6.2 Références électroniques2


• https://docs.oracle.com/en/java/javase/17/docs/api/index.html
• Dans Collecto : https://cyberlibris-alaurendeau.proxy.collecto.ca/, mot-clé « java »
o DELANOY Claude, Programmer en Java, dixième édition, Couvre Java 10 à 14,
Eyrolles, 2020.
o LASSOF Mark, Java Programming for Beginners, Packt Publishing, 2017
o DELANOY Claude, Exercices en Java : 175 exercices corrigés : couvre Java
8, Eyrolles, 2017

7 Modalités d’évaluation des apprentissages

Les modalités complètes d’évaluation des apprentissages sont décrites dans deux documents
officiels :
• La PIEA (Politique Institutionnelle d’Évaluation des Apprentissages), disponible sur le site
web public du cégep, sous la section Politiques et règlements
• Les MDEA (Modalités Départementales d’Évaluation des Apprentissages), qui vous seront
partagées par l’enseignant sur la plateforme de cours choisie
Les thèmes suivants méritent une attention particulière.
• Participation aux activités d'apprentissage (PIEA art. 9.1.13 et MDEA art. 12.1 et 12.2)
• Remise en retard d'un travail (MDEA art. 6)
• Absence à une activité d'évaluation (PIEA art. 7.7 et MDEA art. 9)
• Seuils conditionnels de réussite du cours (MDEA art. 1)
• Demande de révision de note (PIEA art. 7.10 et 9.1.18)
• Honnêteté intellectuelle, plagiat, fraude et tricherie (PIEA art. 7.11 et 9.1.14)
• Évaluation de la communication écrite et orale (MDEA art. 5)
• L'incomplet et l'incomplet temporaire (PIEA art. 7.9)

2 D’autres références électroniques seront communiquées pendant la session sur des sujets spécifiques.
David Giasson, Michel Généreux 9 de 10
420-135-AL PLAN DE COURS Automne 2022

8 Calendrier des activités d’apprentissages et des évaluations


Séances Contenu et évaluation TPs
Plan de cours
1 et 2 Qu'est-ce que la programmation ?
(sem. 1) Comprendre le problème et le décomposer
Installation de logiciels
Notions de base de l’algorithmie
3 et 4
Instructions de base Minitest 1 (4%)
(sem. 2)
Introduction à Algobox
Structures de contrôles I
5 et 6
Configuration de l'environnement de développement Java
(sem. 3)
Édition/Compilation/Exécution d'un programme en Java
Syntaxe de base en Java
7 et 8 Opérateurs de base TP 1
Minitest 2 (4%)
(sem. 4) L'Art de programmer (standard de (8%)
programmation)
Algèbre de Boole
9 et 10
Structures de contrôle conditionnelles II (Sinon-Si et Switch)
(sem. 5)
Types d'erreurs et débogage
11 et 12 Structures de contrôle itératives
(sem. 6) Boucles en Java (for, while, do-while)
13 et 14 Simuler l'exécution d'un algorithme
Minitest 3 (4%)
(sem. 7) Structures itératives imbriquées
Révision pour l'examen Intra
15 et 16 TP 2
Chaines de caractères
(sem. 8) (12%)
Test d'un programme et automatisation des tests
Opérateurs et priorité des
17 et 18
Examen Intra (20%) opérations en Java
(sem. 9)
Transtypage
19 et 20 Tableaux
(sem. 10) Passage d'arguments en ligne de commande
21 et 22
Tableaux multidimensionnels Minitest 4 (4%)
(sem. 11)
Fonctions : Définition, Appel, Passage de paramètres
23 et 24
Javadoc
(sem. 12) TS
TP Synthèse
(15%)
25 et 26
Les tris et autres algorithmes
(sem. 13)
27 et 28
TP Synthèse Minitest 5 (4%)
(sem. 14)
29 et 30
(sem. 15) Révision et Examen final (25%)
EC

David Giasson, Michel Généreux 10 de 10

Vous aimerez peut-être aussi