1 iti 1520 automne 2011 introduction à linformatique i professeur: nathalie japkowicz bureau: ste...
TRANSCRIPT
1
ITI 1520 Automne 2011Introduction à l’informatique I
• Professeur: Nathalie Japkowicz• Bureau: STE 5029• Courriel: [email protected]
– Le courriel est la façon de me contacter la plus efficace.
• Téléphone: 562-5800 x6693• Heures de bureau:
– Lundi, 14h30-15h30 (Annulées le 12/09/11)– Mercredi, 13h-14h
2
Matériel enligne
• http://www.site.uottawa.ca/~nat/ITI1520_2011/iti1520.htm
Matériel de cours – syllabus, note de cours, matériel de laboratoire – etc.
• Campus virtuel: Outils de communication en ligne pour gestion de cours
– Gestion de devoirs: soumission– Forum de discussion– Résultats: devoirs, interrogations, examens, note
finale• Accès au Campus virtuel:– Utilisez votre nom d’utilisateur et mot de passe
Infoweb
3
References
• Note de cours et cahier d’exercices:– Versions PDF disponible sur le site Web du cours– Amenez les notes et cahier d’exercices à tous les cours!
• Texte (recommandé, mais pas obligatoire)– Texte français
• Le livre du Java, premier langage, Anne Tasso, 6 édition, Éditions Eyrolle, 2010
– Disponible à la librarie de l’université
• Autres références optionnelles (texte anglais):– “Java Programming: From Problem Analysis to Program Design,”
2nd Edition, by D.S. Malik© 2006.– “A First Book of Java” by G. Bronson
4
Horaire
• Cours magistral: Lundi 16h00-17h30 au Colonel By (CBY) B012
Mercredi 14h30-16h00 au SITE (STE) A0150
• Labos: LABO 1 Mardi, 11:30 - 14:30 SITE 2060 LABO 2 Mercredi, 11:30 - 14:30 SITE 2060
5
Labos
• Les sessions de labos se font en groupes d’au plus 35 élèves, avec l’aide d’un Assistant enseignant (AE).
• Vous serez dans une salle ayant un ordinateur par élève.
• Travail pratique avec Word et Visio pour créer les algorithmes
• Travail pratique avec le langage de programmation Java
• Vous êtes enregistrés à une des sections de labo de 3 heures, et vous devez y participer à chaque semaine– Vous pouvez trouvez votre section via Rabaska.
• La salle SITE 0110 vous offre des ordinateurs aux autres temps.
6
Labos
• Les sessions de laboratoire débute la semaine du 12 sept.• S.V.P. revoyez le matériel du laboratoire 0 (disponible au
Campus virtuel) avant votre premier lab).• Au premier labo:
– Une introduction aux outils de base:• Ordinateurs, Windows, fureteurs WEB• Courriel• Détection de virus.
– Comment utiliser le Campus virtuel pour soumettre vos devoirs
– Utilisation de Visio pour créer des modules d’algorithmes– Utilisation de Dr Java pour la programmation Java.
• Le labo est essentiellement une simulation de la création d’un devoir de pratique qui est soumis au Campus virtuel.
7
Interrogations
• Vous aurez à compléter huit interrogations écrites– Ces interrogations se donnent à la fin de la
session de laboratoire ou de cours.– Ce sont de petites questions sur le matériel vu
en classe durant la semaine et dans la session de laboratoire
• Les 5 meilleures notes de 8 interrogations seront retenues pour votre note finale. (Anglais: quizzes).
8
Devoirs
• Vous aurez à compléter 5 devoirs cette session.• Les devoirs sont des exercices de développent de logiciel
– Développement d’algorithme (logique d’un programme)– Traduction de l’algorithme au Java (langage de
programmation).• Révisez le document « Consignes pour les devoirs » au Campus
virtuel pour savoir– Comment répondre aux questions des devoirs– Comment soumettre un devoir au Campus Virtuel.
• Un devoir de pratique est disponible au Campus virtuel• Toute gestion des devoirs se fait électroniquement
– Vous créez des fichiers Word et Java qui sont téléchargés et soumis au Campus Virtuel
– Les correcteurs corrigent les devoirs directement dans les fichiers (commentaires et notes y sont ajoutés).
– Les fichiers corrigés vous sont retournés via le Campus virtuel– Vous pouvez consulter la note affectée au devoir dans le
Campus virtuel.
9
Examen de mi-session
• Date:– Samedi, 30 octobre entre 14h00 et 16h00
• L’examen de mi-session est un examen à livres fermés.
• Endroit:– Sera déterminé plus tard.
10
Examen final
• Sera cédulé par le Registraire de l’université– L’examen sera cédulé entre le 9 décembre et
le 22 décembre (inclusifs).– Vérifier le site WEB de l’université pour
connaître la date, l’heure, et l’endroit de l’examen.
• L’examen final est un examen de 3 heures à livres fermés.
11
Barème pour la note finale
• Moyenne des 5 devoirs: 25% (5% par devoir)
• Interrogations: 5% (1% par interrog.)
• Examen de mi-session: 20%• Examen final: 50%• Bonus pour participer en classe.
• Vous devez atteindre au moins 50% pour les interrogations, examen de mi-session et examen final pour passer le cours.– Autrement, la note sera convertie en un
pourcentage sur 100, et votre note finale sera E ou F.
12
A faire tout de suite…
1. Consultez le site du cours.2. Lisez le matériel du labo 0, disponible enligne au
Campus virtuel.3. Imprimer les notes de cours.4. Imprimer le cahier d’exercices.5. Achetez votre texte, ou utiliser une des
références enligne.6. Obtenez votre compte informatique pour les
laboratoires (rendez vous à la salle ÉITÉ 0-0110).7. Si vous voulez travailler sur votre propre
ordinateur, téléchargez Microsoft Visio, le “Java Development Kit” et Dr. Java.
13
Politiques du cours
• Voyez la page de web pour la description complète.
• Devoirs manqués ou en retard: note de zéro.– Un des devoir peut être exempté seulement si vous
fournissez un certificat du Centre de santé de l’université au professeur pas plus tard qu’une semaine après la date limite de remise du devoir.
• Absence aux examens: voir les règles de la Faculté de génie.– Les certificats du Centre de santé de l’université
permettent la reprise de l’examen.– Les voyage, emplois, ou mauvaises interprétations des
horaires ne sont pas accepté comme raisons valables pour manquer un examen.
14
Fraude académique
• Qu’est ce que c’est?– La représentation du travail d’un autre comme le votre:
• Ne pas citer de sources, y compris les sources d’internet et de discussions sans références.
• L’utilisation de mots/phrases de quelqu’un sans guillemets ou autre indication.
• Ceci veut également dire partager du code et/ou des réponses aux devoirs.
– Falsification des données de laboratoire ou citations.– Violation des règles d’examen.– Falsification des évaluations académiques.– Aider un autre élève à s’engager dans de la fraude
académique.
15
Comment ce cours peut-il vous être utile?
• Apprendre les concepts fondamentaux du développement de logiciel.
• Apprendre comment concevoir des algorithmes• Développer et pratiquer des compétences de
pensée logique.• Apprendre comment utiliser le Java.• Appliquer votre apprentissage à d’autres langages
de programmation.• Utiliser sur votre CV, pour chercher du travail.• Une base pour d’autres cours en informatique• Utile dans d’autres projets, non reliés à
l’informatique.
• L’informatique est addictive ! Faites attention!!!
16
Résoudre des problèmes avec l’informatique
Comprendre le problème
Comprendre le domaine du problème
Comprendrel’informatique
Une solution
17
Quelques concepts de l’informatique
Comprendrel’informatique
Logique del’ordianteur
Logiciel
Matériel Conception / Algorithmes
Besoins
Programmation
Testing
Génie de logiciel
18
C’est quoi la logique d’ordinateur?
• Un ordinateur fonctionne à partir de 0’s et 1’s
• Comment est-ce que l’ordinateur est organisé pour le calcul et la résolution de problèmes?
19
C’est quoi un ordinateur?
Un ordinateur comprend un UCT (CPU), de la mémoire, un disque rigide, un moniteur (écran), imprimante, et appareils de communication.
UCT
e.g., Disque, CD, et ruban
Appareil d’entrée
e.g., clavier, souris
e.g., Moniteur, Imprimante
Appareils de communication
e.g., Modem, et NIC
Appareil de stockage
Mémoire
Appareils de sortie
Bus
20
UCT
L’unité central de traitement (UCT) est le cerveau de l’ordinateur. Il lit des instructions de la mémoire et les exécutes. La vitesse de l’UCT est mesuré en megaHertz (MHz), et même gigaHertz (GHz).
UCT
e.g., Disque, CD, et ruban
Appareil d’entrée
e.g., clavier, souris
e.g., Moniteur, Imprimante
Appareils de communication
e.g., Modem, et NIC
Appareil de stockage
Mémoire
Appareils de sortie
Bus
21
Mémoire
La mémoire sert à stocker des instructions et données d’un programme pour que l’UCT puissent l’exécuter. Une unité de mémoire comprend une séquence d’octets qui contient 8 bits (valeur de 0 ou 1). Chaque octet a une adresse utilisée par l’UCT pour accéder à l’octet. Un octet n’est jamais vide, mais sa valeur initiale est inconnue. Lorsqu’une nouvelle valeur est écrite dans un octet, l’ancienne valeur est perdue.
UCT
e.g., Disque, CD, et ruban
Appareil d’entrée
e.g., clavier, souris
e.g., Moniteur, Imprimante
Appareils de communication
e.g., Modem, et NIC
Appareil de stockage
Mémoire
Appareils de sortie
Bus
22
Comment stocker des données?
Les données de différents types, tels que numéros, caractères, et chaînes, sont encodés par une série de bits (0 et 1). Par exemple le caractère ‘J’ est codé par l’octet de bits 01001010. Notez que ce même patron de bits peut aussi représenter un nombre entier, 74. Ce n’est que le contexte dans lequel est utilisé l’octet qui définie comment le patron de bit est utilisé.Mais 8 bit ne représentent que 256 différents patrons. Pour de grands nombres entiers plus grand que 256, il faut plusieurs octets.Chaque octet a une adresse, utilisée par l’UCT pour accéder à un ou plusieurs octets.
.
.
.
2000
2001
2002
2003
2004
.
.
.
01001010
01100001
01110110
01100001
00000011
Contenu mémoire
Adresse mémoire
Code pour caractère ‘J’ Code pour caractère ‘a’ Code pour caractère ‘v’ Code pour caractère ‘a’ Code pour caractère 3
23
Appareils de stockage
La mémoire est volatile, car les données sont perdues quand l’ordinateur est éteint. Les programmes et données sont stockés de façon permanente dans des appareils de stockage et déplacés en mémoire au besoin. Les types principaux: disques rigide, CDs, et ruban. Les clefs USBs sont devenue très populaires également.
UCT
e.g., Disque, CD, et ruban
Appareil d’entrée
e.g., clavier, souris
e.g., Moniteur, Imprimante
Appareils de communication
e.g., Modem, et NIC
Appareil de stockage
Mémoire
Appareils de sortie
Bus
24
Appareils de sortie: le moniteur, terminal, écran
Le moniteur affiche des informations (texte et graphiques). Les imprimantes sont aussi des appareils importants de sortie.
UCT
e.g., Disque, CD, et ruban
Appareil d’entrée
e.g., clavier, souris
e.g., Moniteur, Imprimante
Appareils de communication
e.g., Modem, et NIC
Appareil de stockage
Mémoire
Appareils de sortie
Bus
25
Appareils d’entrée: le clavier, la souris
Les appareils d’entrée permettent à un utilisateur d’interagir avec un programme et de faire de l’entrée de données.
UCT
e.g., Disque, CD, et ruban
Appareil d’entrée
e.g., clavier, souris
e.g., Moniteur, Imprimante
Appareils de communication
e.g., Modem, et NIC
Appareil de stockage
Mémoire
Appareils de sortie
Bus
26
Appareils de communication
Un modem régulier utilise une ligne téléphonique et peut transférer jusqu’à une vitesse de 56,0000 bps (bits par seconde). Un DSL (digital subscriber line) utilise aussi une ligne téléphonique mais utilise une vitesse 20 fois plus grande. Autres appareils de communication: modem câble, NIC (network interface card).
UCT
e.g., Disque, CD, et ruban
Appareil d’entrée
e.g., clavier, souris
e.g., Moniteur, Imprimante
Appareils de communication
e.g., Modem, et NIC
Appareil de stockage
Mémoire
Appareils de sortie
Bus
27
Logiciels
Les programmes d’ordinateurs, connus aussi sous le nom de logiciel, sont essentiellement une séquence d’instructions à l’ordinateur.
Un ordinateur peut donc accomplir différentes fonctions tout simplement en changeant de logiciel. Sans logiciel, l’ordinateur n’est qu’une machine vide.
Un ordinateur ne comprend pas le langage humain. Il comprend un langage machine. Des langages de programmation font le pont entre le langage humain et le langage machine.
28
Langages de programmation
Langage machine Langage assembleur Langage haut-niveau
Le langage machine est un ensemble d’instructions primitives défini pour l’UCT des ordinateurs. Ces instructions sont en forme binaire. Les programmes en langage machine sont difficile et long à créer, à lire et à modifier. Par exemple pour l’addition de deux nombres, l’instruction peut ressembler à :
1101101010011010
29
Langages de programmation
Langage machine Langage assembleur Langage haut-niveau
Les langages assembleurs ont été développés pour faciliter la programmation du langage machine. Mais l’ordinateur n’exécute pas un programme écrit en langage assembleur. Un autre programme, l’assembleur, traduit le code assembleur en code machine. Par exemple, pour l’addition de deux nombres, l’instruction assembleur peut ressembler à : ADDF3 R1, R2, R3
… ADDF3 R1, R2, R3 …
Fichier source assembleur
Assembleur
… 1101101010011010 …
Fichier code machine
30
Langages de programmation
Langage machine Langage assembleur Langage haut-niveau
Les langages de haut-niveau ont une forme qui ressemble au langage humain (normalement en Anglais). Ces langages sont plus facile à apprendre. Par exemple, l’instruction de haut-niveau suivante calcule l’aire d’un cercle avec un rayon de 5:
aire = 5 * 5 * 3.1415;
MAIS – il faut se rappeler que vous composez un programme avec un ordinateur ayant une logique particulière. Il est important de connaître les principes de cette logique.
31
Compilation du code source
Un programme écrit en langage haut-niveau est appelé un programme source. L’ordinateur ne peut pas exécuter un programme source. Un autre programme, le compilateur traduit le code source en instructions machines – le programme objet. Le programme objet est lié ensuite avec d’autres programmes (librairie de fonctions communes) pour arriver à un programme d’instructions machine que l’UCT peut exécuter.
Compilateur Fichier source Fichier objet Lieur Fichier exécutable
32
Langages haut-niveau populaires
•COBOL (COmmon Business Oriented Language)•FORTRAN (FORmula TRANslation) •BASIC (Beginner All-purpose Symbolic Instructional Code) •Pascal (nommé après Blaise Pascal) •Ada (nommé après Ada Lovelace) •C (a suivit le langage B) •Visual Basic (Extension de Basic par Microsoft pour créer un langage de manipulation des objets visuels)•Delphi (Extension visuelle du par Borland) •C++ (langage orienté objet basé sur le C)•Java (Ce que nous utilisons dans ce cours – La syntaxe se base sur le C.)
33
Modèle de programmation
Mémoire deprogramme
UCT
Mémoire detravail
Mémoire detravail
Mémoireglobale
34
Systèmes d’exploitation
Le système d’exploitation (SE) est un programme qui gère et contrôle les activités d’ un ordinateur (i.e. l’exécution des programmes). Vous connaissez surement Windows XP ou Windows Vista. La majorité de nos programmes modernes (e.g. fureteur WEB ou traitement de texte) ne marchent pas sans système d’exploitation.
Utilisateur
Programmes d’application
Système d’exploitation
Matériel