0% ont trouvé ce document utile (0 vote)
48 vues64 pages

Handouts

Ce document présente le plan de cours pour le cours ITI 1521 Introduction à l'informatique II. Il contient des informations sur les objectifs d'apprentissage, le professeur Marcel Turcotte, le contenu du cours et les exigences universitaires.

Transféré par

donzeusnguie
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
48 vues64 pages

Handouts

Ce document présente le plan de cours pour le cours ITI 1521 Introduction à l'informatique II. Il contient des informations sur les objectifs d'apprentissage, le professeur Marcel Turcotte, le contenu du cours et les exigences universitaires.

Transféré par

donzeusnguie
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

ITI 1521.

Introduction à l’informatique II
Exigences du cours

by
Marcel Turcotte

Version du 6 janvier 2020


Préambule
Préambule

Objectifs d’apprentissage
Objectifs d’apprentissage

Informer sur les exigences du cours.


Expliquer les objectifs d’apprentissage généraux dans ce cours.
Connaître les règlements universitaires sur la fraude scolaire.
Lectures :
Ce document, ainsi que ceux-ci :
Plan de cours
Intégrité dans les études

1 55
Préambule

Plan du module
Plan

1 Préambule

2 Plan de cours

3 Intégrité dans les études

4 Contenu

5 Épilogue

6 Prologue

2 55
Marcel Turcotte : en bref

1965- Né à Montréal
1995 Ph. D. en informatique, Université de Montréal
1995–97 Université de la Floride (É.-U.), Département de Chimie
1997–00 Imperial Cancer Research Fund, Londres, Angleterre
2000- Université d’Ottawa
2006–08 Coordonnateur du programme coop pour l’informatique
2010–11 Coordonnateur du programme de maîtrise en
bio-informatique
2012–18 Vice-doyen aux études de premier cycle

3 55
Source : blog.f1000.com
Marcel Turcotte : en bref

1. ARN et ADN, régulation de l’expression des gènes, structure secondaire, inférence de


motifs, algorithmique du texte
2. Logiciels : MC-Sym (co-auteur), eXtended-Dynalign, Profile-Dynalign, Seed,
ACSEA, ModuleInducer, RiboFSM, MotifGP, Seedw
3. Conception d’algorithmes et de structures de données, intelligence artificielle
appliquée et apprentissage machine

5 55
Source : QIAGEN/CLC bio
Plan de cours
Contenu du cours

Computer
Architecture

Object-oriented programming

Abstract Data Types


(ADT)

7 55
Contenu du cours
Memory

CPU
Computer
Architecture
Compilation

Program
execution

Variables

Object

Class

Object-oriented programming Interface

Inheritance

Generic

Exception

Stack

Queue
Abstract Data Types
(ADT)
List

Binary Search Tree

8 55
Contenu du cours
Memory

Computer
CPU
Architecture

Compilation Reading

Program
Writing
execution

Fetch-Execute-Cycle

Types

Local

Variables Parameters

Instance variables

Class variables

Instance variables

Object Instance methods

Encapsulation

Class variables

Class Class methods

Interface Nested classes

Object-oriented programming Inheritance

Generic ArrayStack

Exception DynamicArrayStack

Stack LinkedStack

Applications

LinkedQueue

Queue CircularQueue

Applications

ArrayList

SinglyLinkedList

List DoublyLinkedList
Abstract Data Types
(ADT)
Binary Search Tree CircularList

Recursion

Iterator

9 55
Contenu du cours
Memory

Computer
CPU
Architecture

Compilation Reading

Program
Writing
execution

Fetch-Execute-Cycle

Primitive

Types

Reference

Local

Parameters

Variables

Instance variables

Class variables

Instance variables State

Object Instance methods

Encapsulation Visibility modifiers

Class variables

Class Class methods

Interface Nested classes

Object-oriented programming Inheritance

Generic

Exception ArrayStack

Stack DynamicArrayStack

LinkedStack

System

Applications

Syntactical Analysis

LinkedQueue

Queue CircularQueue Simulations

Applications Systems

ArrayList State-space-search

SinglyLinkedList

List DoublyLinkedList
Abstract Data Types
(ADT)
Binary Search Tree CircularList

Recursion

Iterator

10 55
Prenez note !

« Le professeur doit fournir un plan de cours lors de la première rencontre avec les
étudiants au début de chaque cours. » (Réglèment scolaire 8.5)
Ce plan de cours demeurera inchangé pour tout le reste du semestre !

12 55
Évaluations

Examen mi-session : 25 %
Examen final : 40 %
Devoirs (4) : 25 %
Laboratoires (10–12) : 10 %

Vous devez obtenir au moins 50% aux examens pour passer le cours, un échec aux
examens entraînera un échec pour le cours !

13 55
Examens

Mi-session Dimanche 1 mars 2020, 10 h à 12 h


Livres fermés
Final Livres fermés

14 55
Intégrité dans les études
Ceci s’applique à tout le monde

L’an passé, plus de 40 étudiants ont eu une allégation de fraude contre eux pour les
devoirs 1 . . .

16 55
Ceci s’applique à tout le monde

. . . et 2 !
Chaque lien montre la relation entre une paire de soumissions.
Les étiquettes indiquent le degré de similitude et le nombre de lignes de code (entre
parenthèses).

17 55
Intégrité dans les études

Fraude scolaire : « (. . . ) tout acte commis par un étudiant qui peut avoir pour résultat
la falsification de son évaluation scolaire ou de celle d’un autre étudiant.
Voici des exemples :
remettre un travail fait par quelqu’un d’autre ou faire le travail pour quelqu’un
d’autre ;
falsifier une évaluation scolaire ;
présenter un travail acheté sur Internet ;
plagier les idées.
Règlements :
http://www.uottawa.ca/administration-et-gouvernance/
reglement-scolaire-14-autres-informations-importantes

18 55
Bonnes pratiques

Ne publiez jamais votre code source sur GitHub publiquement avant la date limite
pour la soumission du devoir.
Vous pouvez publier votre solution après la date limite de soumission.
Cependant, vous devriez retirer votre numéro d’étudiant de l’Université d’Ottawa, car
quelqu’un d’autre pourrait utiliser cette information à mauvais escient.
Vous devez aussi être prudent, dans certains cas vous publiez du code source qui n’est
pas le vôtre.
En particulier, vous pourriez publier le code source qui a été développé par les
instructeurs.

19 55
Vous êtes la victime

La première victime en copiant la solution de quelqu’un d’autre, c’est vous.


Vous n’apprendrez pas «comment apprendre».
Peut-être comprenez-vous la solution que vous avez copiée.
Cependant, vous n’aurez pas réussi à apprendre comment créer ces solutions en
premier lieu.
Bien sûr, cela aura un impact sur votre capacité à passer les examens.
Mais cela aura aussi un impact sur votre capacité à trouver l’emploi de vos rêves.
Les entrevues pour les postes en génie logiciel et en informatique sont très approfondies.
On vous demandera de résoudre des problèmes qui pourraient en fait être similaires à
ceux que l’on trouve dans nos devoirs.

20 55
Soyez extrêmement prudent, dans certains cas, les
étudiants ne savaient pas que leur solution
avait été copiée, ce qui rend ce message
important pour tous.
Fraude scolaire : scénarios

Levez la main, si vous avez l’intention de tricher dans ce cours !


Quelqu’un vous demande l’accès à votre devoir
c’est un ami
il est trop tard, il ou elle ne terminera pas dans les temps. . .
tous les intervenants obtiennent la note 0
Vous êtes bloqué
vous choisissez de collaborer avec une ou plusieurs équipes
tous les intervenants obtiennent la note 0
Autres sanctions, les dossiers sont transmis au vice-doyen aux études de premier
cycle : l’étudiant obtient 0, pour ce devoir, pour tous les devoirs, pour le cours,
suivre un cours d’étique, expulsion de l’université, etc.

22 55
Analogie avec les sports de haut niveau

23 55
Politique sur l’utilisation des appareils
électroniques

24 55
Opinion (que je partage) de Jacques Nantel
des HEC

«[V]ous êtes devenus les fiduciaires des [dollars] confiés par les
contribuables dans l’espoir que vous puissiez contribuer à améliorer
notre société. Vous avez donc l’obligation de travailler fort,
d’apprendre et de sortir plus instruits que vous ne l’étiez en y
entrant.»

«La place que vous occupez», Opinion de Jacques Nantel des HEC publiée dans l’édition
du 5 avril 2016 de La Presse+, Section débats, écran 6

25 55
Contenu
Contenu
Devoirs

27 55
Devoirs

28 55
Devoirs

29 55
Devoirs

30 55
Devoirs

31 55
Samuel Bostock 2010 Liam Shea Williams 2010

Quentin Smith 2011

32 55
Olivier Gagnon 2012 (LVM Modifiée)

Olivier Gagnon 2012

33 55
Liban Osman 2012

Liban Osman 2012

34 55
Matthew Horton 2012
Matthew Horton 2012

Matthew Horton 2012

35 55
Jonathan Ermel 2012

36 Jonathan Ermel 2012 55


William Pearson 2014
Matthew Pollex 2015
Matthew Pollex 2015 (AI Pong)

38 55
Objectifs d’apprentissage du cours

L’objectif principal du cours est de savoir implémenter et utiliser les types abstraits
de données, et en particulier, les listes, les piles, les files et les arbres binaires de
recherche.
Afin de développer des solutions élégantes et robustes, des connaissances suffisantes
de la programmation orientée objet sont nécessaires : encapsulation, héritage et
polymorphisme.
Nous traiterons aussi des entrées-sorties, interfaces usager, et JUnit.

39 55
Difficultés

Les concepts de haut niveau sont simples


La difficulté principale consiste à traduire les idées de haut niveau en
implémentation concrète

40 55
Difficultés

Google en mode croissance à Montréal


La Presse, publié le 1er février 2011
(http://bit.ly/zspirb)

« (. . . ) de très fortes habiletés de programmation (. . . ) On ne veut pas seulement


des gens qui ont des idées. On veut quelqu’un capable de s’asseoir et de coder »
« La directive qu’on a reçue est d’engager autant de bons employés qu’on peut en
recruter. II n’y a pas de quota sur la quantité, mais nous avons un seuil de qualité très
élevé. »
« Les équipes de Toronto, Ottawa et Waterloo bénéficieront aussi d’un coup
d’accélérateur »

41 55
We tend to look at the teacher/learner relationship the wrong way
around : it’s not that the teacher teaches ; it’s that the student
learns.
Pragmatic Thinking and Learning — Andy Hunt
Difficultés

Ne faites pas de copier-coller, écrivez le code vous même !


Faites tous les devoirs !
Faites tous vos laboratoires !
Ayez une attitude positive face à la programmation !
Souriez !

43 55
Difficultés (suite) : ITI1521 2016

20 19% A+
4 4% A
11 10% A-
3 3% B+
5 5% B
6 6% C+
3 3% C
1 1% D+
1 1% D
6 6% E
3 3% F
4 4% EIN
3 3% ABS
38 35% Abandon

44 55
Livre du cours

E. B. Koffman, P. A. T. Wolfgang. Data


Structures : Abstraction and Design
Using Java. John Wiley & Sons, 3e
edition, 2016.

45 55
Livre du cours

E. B. Koffman and P. A. T. Wolfgang.


Data Structures : Abstraction and
Design Using Java. John Wiley & Sons,
2e edition, 2010.

46 55
Livre du cours (alternative)

Pourriez-vous recommander un volume


plus abordable ?
E. Koffman and P. Wolfgang (2005)
Objects, Abstraction, Data Structures
and Design : Using Java Version 5.0.
Wiley, 880 pages. (ISBN :
0-471-69264-6)

47 55
Livre du cours (alternative)

Pourriez-vous recommander un livre plus


abordable ?
E. Koffman and P. Wolfgang (2005)
Objects, Abstraction, Data Structures
and Design : Using Java. Wiley, 864
pages. (ISBN : 0-471-46756-1)

48 55
Livre du cours (alternative)

Pourriez-vous recommander un livre encore plus abordable ?


Java Structures : Data Structures in Java for the Principled Programmer by Duane
A. Bailey
www.cs.williams.edu/∼bailey/JavaStructures/Book.html

49 55
Livre sur Java

Je ne connais pas le langage de


programmation Java !
P. Sestoft. Java Precisely. The MIT
Press, 3e edition, August 2016. (∼ 40 $)

50 55
Épilogue
Netiquette
Piled Higher and Deeper by Jorge Cham www.phdcomics.com

title: "How To Write An E-mail To Your Instructor Or Teaching Assistant" - originally published 4/22/2015

51 55
Prologue
Résumé

Vous devez obtenir au moins 50% pour la portion examens


Faites tous les devoirs
Faites tous les laboratoires
Ne succombez pas au plagiat

52 55
Prochain module

Introduction à la programmation orientée objet

53 55
References I

E. B. Koffman and Wolfgang P. A. T.


Data Structures : Abstraction and Design Using Java.
John Wiley & Sons, 3e edition, 2016.
E. B. Koffman and Wolfgang P. A. T.
Data Structures : Abstraction and Design Using Java.
John Wiley & Sons, 2e edition, 2010.
P. Sestoft.
Java Precisely.
The MIT Press, 3e edition, 2016.

54 55
Marcel Turcotte
[email protected]

École de science informatique et de génie électrique (SIGE)


Université d’Ottawa

55 / 55

Vous aimerez peut-être aussi