Bienvenue et Introduction

publicité
ITI 1520 Automne 2011
Introduction à 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
1
Matériel enligne
• http://www.site.uottawa.ca/~nat/ITI1520_2011/iti15
20.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 2
Infoweb
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
3
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
4
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.
5
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.
6
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).
7
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.
8
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.
9
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.
10
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.
11
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.
12
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.
13
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.
14
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!!! 
15
Résoudre des problèmes avec l’informatique
Comprendre
le problème
Comprendre
l’informatique
Comprendre le
domaine du problème
Une solution
16
Quelques concepts de l’informatique
Besoins
Logiciel
Matériel
Testing
Logique de
l’ordianteur
Conception /
Algorithmes
Programmation
Génie de logiciel
Comprendre
l’informatique
17
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?
18
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.
Bus
Appareil de
stockage
e.g., Disque, CD,
et ruban
Mémoire
UCT
Appareils de
communication
Appareil
d’entrée
Appareils
de sortie
e.g., Modem, et
NIC
e.g., clavier,
souris
e.g., Moniteur,
Imprimante
19
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).
Bus
Appareil de
stockage
e.g., Disque, CD,
et ruban
Mémoire
UCT
Appareils de
communication
Appareil
d’entrée
Appareils
de sortie
e.g., Modem, et
NIC
e.g., clavier,
souris
e.g., Moniteur,
Imprimante
20
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.
Bus
Appareil de
stockage
e.g., Disque, CD,
et ruban
Mémoire
UCT
Appareils de
communication
Appareil
d’entrée
Appareils
de sortie
e.g., Modem, et
NIC
e.g., clavier,
souris
e.g., Moniteur,
Imprimante
21
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.
Adresse mémoire
Contenu mémoire
.
.
.
.
.
.
2000
01001010 Code pour caractère ‘J’
2001
01100001
Code pour caractère ‘a’
2002
01110110
Code pour caractère ‘v’
2003
01100001
Code pour caractère ‘a’
2004
00000011
Code pour caractère 3
22
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.
Bus
Appareil de
stockage
e.g., Disque, CD,
et ruban
Mémoire
UCT
Appareils de
communication
Appareil
d’entrée
Appareils
de sortie
e.g., Modem, et
NIC
e.g., clavier,
souris
e.g., Moniteur,
Imprimante
23
Appareils de sortie: le moniteur, terminal, écran
Le moniteur affiche des informations (texte et graphiques).
Les imprimantes sont aussi des appareils importants de
sortie.
Bus
Appareil de
stockage
e.g., Disque, CD,
et ruban
Mémoire
UCT
Appareils de
communication
Appareil
d’entrée
Appareils
de sortie
e.g., Modem, et
NIC
e.g., clavier,
souris
e.g., Moniteur,
Imprimante
24
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.
Bus
Appareil de
stockage
e.g., Disque, CD,
et ruban
Mémoire
UCT
Appareils de
communication
Appareil
d’entrée
Appareils
de sortie
e.g., Modem, et
NIC
e.g., clavier,
souris
e.g., Moniteur,
Imprimante
25
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).
Bus
Appareil de
stockage
e.g., Disque, CD,
et ruban
Mémoire
UCT
Appareils de
communication
Appareil
d’entrée
Appareils
de sortie
e.g., Modem, et
NIC
e.g., clavier,
souris
e.g., Moniteur,
Imprimante
26
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.
27
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
28
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
Fichier source assembleur
…
ADDF3 R1, R2, R3
…
Fichier code machine
Assembleur
…
1101101010011010
…
29
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 hautniveau 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.
30
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.
Fichier source
Compilateur
Fichier objet
Lieur
Fichier exécutable
31
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.)
32
Modèle de programmation
Mémoire de
travail
Mémoire de
programme
Mémoire de
travail
Mémoire
globale
UCT
33
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
34
Téléchargement