IFT 1215 — Introduction aux systèmes informatiques


Professeur: Stefan Monnier


Page Moodle du cours pour H2015.

Description

La compréhension du fonctionnement interne d'un ordinateur est indispensable pour le métier d'informaticien. Ce cours vise à donner une vision d'ensemble sur les éléments principaux qui composent les systèmes informatiques: le matériel (hardware), le logiciel système (système d'exploitation), la représentation des données, et les réseaux de communications.

Le but du cours est donc de familiariser les étudiants avec les notions de bases sur lesquelles repose la technologie des systèmes informatiques, et qui sont indispensables à la compréhension des cours plus avancés.

Sujets traités

Architecture des ordinateurs, composantes d'un ordinateur (CPU, mémoire, entrées-sorties), langages machine, format des données numériques et non-numériques, arithmétique, encodage d'information, codes correcteurs, compression, encryptage, systèmes d'exploitation, compilation de langages de haut-niveau, réseaux de communication, protocoles de réseaux.

Manuel recommandé

Irv Englander, The architecture of computer hardware, systems software, and networking: an information technology approach, Wiley, 4e ed., 2009.
Les chapitres supplémentaires ne sont pas forcément faciles à trouver sur le site web du livre, vous pouvez essayer ce lien qui a fonctionné pour moi.

Autres manuels suggérés

Horaire

Jour Heure Lieu Type
Mardi 10h30-12h30 AA-1177 Cours
Mercredi 15h30-16h30 Z-300 Cours
Mercredi 16h30-18h30 AA-1177 Démonstration
17 fév 10h30-12h30 AA-1360 Intra
22 avr 15h30-18h15 N-515 Final

Le choix des salles n'est pas sous mon contrôle et est parfois changé sans préavis, donc dans le doute, faites plutôt confiance au formulaire insupportable de Synchro

Démonstrateurs

Rafik Gouiaa (bureau AA-2317) sera le démonstrateur ce semestre.

Évaluation

Il y aura 2 travaux pratiques (pour un total de 45 points) et deux examens de 25 points chacun, plus 5 points sur les exercices hebdomadaires. La note finale sur 100 sera convertie en note litérale à la fin du cours seulement, selon un barème qui dépendra de la moyenne du groupe et de la répartition des notes des étudiants. Un total aux deux examens inférieur à 25 points (i.e. la moitié des points) est éliminatoire.

Les travaux pratiques sont à faire en groupe de 2 (jamais plus, et très rarement moins). Les exercices sont à faire seuls. Et les examens se font à livre fermé: vous n'avez droit qu'à une page de notes (recto) écrite à la main, pas de livre ni de calculatrice autorisés.

Rappel

Le plagiat et la copie sont des fautes graves passibles de sanctions disciplinaires. Dans ce cours, nous prendrons toutes les mesures que nous jugeons nécessaires pour dépister et contrer ce genre d'activités.

Envoyez vos courriels depuis une adresse à umontreal.ca plutôt que turlutu.fr si vous voulez qu'il soit pris au sérieux plutôt qu'il tombe dans l'oubliette du dossier spam.

La page Moodle du cours inclus un forum de discussions que je vous encourage à utiliser.


Notes de cours

Ces notes sont tirées de celles de Max Mignotte, et d'Alena Tsikhanovich, sauf les erreurs bien sûr.

Info sur le cours
Introduction
Systèmes de nombres
Format des données
Format des entiers
Little Man Computer
Interlude Emacs
Format des nombres à virgule flottante
Circuits logiques
CPU et mémoire
CPU et mémoire, le retour
Entrées et sorties (I/O)
Systèmes d'exploitation

Démonstrations

Les données de chaque démonstration seront placées ici.
Les exercices sont à faire individuellement, pas en groupe.

Exercices 1, à faire à la démo du 14 janvier.
Exercices 2, à faire à la démo du 21 janvier.
Exercices 3, à faire à la démo du 28 janvier.
Exercices 3½, à rendre au début de la démo du 4 février.
Exercices 4, à faire à la démo du 4 février.
Exercices 4½, à rendre au début de la démo du 11 février.
Exercices 5, à faire à la démo du 11 février.
Vieil Intra, pour vous exercez.
Nouvel Intra, sur lequel vous avez été noté.
Exercices 6, à faire à la démo du 18 février.
Exercices 6½, à rendre au début de la démo du 25 février.
Exercices 7, à faire à la démo du 25 février.
Exercices 8, à faire à la démo du 11 mars.
Exercices 8½, à rendre au début de la démo du 18 mars.
Exercices 9, à faire à la démo du 18 mars.
Exercices 10, à faire à la démo du 25 mars.
Exercices 11, à faire à la démo du 1 avril.
Exercices 11½, à rendre au début de la démo du 8 avril.
Exercices 12, à faire à la démo du 8 avril.
Vieux final, pour vous exercez.

Travaux Pratiques

Les travaux pratiques sont à faire par groupes de deux.

TP #1

La donnée du travail.
Un fichier d'exemple pour voir le simulateur LMC en action.
Un fichier LaTeX d'exemple, au cas où cela vous serait utile.

TP #2

La donnée du travail et le code fourni.


Planification par semaine

Semaine du Thème
7 jan Intro
13-14 jan Conversions de bases
20-21 jan Représentation des entiers
27-28 jan LMC
3- 4 fév Représentation à virgule flottante
10-11 fév Circuits logiques combinatoires
17-18 fév Intra
24-25 fév Circuits logiques séquentiels
3- 4 mar Relâche
10-11 mar CPU et mémoire, Discussion CISC/RISC
17-18 mar CPU et mémoire, revisités
24-25 mar Entrées/Sorties
0- 1 avr Disques
7- 8 avr Systèmes d'exploitation
14 avr
22 avr Examen final

Liens pour Emacs

GNU Emacs est l'éditeur recommandé dans ce cours pour écrire les programmes et les rapports. Parmi les bonnes ressources pour ce qui a trait à Emacs, nous trouvons le Emacs Manual en-ligne disponible dans le menu Help, l'Introduction to Emacs Lisp dans le menu Help (sous-menu More Manuals), le Emacs Lisp Reference dans le même sous-menu, la commande 'i' dans ces manuels, le groupe de discussion gnu.emacs.help, le Wiki, et la "refcard" qui est distribuée avec Emacs, dans un fichier nommé quelque chose comme /usr/share/emacs/24.4/etc/refcard.ps.

Emacs est préinstallé sur toutes les machines GNU/Linux du DIRO. Pour l'installer sur votre propre machine, la procédure habituelle ressemble à:

Liens pour LaTeX

LaTeX est le système de préparation de documents utilisé dans ce cours. Il y a beaucoup de matériel en ligne disponible pour LaTeX. Une bonne documentation est disponible par exemple dans le "wikibook" sur LaTeX.

Liens pour LMC

Pour ce cours, nous utilisons un simulateur de Little Man Computer implanté en Emacs Lisp et qui tourne directement dans Emacs (version 23.1 ou plus récente). Pour cela il vous faut installer le package lmc.el. Suite à ça, Emacs saura reconnaître les fichiers avec extension .elmc depuis lesquels vous pouvez charger le code dans le simulateur en sélectionnant dans le menu LMC-ASM => Load into Simulator ou juste C-c C-l.