Vous êtes sur la page 1sur 413

LICENCE EN GENIE LOGICIEL

Objectifs

Titulaire d’une Licence en Génie Logiciel, vous serez responsable d'élaborer, de concevoir de réaliser,
d'effectuer la maintenance et de développer des systèmes logiciels, intégrés et à grande échelle.
 Vous aurez notamment pour tâches :
 L’architecture du logiciel, c'est-à-dire sa décomposition en sous-systèmes, modules et
composantes individuelles qui la forment ;
 Réaliser un logiciel bien structuré avec ses composantes standardisées et facilement adaptables
et l'intégrer avec d'autres logiciels existants ;
 Vérifier et valider le logiciel de façon systématique tout au long de son cycle de vie ;
 Rationaliser la prise de décisions concernant les changements à apporter tout au long du cycle
de vie ;
 Réviser et améliorer le logiciel tout en préservant son intégrité conceptuelle ;
 Valider les demandes de changements tout au long d'un cycle de développement ;
 Planifier et contrôler les activités de développement de logiciels à l'intérieur d'un processus
logiciel défini ;
 Identifier les méthodes et les outils de développement nécessaires au développement d'un
logiciel

BROCHURE
LICENCE EN GENIE LOGICIEL
Objectifs
Titulaire d’une Licence en Génie Logiciel, vous serez responsable d'élaborer, de concevoir, de
réaliser, d'effectuer la maintenance et de développer des systèmes logiciels, intégrés et à
grande échelle.
 Vous aurez notamment pour tâches :
 L’architecture du logiciel, c'est-à-dire sa décomposition en sous-systèmes, modules et
composantes individuelles qui la forment ;
 Réaliser un logiciel bien structuré avec ses composantes standardisées et facilement
adaptables et l'intégrer avec d'autres logiciels existants ;
 Vérifier et valider le logiciel de façon systématique tout au long de son cycle de vie ;
 Rationaliser la prise de décisions concernant les changements à apporter tout au long
du cycle de vie ;
 Réviser et améliorer le logiciel tout en préservant son intégrité conceptuelle ;
 Valider les demandes de changements tout au long d'un cycle de développement ;
 Planifier et contrôler les activités de développement de logiciels à l'intérieur d'un
processus logiciel défini ;
 Identifier les méthodes et les outils de développement nécessaires au développement
d'un logiciel.

Compétences acquises

À la fin de son programme, l'étudiant, en plus de maîtriser les concepts fondamentaux du


domaine du génie logiciel et de l'informatique, devra avoir acquis les habiletés suivantes :
 Il sera en mesure de procéder à l'analyse, à la modélisation et au développement de
divers types de systèmes ;
 Il sera capable de s'adapter aux divers types de matériels et de logiciels en usage dans
les entreprises ;
 Il comprendra l'importance d'organiser et de structurer un projet de développement de
système, d'en estimer les coûts et les bénéfices et d'en coordonner la réalisation ;
 Il sera en mesure de communiquer facilement, tant de façon orale qu'écrite, les résultats
de ses analyses et travaux ;
 Il aura acquis des méthodes de travail, une capacité de synthèse et un degré
d'autonomie qui le rendront apte à résoudre divers types de problèmes rencontrés dans
sa pratique professionnelle, ou à poursuivre des études supérieures ;
 Il saura s'adapter aux situations changeantes de sa discipline et de la société et sera
capable de contribuer à leur évolution.
Il développe chez les étudiants la capacité :
 D’analyser des problèmes en vue d’implanter des solutions logicielles économiques ;

3|Page
 D’établir des objectifs mesurables sur le plan de la sécurité, de l’utilisation, des
conséquences sur la productivité, de la maintenance, de la fiabilité, de l’adaptabilité et
de la viabilité économique ;
 De concevoir des logiciels et des systèmes complexes incluant des parties logicielles
permettant d’atteindre ces objectifs ;
 De valider les exigences et les solutions proposées en fonction du problème à résoudre ;
 D’implanter ces solutions par des programmes bien structurés ;
 De vérifier que les logiciels répondent aux objectifs ;
 De gérer et coordonner efficacement des projets logiciels et des équipes.

Cours de certifications professionnelles offerts dans le programme :

En plus de la formation académique classique, il est offert aux étudiants de ce programme, trois
cours de certifications professionnelles :
 OCAJP (Oracle Certified Associates, Java SE 7 Programmer)
 MMAD (Certified Master Mobile Application Developer)
 MongoDB Certified Developer Associate

Débouchés
Secteurs

 Firmes de consultants
 Institutions financières (Banques, Finances, Assurances, Microfinances)
 Startups (après être passé ou non par un incubateur)
 Entreprises de technologies de l'information (Intégrateurs de solutions)
 Sociétés paragouvernementales
 Sociétés d'État
 Entreprises de services en informatique
 Entreprises de télécommunications
 Entreprises multimédia
 Entreprises de service public non gouvernementale
 Gouvernements
 Établissements d'enseignement
 Industrie du jeu vidéo
 Centres de recherche
Métiers

4|Page
 Architecte logiciel
 Concepteur / Développeur d’applications
 Études et développement
 Développeur informatique embarquée
 Expert-conseil en informatique
 Analyste en informatique
 Architecte de systèmes informatiques
 Administrateur de bases de données
 Administrateur de systèmes informatiques
 Programmeur
 Analyste programmeur
 Ingénieur Informatique
 Ingénieur Test et Recette
 Assembleur-intégrateur en multimédia

5|Page
LICENCE – GENIE LOGICIEL.
N Code Nom Crédit Prérequis Enseignants

Licence Génie Logiciel – Semestre 1

1 MCSA 70-698 Installation & Configuration de Windows 10 6 TSOGBE

2 CSC 241 Algorithmes & Programmation Structurée avec Python I 4

3 MAT 140 Logique & Mathématiques Discrètes I 4 MAGNANI

IT 130 Introduction au développement Web (UE Libre) 4 FERDINAND

4 IT 263 Introduction aux Réseaux (Cisco ICND1) 6 DIARRA

5 MAT 150 Calculus I 4 PINDRA

7 MGT 101 Anglais Technique 2 BOGUEMNA Madjamdo

8 WRD 103 Techniques d’expressions écrites et orales 2 NOUVLO Koffi

9 MGT 102 Economie générale 2 PADEMBANA Essowè

TOTAL CREDITS = 34 dont 4 Crédits d’UE Libre 34

6|Page
N Code Nom Crédit Prérequis Enseignants

Licence Génie Logiciel – Semestre 2

MCSA 70-698
1 MCSA 70-697 Configuration des Appareils Windows 6 TSOGBE
(R)

2 IT 223 Probabilités & Statistiques Descriptives 2

3 CSC 242 Algorithmes & Programmation Structurée avec Python II 4 CSC 241 (R)

4 MAT 141 Logique & Mathématiques Discrètes II 4 MAGNANI

5 IT 240 Introduction aux Bases de Données – UML/SQL 4 FERDINAND

6 TDC 363 Interconnexion des Réseaux (CISCO ICND2) 6 DIARRA

7 ACC 101 Comptabilité 2 WONA

8 MGT 103 Droit Général 2 KUAGBENU

TOTAL CREDITS 30

7|Page
N Code Nom Crédit Prérequis Enseignants

  Licence Génie Logiciel – Semestre 3

1 CSC 299 Outils, Méthodologies et Formalismes en Programmation 4 CSC 242 (O)

2 CSC 300 Structure des Données avec Java I 4 CSC 242 (O)
Techniques Avancées de Développement d’Application
3 ECT 330 4 CSC 241 (O)
Internet

4 MAT 151 Calculus II 4 MAT 150 (O)

Technologies d’Interconnexion Réseaux (TCP/IP Protocol


5 TDC 365 4 TDC 363 (O)
Suite)

6 IT 211 Introduction au développement des applications 4 IT 130 (O)

7 IT 231 Développement Web I 4

8 ORGC 201 Communication Professionnelle & Marketing 2

TOTAL CREDITS 30

8|Page
N Code Nom Crédit Prérequis Enseignants

Licence Génie Logiciel – Semestre 4

1 ECT 360 Introduction à XML 3 CSC 241 (O)


CSC 301 (R)
2 CSC 321 Conception et Analyse des Algorithmes 3
MAT 140 (O)
3 IT 373 Systems Concepts (Système d’Exploitation, gestion de 4 IT 313
fichier et Serveur web)
4 CSC 301 Structure des Données avec Java II 4 CSC 300 (R)
CSC 300 (R)
5 CSC 373 Programmation Systèmes I 4
MAT 140 (O)

6 SE 325 Introduction au Génie Logiciel 4 CSC 301 (R)

IT 320 Système de gestion de contenu 4 IT 211

7 IT 232 Développement Web II 4 IT 231 (R)

8 MGT 201 Développement Personnel 2 LAMBERT ATAMA-


GAMA
9 MGT 202 Micro – Economie 2

TOTAL CREDITS = 4 DONT 4 CREDITS D’UE LIBRE 30

9|Page
N Code Nom Crédit Prérequis Enseignants

Licence Génie Logiciel – Semestre 5

1 CSC 374 Programmation Systèmes II 4 CSC 373 (O)

2 CSC 376 Les Systèmes Répartis 4 CSC 301 (O)


CSC 373 (O)
Développement d’Applications avec la Programmation
3 SE 350 4 CSC 301 (O)
Orientée Objet

4 CSC 360 Architecture & Développement de l’Interface Utilisateur 3 CSC 301 (O)

Développement d’Applications de Classe Entreprise avec la


5 SE 352 4 CSC 301 (O)
Programmation Orientée Objet (UE Libre)
CSC301
6 CSC 347 Concept des Langages de Programmation 4
CSC373

7 CSC 372 Mobile Application Development For Android 3 CSC 301 (O)

8 CSC 355 DataBase Systems 4 CSC 301 (O)

TOTAL CREDITS 30

10 | P a g e
N Code Nom Crédit Prérequis Enseignants

Licence Génie Logiciel – Semestre 6

1 MMAD Certified Master Mobile Application Developer (UE Libre) 4 CSC 372(R)

2 SE 359 Agile Software Development 4 SE 350(R)

3 CSC 343 Introduction aux Systèmes d’Exploitation 4 CSC 301 and CSC 373
and CSC 374
4 CSC 308 Frameworks pour le Développement d’Application Web 4 CSC 374 (R)

5 SE 333 Tests de Logiciels 2 CSC 301 (O)

6 CSC 394 Projet de Fin d’Etude - Stage 8 CSC 301 (O)

7 MGT 301 Entreprenariat (UE Libre) 2 AGBODJINOU

8 MGT 302 Gestion des projets 2 BATABA Serge

TOTAL CREDITS 30

11 | P a g e
LISTE DES MANUELS DE
COURS

12 | P a g e
PREMIERE ANNEE

13 | P a g e
UNITE D’ENSEIGNEMENT MANUEL DE REFERENCE LIVRE 2 LIVRE 3 LIVRE 4

MCSA 70-698

Installation &
Configuration de
Windows 10 Titre: Exam Ref 70-698 Installing
Titre : Windows 10 - Installation et and Configuring Windows 10
Titre : MCSA Windows 10 Study configuration by Andrew Bettany and Andrew
Guide: Exam 70-698 Auteur(s) Philippe Païola Warren
Auteur(s) William Panek Broché: 552 pages Nombre de pages de l'édition
Paperback: 600 pages Editeur : Editions ENI (9 décembre imprimée : 496 pages
Publisher: Sybex; 1 edition (January 2015) Utilisation simultanée de l'appareil :
4, 2017) Collection : Ressources Jusqu'à 5 appareils simultanés,
Language: English informatiques selon les limites de l'éditeur
ISBN-10 : 1119327598 Langue : Français Editeur : Microsoft Press; Édition :
ISBN-13: 978-1119327592 ISBN-10 : 274609830X 2 (20 juillet 2018)
ISBN-13: 978-2746098305 Vendu par : Amazon Media EU S.à
r.l.
Langue : Anglais

14 | P a g e
UNITE
MANUEL DE REFERENCE LIVRE 2 LIVRE 3 LIVRE 4
D’ENSEIGNEMENT

CSC 241

Introduction to
Computer Science I
(Algorithmes &
Introduction à la
programmation Editeur(s) Eni
structurée) Auteur(s) Sébastien Rohaut
Editeur(s) Ellipses
- Franck Ebel
Auteur(s) Vincent Maille
Introduction to Computing Using Collection Ressources
Parution 22/04/2015
Python: An Application Development informatiques
Edition 1ère édition
Focus, 2nd Edition Parution 14/05/2014
Nb de pages 288
Edition 1ère édition
Ljubomir Perkovic Format 17 x 24
Nb de pages 430
ISBN : 978-1-118-89094-3 Couverture Broché
Format 18 x 22
Apr 2015 Poids 575
Couverture Broché
Intérieur Noir et Blanc
480 pages Poids 700
EAN13 9782340004603
Intérieur Noir et Blanc
ISBN13 978-2-340-00460-3
EAN13 9782746089198
ISBN13 978-2-7460-8919-8

15 | P a g e
16 | P a g e
UNITE D’ENSEIGNEMENT MANUEL DE REFERENCE LIVRE 2 LIVRE 3 LIVRE 4

MAT 140

Mathématiques discrètes I

Mathématiques discrètes
Cours d'algèbre : Groupes,
Discrete Mathematics with appliquées à l'informatique
anneaux, modules et corps
Applications 4th Fourth Edition De Rod Haggarty (Auteur),
De Ibrahim Assem (Auteur),
by Susanna S. Epp (Author) Cassereau Didier (Auteur)
Pierre Yves Leduc (Auteur)
Paperback Broché : 224 pages
Broché : 694 pages
Publisher: Cengage India; 4th Editeur : Pearson Education (15 juin
Editeur : Presses Polytechnique
edition (2011) 2005)
de Montréal (18 mars 2009)
Language: English Collection : Informatique
Langue : Français
ISBN-10: 8131533026 Langue : Français
ISBN-10 : 2553014198
ISBN-13: 978-8131533024 ISBN-10 : 2744071005
ISBN-13: 978-2553014192
ISBN-13: 978-2744071003

17 | P a g e
18 | P a g e
UNITE
MANUEL DE REFERENCE LIVRE 2 LIVRE 3 LIVRE 4
D’ENSEIGNEMENT

IT 130

Introductory
Computing for
the Web
(Construction de
Sites Web)
Titre: HTML5 & CSS3 Visual Quick
A Balanced Introduction to Computer Simply JavaScript by Kevin Yank &
Start Guide 7th Edition, Auteurs:
Science (3rd Edition) 3rd Edition Cameron Adams
by David Reed (Author) Elizabeth Castro & Bruce Hyslop
Pages: 432
Paperback: 432 pages Series: Visual QuickStart Guide
Published: 2007-09-01
Publisher: Pearson; 3 edition Paperback: 550 pages
(September 10, 2010) ISBN: 978-0-9802-8580-2
Publisher: Peachpit Press; 7
Language: English editions (December 31, 2011) Publisher: Site Point
ISBN-10: 0132166755 Language: English Release Date: June 2007
ISBN-13: 978-0132166751 Topics: JavaScript
ISBN-10: 0321719611
ISBN-13: 978-0321719614

19 | P a g e
UNITE MANUEL DE REFERENCE LIVRE 2 LIVRE 3 LIVRE 4
D’ENSEIGNEMENT

IT 130

Introduction aux
technologies
Web (HTML,
CSS, JavaScript,
Editeur(s) Eyrolles Editeur(s) Eni
référencement) Auteur(s) Mathieu Nebra Auteur(s) : Christophe
Collection OpenClassrooms Aubry - Luc Van Lancker -
Parution 07/09/2017 Christian Vigouroux
14/09/2017 Edition 2ème édition Collection : Coffret Expert
(2/2) Nb de pages 364 Parution : 10/05/2017
Format 17 x 24 - Edition :2ème édition
Couverture Broché - Nb de pages : 1216
Poids 695 - Format : 18 x 22
Intérieur Quadri - Couverture : Broché
EAN13 9782212674767 Intérieur Noir et Blanc
9782212595314 EAN13 9782409007552
ISBN13 978-2-212-67476-7 N/A ISBN13 978-2-409-00755-2

20 | P a g e
UNITE
MANUEL DE REFERENCE LIVRE 2 LIVRE 3 LIVRE 4
D’ENSEIGNEMENT

IT 240

Introduction aux
Bases de
Données – Database Concepts (8th Edition) 8th
UML/SQL Edition
Conception de bases de données
by David M. Kroenke (Author), David Bases de données - 3e éd.
avec UML Broché – 22 octobre
J. Auer (Author), Scott L. Concepts, utilisation et
2007
Vandenberg (Author), Robert C. développement
De Gilles Roy (Auteur)
Yoder (Author) Collection : InfoSup, Dunod
Editeur : Presses de l'Université
Paperback: 576 pages Parution : 2015-06-10
du Québec (22 octobre 2007)
Publisher: Pearson; 8 edition Jean-Luc Hainaut
Collection : INFORMATIQUE
(January 23, 2017) Pages :704
Langue : Français
Language: English Collection : InfoSup
ISBN-10 : 2760515001
ISBN-10: 013460153X EAN papier : 9782100727063
ISBN-13: 978-2760515000
ISBN-13: 978-0134601533
https://goo.gl/XTXBnU

21 | P a g e
UNITE D’ENSEIGNEMENT MANUEL DE REFERENCE LIVRE 2 LIVRE 3 LIVRE 4

IT 263
Applied Networks and
Security (Introduction
aux Réseaux Locaux et
à la Sécurité Titre: CCNA Routing and Titre: CCENT/CCNA ICND1
Informatique) Switching Study Guide 100-105 Official Cert Guide
Auteur : Todd Lammle Author(s):Wendell Odom
Broché : 1136 pages Series: Official Cert Guide
Editeur : Sybex Inc., U.S. ; Hardcover: 1024 pages
Édition : 2nd (16 septembre Publisher: Cisco Press;
2016) 1 edition (May 27, 2016)
Langue : Anglais Language: English
ISBN-10 : 1119288282 ISBN-10: 1587205807
ISBN-13: 978-1119288282 ISBN-13: 978-1587205804

22 | P a g e
UNITE D’ENSEIGNEMENT MANUEL DE REFERENCE LIVRE 2 LIVRE 3 LIVRE 4

MAT 150

Calculus I
Mathématiques 1re année MPSI
Tout en un (H Prépa Mathématiques Méthodes et
Mathématiques) Exercices MPSI - 3e éd.
De Xavier Oudot (Auteur), Marie AUTEURS : de Jean-Marie Monier
Allano-Chevalier (Auteur) (Auteur), Guillaume Haberer
Format : Format Kindle (Auteur), Cécile Lardon (Auteur)
Pages 544 pages
Taille du fichier : 17497 KB
Format 193 x 250 mm
Editeur : Hachette Éducation (20 Collection J'intègre
août 2008) Parution août 2015
Vendu par : Amazon Media EU S.à Marque Dunod
r.l. Public Prépas scientifiques
Langue : Français EAN 9782100727803
ASIN: B00TEE7TXO

23 | P a g e
UNITE D’ENSEIGNEMENT MANUEL DE REFERENCE LIVRE 2 LIVRE 3 LIVRE 4

MGT 101
Anglais Technique
Titre: Oxford Advanced Learner’s
Titre: Correct English Dictionary, 8 th Edition,
Auteurs: Metcalfe, J. E. and Astle C. International Student’s
Format/binding: Paperback: 320 Series: Oxford Advanced Learner's
pages Dictionary, 8th Edition Oxford Advanced Learner’s
Book condition: Very Good
Hardcover: 96 pages Dictionary, 8 th Edition,
Binding: Paperback
ISBN 10: 189960605X Publisher: Not Avail; 8th Revised International Student’s Edition
ISBN 13: 9781899606054 ed. edition (June 1, 2011)
Publisher: Clarion Language: English
ISBN-10: 0194799042
ISBN-13: 978-0194799041

24 | P a g e
UNITE D’ENSEIGNEMENT MANUEL DE REFERENCE LIVRE 2 LIVRE 3 LIVRE 4

WRD 103
Techniques
d’expressions écrites
et orales
Titre : Structurer sa pensée,
Titre : Expression, communication structurer sa phrase : Techniques
Auteur : Francis Vanoye d'expression orale et écrite,
Broché : 241 pages formation continue niveau
supérieur
Editeur : Armand Colin
Editeur(s) Hachette
Collection : Collection U Auteur(s) Gilberte Niquet
ISBN-10 : 2200310919 Collection : Technique
ISBN-13 : 978-2200310912 Langue : Français
ISBN-10 : 2010121228
ISBN-13: 978-2010121227

25 | P a g e
UNITE D’ENSEIGNEMENT MANUEL DE REFERENCE LIVRE 2 LIVRE 3 LIVRE 4

MGT 102
Economie générale Titre : Les Fondamentaux -
Economie Générale
Editeur(s) Hachette Titre: Principles of Economics, 7th
Auteur(s) Éric Bosserelle Edition
Collection Les fondamentaux -
Auteur: N. Gregory Mankiw
Economie-gestion
Parution 23/08/2017 Series: MindTap Course List
Edition 6ème édition Hardcover: 880 pages
Nb de pages 160 Publisher: Cengage Learning; 7th
Format 14 x 19 edition (2014)
Couverture Broché
Language: English
Poids 185
Intérieur Noir et Blanc ISBN-10: 128516587X
EAN13 9782017009801 ISBN-13: 978-1285165875
ISBN13 978-2-01-700980-1
UNITE D’ENSEIGNEMENT MANUEL DE REFERENCE LIVRE 2 LIVRE 3 LIVRE 4

MCSA 70-697
Configuration des
Appareils Windows Editeur(s) Eni
Auteur(s) Philippe Païola -
Pierre Salvy
Collection Coffret Certification
technique Exam Ref 70-697 Configuring
Parution 07/12/2016 Windows Devices 
Edition 1ère édition
ISBN 9781509303014,
Nb de pages 846
Format 18 x 22 by Andrew Bettany and Jason
Couverture Broché Kellington.
Poids 1410
Intérieur Noir et Blanc
EAN13 9782409005190
ISBN13 978-2-409-00519-0Warren.

27 | P a g e
UNITE
MANUEL DE REFERENCE LIVRE 2 LIVRE 3 LIVRE 4
D’ENSEIGNEMENT

Livre recommandé par le professeur

IT 223
Analyse des données
Introduction to the Practice of
Statistics
by David S. Moore (Author),
George P. McCabe (Author), Bruce
A. Craig (Author)
Hardcover: 725 pages
Publisher: W. H. Freeman; Ninth
edition (December 15, 2016)
Language: English
ISBN-10: 1319013384
ISBN-13: 978-1319013387

28 | P a g e
UNITE D’ENSEIGNEMENT MANUEL DE REFERENCE LIVRE 2 LIVRE 3 LIVRE 4

CSC 242
Algorithmes &
Programmation
Structurée avec Python
II Editeur(s) Ellipses Apprendre à programmer
Introduction to Computing Using Python: Auteur(s) Vincent Maille avec Python 3
An Application Development Focus, 2nd Parution 22/04/2015 Auteur(s) : Gérard Swinnen
Edition Edition 1ère édition Editeur(s) : Eyrolles
Ljubomir Perkovic Nb de pages 288 Collection : Noire
ISBN : 978-1-118-89094-3 Format 17 x 24 Nombre de pages : 436 pages
Couverture Broché Date de parution : 02/02/2012
Apr 2015
Poids 575 (3e édition)
480 pages
Intérieur Noir et Blanc EAN13 : 9782212134346
EAN13 9782340004603
ISBN13 978-2-340-00460-3 Diffusé par Geodif

29 | P a g e
UNITE D’ENSEIGNEMENT MANUEL DE REFERENCE LIVRE 2 LIVRE 3 LIVRE 4

MAT 141
Logique &
Mathématiques
Discrètes II Les mathématiques à l'aube du XXIè Mathématiques discrètes
Eléments de mathématiques
discrètes
siècle appliquées à l'informatique Editeur(s) : Ellipses
Editeur(s) Belin De Rod Haggarty (Auteur), Auteur(s) : Mathieu Jaume
Auteur(s) Piergiorgio Odifreddi
Cassereau Didier (Auteur) Collection : Références sciences
Collection Regards sur la
Broché : 224 pages Parution : 12/12/2016
science
Edition : 1ère édition
Parution 27/09/2004 Editeur : Pearson Education (15
Nb de pages : 528
Edition 1ère édition juin 2005) Format 19 x 24
Nb de pages 175 Collection : Informatique Couverture : Broché
Couverture Broché
Langue : Français Poids : 48
Poids 249
ISBN-10 : 2744071005 Intérieur : Noir et Blanc
Intérieur Noir et Blanc
EAN13 : 9782340014800
EAN13 9782701138305 ISBN-13: 978-2744071003
ISBN13: 978-2-340-01480-0

30 | P a g e
UNITE
MANUEL DE REFERENCE LIVRE 2 LIVRE 3 LIVRE 4
D’ENSEIGNEMENT

TDC 363
Introduction to Local
Area Networks
(Interconnexion des
Réseaux (CISCO Titre: CNA Routing and
ICND2)) Titre: CCNA Routing and Switching Switching ICND2 200-105
Study Guide Official Cert Guide 1st Edition
Auteur : Todd Lammle Author(s):Wendell Odom
Broché : 1136 pages Series: Official Cert Guide
Editeur : Sybex Inc., U.S. ; Édition : Hardcover: 1024 pages
2nd (16 septembre 2016) Publisher: Cisco Press; 1 edition
Langue : Anglais (May 27, 2016)
ISBN-10 : 1119288282 Language: English
ISBN-13: 978-1119288282 ISBN-10: 1587205807
ISBN-13: 978-1587205804

31 | P a g e
UNITE D’ENSEIGNEMENT MANUEL DE REFERENCE LIVRE 2 LIVRE 3 LIVRE 4

Livre recommandé par le


professeur

ACC 101
Comptabilité

Financial & Managerial Accounting,


Needles, Powers, Mills and
Anderson, 5th edition, Houghton
Mifflin

32 | P a g e
UNITE D’ENSEIGNEMENT MANUEL DE REFERENCE LIVRE 2 LIVRE 3 LIVRE 4

Livre recommandé par le


professeur

MGT 103
Droit Général

33 | P a g e
DEUXIEME ANNEE

34 | P a g e
UNITE D’ENSEIGNEMENT MANUEL DE REFERENCE LIVRE 2 LIVRE 3 LIVRE 4

CSC 299
Outils,
Méthodologies et
Formalismes en
Programmation Programming the Raspberry Pi, Hacking Electronics: Learning
Second Edition: Getting Started Electronics with Arduino and
with Python Raspberry Pi, Second Edition
by Simon Monk (Author) by Simon Monk (Author)
Paperback: 208 pages Paperback: 304 pages
Publisher: McGraw-Hill Education Publisher: McGraw-Hill Education
TAB; 2 editions (October 5, 2015) TAB; 2 editions (September 28, 2017)
Language: English Language: English
ISBN-10: 1259587401 ISBN-10: 1260012204
ISBN-13: 978-1259587405 ISBN-13: 978-1260012200

35 | P a g e
UNITE D’ENSEIGNEMENT MANUEL DE REFERENCE LIVRE 2 LIVRE 3 LIVRE 4

CSC 300
Structure des Données
avec Java I
Titre: Java How to Program,
Core Java for the Impatient 1st Algorithms, 4th Edition
Early Objects
Edition Robert Sedgewick, Princeton
Auteurs: Paul J. Deitel (Author),
by Cay S. Horstmann (Author) University
Harvey Deitel
Paperback: 512 pages Kevin Wayne, Princeton
Series: Deitel: How to Program
Publisher: Addison-Wesley University
Paperback: 1296 pages
Professional; 1 edition (February ©2011
Publisher: Pearson; 11 editions
12, 2015) Addison-Wesley Professional
(March 2, 2017)
Language: English ISBN: 9780321573513)
Language: English
ISBN-10: 0321996321 https://goo.gl/jYarpS
ISBN-10: 0134743350
ISBN-13: 978-0321996329 https://goo.gl/FqNn2f
ISBN-13: 978-0134743356

36 | P a g e
UNITE D’ENSEIGNEMENT MANUEL DE REFERENCE LIVRE 2 LIVRE 3 LIVRE 4

ECT 330
Techniques Avancées
de Développement Professional ASP.NET 4.5 in C#
d’Application Internet and VB 1st Edition
by Jason N. Gaylord (Author),
Christian Wenz (Author), Pranav
Rastogi (Author), Todd Miranda
(Author), Scott Hanselman
(Author), Scott Hunter (Foreword)
Paperback: 1440 pages
Publisher: Wrox; 1 edition (May 6,
2013)
Language: English
ISBN-10: 1118311825
ISBN-13: 978-1118311820

37 | P a g e
UNITE D’ENSEIGNEMENT MANUEL DE REFERENCE LIVRE 2 LIVRE 3 LIVRE 4

MAT 151
Calculs II Calculus: Concepts and
Contexts (Available 2010 Titles
Enhanced Web Assign) 4th
Edition
by James Stewart (Author)
Series: Available 2010 Titles
Enhanced Web Assign (Book 4)
Hardcover: 1152 pages
Publisher: Brooks Cole; 4
editions (March 9, 2009)
Language: English
ISBN-10: 0495557420
ISBN-13: 978-0495557425

38 | P a g e
UNITE D’ENSEIGNEMENT MANUEL DE REFERENCE LIVRE 2 LIVRE 3 LIVRE 4

TDC 365
Technologies
d’Interconnexion TCP / IP Protocol Suite, 4ème édition.
Réseaux (TCP/IP) Par Behrouz A. Forouzan, McGraw-
Hill, ISBN: 978-0073376042.
Internetworking avec TCP / IP,
Volume 1 par Comer, Prentice Hall /
Pearson, 2014. ISBN : 978-
0136085300
928 pages Date de publication 01 Apr
2009 Éditeur McGraw-Hill Education
– Europe Mentions légales McGraw
Hill Higher Education
Publication Ville / Localité London,
États-Unis Langue : Anglais

39 | P a g e
40 | P a g e
UNITE
MANUEL DE REFERENCE LIVRE 2 LIVRE 3 LIVRE 4
D’ENSEIGNEMENT

IT 211
Introduction au
Développement
des
Applications
Allen B. Downey, Think Python, how to
Think Like a Computer Scientist,
O'Reilly, 2016.
Paperback: 292 pages
Publisher: O'Reilly Media; 2 editions
(December 28, 2015)
Language: English
ISBN-10: 1491939362
ISBN-13: 978-1491939369

41 | P a g e
UNITE
MANUEL DE REFERENCE LIVRE 2 LIVRE 3 LIVRE 4
D’ENSEIGNEMENT

official site
documentationrails.org
https://guides.rubyonrails.org/
IT 231

Développement
Web I (Ruby on
Rails)

Agile Web Development with Rails


Beginning Ruby: From Novice
5.1
to Professional 3rd ed. Edition
(1/2) By: Dave Thomas; David B.
by Peter Cooper  (Author)
Copeland; Sam Ruby
Paperback: 454 pages
Broché: 450 pages
Publisher: Apress; 3rd ed.
Editeur : Pragmatic Bookshelf (5
edition (July 12, 2016)
décembre 2017)
Language: English
Langue : Anglais
ISBN-10: 1484212797
ISBN-10: 1680502514
ISBN-13: 978-1484212790
ISBN-13: 978-1680502510

42 | P a g e
UNITE
MANUEL DE REFERENCE LIVRE 2 LIVRE 3 LIVRE 4
D’ENSEIGNEMENT

TUTORIEL GRATUIT
SUR SYMPHONY
IT 231 https://goo.gl/bkgQgG

Développement
Web I
(PHP/Symphony)

Développer un site web en PHP,


MySQL et Javascript: jQuery, CSS3
Concevez votre site web avec PHP et HTML5. Broché – 5 novembre The definite guide to symfony
et MySQL Broché – 2 novembre 2015 Build professional, PHP-driven
2017 de Robin Nixon  (Auteur) websites faster with the popular
de Mathieu Nebra  (Auteur) Broché: 778 pages symfony framework
Broché: 392 pages Editeur : Reynald Goulet; Édition : 4 de François Zaninotto, Fabien
(2/2) Editeur : Eyrolles; Édition : 3 (2 (5 novembre 2015)
novembre 2017) Collection : O'Reilly Potencier
Collection : OpenClassrooms Langue : Français Édition : Apress - 452 pages , 1re
Langue : Français ISBN-10: 2893775470 édition, 22 janvier 2007
ISBN-10: 2212674759 ISBN-13: 978-2893775470 ISBN10 : 1590597869 - ISBN13 :
ISBN-13: 978-2212674750 9781590597866

43 | P a g e
UNITE MANUEL DE REFERENCE LIVRE 2 LIVRE 3 LIVRE 4
D’ENSEIGNEMENT

ORGC 201
Communication
Professionnelle
& Marketing

44 | P a g e
UNITE MANUEL DE REFERENCE LIVRE 2 LIVRE 3 LIVRE 4
D’ENSEIGNEMENT

ECT 360
Introduction à
XML

XML XML Modélisation XML


Cours et exercices. Modélisation, Cours et exercices. Modélisation, Auteur(s) : Antoine Lonjon, New Perspectives on XML,
Schémas et DTD, design patterns, Schémas et DTD, design patterns, Jean-Jacques Thomasson, Comprehensive 3rd Edition
XSLT, DOM, Relax NG, XPath, XSLT, DOM, Relax NG, XPath, Libero Maesano by Patrick Carey (Author), Sasha
SOAP, XQuery, XSL-FO, SVG, Vodnik (Author)
SOAP, XQuery, XSL-FO, SVG, Editeur(s) : Eyrolles
Series: New Perspectives
eXist. eXist. Collection : Architecte logiciel Paperback: 768 pages
Auteur(s) : Alexandre Brillant Auteur(s) : Alexandre Brillant Nombre de pages : 528 pages Publisher: Course Technology; 3
Editeur(s) : Eyrolles Editeur(s) : Eyrolles Date de parution : 19/01/2006 editions (December 2, 2014)
Collection : Noire Collection : Noire EAN13 : 9782212115215 Language: English
Nombre de pages : 336 pages ISBN-10: 128507582X
Nombre de pages : 336 pages
Date de parution : 16/07/2010 (2e ISBN-13: 978-1285075822
Date de parution : 16/07/2010 (2e
édition)
édition)
EAN13 : 9782212126914
EAN13 : 9782212126914

45 | P a g e
UNITE MANUEL DE REFERENCE LIVRE 2 LIVRE 3 LIVRE 4
D’ENSEIGNEMENT

CSC 321
Conception et
Analyse des
Algorithmes

Algorithms by Johnsonbaugh, Richard,


Schaefer, Marcus published by
Prentice Hall (2003)
Hardcover
Publisher: Prentice Hall
ASIN: B00E28RLMG

46 | P a g e
UNITE MANUEL DE REFERENCE LIVRE 2 LIVRE 3 LIVRE 4
D’ENSEIGNEMENT

IT 373
Systems
Concepts
(Système
d’Exploitation,
gestion de
fichier et Operating Systems In Depth:
Serveur web) Design and Programming 1st
Operating System Concepts
Edition
Essentials 2nd Edition
by Abraham Silberschatz (Author), by Thomas W. Doeppner (Author)
Peter B. Galvin (Author), Greg Gagne Hardcover: 444 pages
(Author) Publisher: Wiley; 1 edition
Paperback: 784 pages
Publisher: Wiley; 2 edition (November (November 2, 2010)
18, 2013) Language: English
Language: English ISBN-10: 0471687235
ISBN-10: 1118804929
ISBN-13: 978-1118804926 ISBN-13: 978-0471687238

47 | P a g e
UNITE MANUEL DE REFERENCE LIVRE 2 LIVRE 3 LIVRE 4
D’ENSEIGNEMENT

CSC 301
Structure des
Données avec
Java II

Think Java, how to Think Like a


Algorithms, 4th Edition Computer Scientist
Robert Sedgewick, Princeton Auteurs: Allen B. Downey, Chris
University Mayfield
Kevin Wayne, Princeton University Broché : 252 pages
©2011 Editeur : O'Reilly Media, Inc, USA (24
Addison-Wesley Professional mai 2016)
ISBN: 9780321573513) Langue : Anglais
https://goo.gl/jYarpS ISBN-10 : 1491929561
https://goo.gl/FqNn2f ISBN-13: 978-1491929568

48 | P a g e
UNITE MANUEL DE REFERENCE LIVRE 2 LIVRE 3 LIVRE 4
D’ENSEIGNEMENT

CSC 373
Programmation
Systèmes I

Programming in Objective-C (6th


Computer Systems: A Programmer's Edition) (Developer's Library) 6th
Perspective (3rd Edition) Edition
3rd Edition by Stephen G. Kochan (Author)
by Randal E. Bryant (Author), David R.
Series: Developer's Library
O'Hallaron (Author)
Hardcover: 1128 pages Paperback: 552 pages
Publisher: Pearson; 3 edition (March Publisher: Addison-Wesley
12, 2015) Professional; 6 edition (December
Language: English 13, 2013)
ISBN-10: 013409266X Language: English
ISBN-13: 978-0134092669 ISBN-10: 0321967607
ISBN-13: 978-0321967602

49 | P a g e
UNITE MANUEL DE REFERENCE LIVRE 2 LIVRE 3 LIVRE 4
D’ENSEIGNEMENT

SE 325
Introduction au
Génie Logiciel

Applying UML and Patterns: An


Introduction to Object-Oriented
Analysis and Design and Iterative
Development (3rd Edition)
by Craig Larman (Author)
Hardcover: 736 pages
Publisher: Prentice Hall; 3 editions
(October 30, 2004)
Language: English
ISBN-10: 0131489062
ISBN-13: 978-0131489066

50 | P a g e
UNITE MANUEL DE REFERENCE LIVRE 2 LIVRE 3 LIVRE 4
D’ENSEIGNEMENT

Meilleurs livres pour apprendre


WordPress :

https://asphaltthemes.com/15-best-
wordpress-books-for-beginners-to-
IT 320
learn-wordpress-in-2018/
Système de
Gestion de
Contenu

WordPress et WooCommerce -
Créer votre boutique en ligne
Créer votre boutique en ligne
Auteur(s) : Christophe Aubry
Editeur(s) : Eni
Collection : Objectif Web
Nombre de pages : 422 pages
Date de parution : 15/11/2017
EAN13 : 9782409010903

51 | P a g e
UNITE MANUEL DE REFERENCE LIVRE 2 LIVRE 3 LIVRE 4
D’ENSEIGNEMENT

official site
documentationrails.org
https://guides.rubyonrails.org/
IT 232
Développement
Web II

Agile Web Development with Rails Beginning Ruby: From Novice


5.1 to Professional 3rd ed. Edition
By: Dave Thomas; David B. by Peter Cooper  (Author)
Copeland; Sam Ruby Paperback: 454 pages
Broché: 450 pages Publisher: Apress; 3rd ed.
Editeur : Pragmatic Bookshelf (5 edition (July 12, 2016)
décembre 2017) Language: English
Langue : Anglais ISBN-10: 1484212797
ISBN-10: 1680502514 ISBN-13: 978-1484212790
ISBN-13: 978-1680502510

52 | P a g e
UNITE MANUEL DE REFERENCE LIVRE 2 LIVRE 3 LIVRE 4
D’ENSEIGNEMENT

MGT 201
Développement
Personnel

53 | P a g e
UNITE MANUEL DE REFERENCE LIVRE 2 LIVRE 3 LIVRE 4
D’ENSEIGNEMENT

MGT 202
Micro –
Economie

54 | P a g e
UNITE MANUEL DE REFERENCE LIVRE 2 LIVRE 3 LIVRE 4
D’ENSEIGNEMEN
T

CSC 374
Programmatio
n Systèmes II

Programming in Objective-C (6th


Computer Systems: A Programmer's Perspective Edition) (Developer's Library) 6th
(3rd Edition) Edition
3rd Edition by Stephen G. Kochan (Author)
by Randal E. Bryant (Author), David R. O'Hallaron
Series: Developer's Library
(Author)
Hardcover: 1128 pages Paperback: 552 pages
Publisher: Pearson; 3 edition (March 12, 2015) Publisher: Addison-Wesley
Language: English Professional; 6 edition (December 13,
ISBN-10: 013409266X 2013)
ISBN-13: 978-0134092669 Language: English
ISBN-10: 0321967607
UNITE MANUEL DE REFERENCE ISBN-13:
LIVRE 2 978-0321967602 LIVRE 3 LIVRE 4
D’ENSEIGNEMEN

55 | P a g e
T

CSC 376
Les Systèmes
Répartis

Java Network Programming, 4th Edition


By Elliotte Harold
Broché : 502 pages
Editeur : O′Reilly ; Édition : 4th Revised
edition (11 octobre 2013)
Langue : Anglais
ISBN-10: 1449357679
ISBN-13: 978-1449357672

UNITE MANUEL DE REFERENCE LIVRE 2 LIVRE 3 LIVRE 4


D’ENSEIGNEMEN
T

56 | P a g e
SE 350
Développeme
nt
d’Applications
avec la
Programmatio
n Orientée
Head First Design Patterns: A Brain-Friendly Design Patterns Explained: A New
Objet Guide 1st Edition Perspective on Object Oriented Design, Object–Oriented Design and
by Eric Freeman (Author), Bert Bates (Author), 2nd Edition Patterns
Kathy Sierra (Author), Elisabeth Robson (Author) by Alan Shalloway (Author), James R. de Cay S. Horstmann
Series: Head First Trott (Author) (Auteur)
Paperback: 694 pages Series: Software Patterns Broché : 476 pages
Publisher: O'Reilly Media; 1st edition (October Paperback: 480 pages Editeur : John Wiley & Sons ;
2004) Publisher: Addison-Wesley; 2nd edition Édition : 2nd Edition (15 juillet
Language: English (October 22, 2004) 2005)
ISBN-10: 0596007124
Language: English Langue : Anglais
ISBN-13: 978-0596007126
ISBN-10: 0321247140 ISBN-10 : 0471744875
ISBN-13: 978-0321247148 ISBN-13: 978-0471744870

UNITE MANUEL DE REFERENCE LIVRE 2 LIVRE 3 LIVRE 4


D’ENSEIGNEMEN
T

57 | P a g e
CSC 360
Architecture &
Développeme
nt de
l’Interface
Utilisateur

Paperback: 456 pages Series: Head First


Publisher: Packt Publishing - ebooks Account;
Paperback: 610 pages
2nd Revised edition edition (December 8,
Publisher: O'Reilly Media; 1 edition
2017)
(October 21, 2011)
Language: English
Language: English
ISBN-10: 1787124924
ISBN-10: 1449390544
ISBN-13: 978-1787124929
ISBN-13: 978-1449390549

UNITE MANUEL DE REFERENCE LIVRE 2 LIVRE 3 LIVRE 4


D’ENSEIGNEMEN
T

58 | P a g e
SE 352
Développeme
nt
d’Applications
de Classe
Entreprise
avec la
Programmatio Murach's Java Servlets and JSP, 3rd Edition
n Orientée by Joel Murach (Author), Michael Urban (Author)
Series: Murach: Training & Reference (Book 3)
Objet Paperback: 758 pages
Publisher: Mike Murach & Associates; 3rd edition
(June 9, 2014)
Language: English
ISBN-10: 1890774782
ISBN-13: 978-1890774783

UNITE MANUEL DE REFERENCE LIVRE 2 LIVRE 3 LIVRE 4


D’ENSEIGNEMEN
T

59 | P a g e
UNITE MANUEL DE REFERENCE LIVRE 2 LIVRE 3 LIVRE 4
D’ENSEIGNEMEN
T

60 | P a g e
CSC 372
Mobile
Application
Development
For Android

Android Internals: Power User's View


by Jonathan Levin (Author)
Series: Android Internals
Paperback: 250 pages
Publisher: Jonathan Levin; 1st edition (January
20, 2015)
Language: English
ISBN-10: 0991055527
ISBN-13: 978-0991055524

UNITE MANUEL DE REFERENCE LIVRE 2 LIVRE 3 LIVRE 4


D’ENSEIGNEMEN
T

61 | P a g e
CSC 355
DataBase
Systems

Fundamentals of Database Systems (7th


Edition).
By Ramez Elmasri and Shamkant B.
Navathe.
ISBN 0-13-397077-9 or 978-0-13-397077-
7.

UNITE MANUEL DE REFERENCE LIVRE 2 LIVRE 3 LIVRE 4


D’ENSEIGNEMEN
T

62 | P a g e
MMAD
Certified
Master Mobile
Application
Developer

UNITE MANUEL DE REFERENCE LIVRE 2 LIVRE 3 LIVRE 4


D’ENSEIGNEMEN
T

63 | P a g e
Livre recommandé par le professeur

SE 359
Agile Software
Development

UNITE MANUEL DE REFERENCE LIVRE 2 LIVRE 3 LIVRE 4


D’ENSEIGNEMEN
T

64 | P a g e
CSC 343
Introduction
aux Systèmes
d’Exploitation

Thomas W. Doeppner, Operating Systems in


Depth, Hardcover: ISBN 978-04-471-68723-8
Ebook: ISBN 978-0-470-57131-6
444 pages
http://www.wiley.com/WileyCDA/WileyTitle/produc
tCd-EHEP001803.html

UNITE MANUEL DE REFERENCE LIVRE 2 LIVRE 3 LIVRE 4


D’ENSEIGNEMEN
T

65 | P a g e
CSC 308
Frameworks
pour le
Développeme
nt
d’Application
Web 9780578120218
SBN 9780578120218 Python Web Programming by Steve
Copyright Massimo Di Pierro (Standard Copyright Holden Publisher: Sams (January 18,
License) 2002) ISBN-10: 0735710902 ISBN-13:
Edition 5th Edition
978-0735710900
Publisher Experts4Solutions
Published March 12, 2013
Language English
Pages 61
Product ID 20745116
http://web2py.com/book

UNITE MANUEL DE REFERENCE LIVRE 2 LIVRE 3 LIVRE 4


D’ENSEIGNEMEN
T

66 | P a g e
SE 333
Tests de
Logiciels

Software Testing and Analysis:


Process, Principles and Techniques,
by Mauro Pezze, Michal Young, Wiley,
jApril 2007

UNITE MANUEL DE REFERENCE LIVRE 2 LIVRE 3 LIVRE 4


D’ENSEIGNEMEN
T

67 | P a g e
Livre recommandé par le professeur

CSC 394
Projet de Fin
d’Etude -
Stage

The Project Management Agile Project


The IT Project Management Answer
Question and Answer Book Management for
Book
by Michael W. Newell & Dummies
by David Pratt 2012
Marina N. Grashina 2004 by Mark C. Layton 2012
ISBN:9781567263770
ISBN:9780814471647 ISBN:9781118026243

UNITE MANUEL DE REFERENCE LIVRE 2 LIVRE 3 LIVRE 4


D’ENSEIGNEMEN
T

68 | P a g e
MGT 301
Entreprenariat

UNITE MANUEL DE REFERENCE LIVRE 2 LIVRE 3 LIVRE 4


D’ENSEIGNEMEN
T

69 | P a g e
MGT 302
Gestion des
projets

70 | P a g e
FICHES DE DESCRIPTION DES
COURS

71 | P a g e
PREMIERE ANNEE

72 | P a g e
Cours
MCSA 70-698
Installing and Configuring Windows 10 (exam 70-698)
1. Objectifs du cours
Depuis plus de 15 ans, Training Camp fournit des camps d'entraînement de certification
Microsoft soutenus par nos techniques de préparation aux examens primés. Nous avons
conçu les seuls cours Microsoft sur le marché qui fournissent un contenu à jour et pertinent
en utilisant un mélange hybride de didacticiels officiels de Microsoft et de notre méthode
exclusive Cours

Nos camps d'entraînement Microsoft renforceront votre connaissance des produits


Microsoft et vous prépareront à la livraison sur site des examens de certification Microsoft
requis qui sont pris sur place pendant les cours. Des vidéos exclusives d'étude en ligne pré-
classe, à la protection de certification Microsoft post-classe, nous proposons un package qui
couvrira tout ce dont vous avez besoin pour réussir vos objectifs d'entraînement Microsoft.
Concrètement, à l'issue de ce cours, vous serez capable de :
 Installer ou de migrer de Vista, Seven ou 8/8.1 vers Windows 10,
 Déployer Windows 10
 Utiliser les nouvelles fonctionnalités de Windows 10
 Maîtriser le paramétrage technique de l'interface,
 Configurer le réseau
 Gérer la sécurité de Windows 10
 Maîtriser les performances du démarrage du système,
 Maîtriser les nouvelles possibilités de stockage (Cloud, images ISO ou VHD, ...),
 Optimiser les performances et la disponibilité du système.
 Sauvegarder et restaurer Windows 10
 Résoudre des problèmes réseaux, systèmes, matériels,
 Méthodologie de résolution des problèmes
 Mise en œuvre d’une maintenance proactive

2. Concepts technologiques couverts par le cours


 Présentation de Windows 10
 Configuration post-installation
 Mise en réseau
 Implémentation de la sécurité réseau

73 | P a g e
 Gestion de Windows 10 avec une stratégie de groupe
 Implémentation de la gestion à distance
 Gestion du stockage
 Gestion des fichiers et des ressources
 Déploiement et gestion des applications
 Sécuriser Windows 10
 Implémentation de la connectivité à distance
 Maintenance de Windows 10
 Récupération de Windows 10

3. Pré-requis
Aucun
4. Proposition de découpage du cours

https://www.tstc.nl/training/387/mcsa-windows-10-70-698-installing-and-configuring-windows-10

Semaine 1
 Module 1 : Overview of Windows 10
 Module 2 : Performing post-installation configuration
Semaine 2
 Module 3 : Implementing networking
Semaine 3
 Module 4 : Implementing network security
Semaine 4
 Module 5: Managing Windows 10 with Group Policy
Semaine 5
 Module 6 : Implementing remote management
Semaine 6
 Module 7 : Managing storage

Semaine 7

74 | P a g e
 Module 8: Managing files and resources
Semaine 8
 Module 9: Deploying and managing apps
Semaine 9
 Module 10 : Securing Windows 10
Semaine 10
Module 11 : Implementing remote connectivity
Semaine 11
 Module 12 : Maintaining Windows 10
Semaine 12
 Module 13 : Recovering Windows 10

5. Manuels de cours
Manuel de reference
Titre: MCSA Windows 10 Study Guide: Exam 70-698
Auteur(s) William Panek
Paperback: 600 pages
Publisher: Sybex; 1 edition (January 4, 2017)
Language: English
ISBN-10 : 1119327598
ISBN-13 : 978-1119327592
Manuels recommandés
Livre1
Titre : Windows 10 - Installation et configuration
Auteur(s) Philippe Païola
Broché : 552 pages
Editeur : Editions ENI (9 décembre 2015)
Collection : Ressources informatiques
Langue : Français
ISBN-10 : 274609830X

75 | P a g e
ISBN-13 : 978-2746098305
Livre2
Titre: Exam Ref 70-698 Installing and Configuring Windows 10
by Andrew Bettany and Andrew Warren
Nombre de pages de l'édition imprimée : 496 pages
Utilisation simultanée de l'appareil : Jusqu'à 5 appareils simultanés, selon les limites de
l'éditeur
Editeur : Microsoft Press ; Édition : 2 (20 juillet 2018)
Vendu par : Amazon Media EU S.à r.l.
Langue: Anglais
ASIN: B07FTVVLHX
Livre3
How Computers Work: The Evolution of Technology, 10th Edition
by Ron White (Author), Timothy Edward Downs (Illustrator)
Series: How It Works
Paperback: 384 pages
Publisher: Que Publishing; 10 editions (December 18, 2014)
Language: English
ISBN-10: 078974984X
ISBN-13: 978-0789749840

6. Sommaire du manuel de cours de référence


Chapter 1 Windows 10 Installation 1

Understanding the Basics


Windows 10 Features
Windows Feature Deprecation
Windows 10 Architecture
Preparing to Install Windows 10
Windows 10 Home
Windows 10 Professional
Windows 10 Enterprise
New Install or Upgrade?
Disk Partitioning
Language and Locale

76 | P a g e
Installing Windows 10
Performing a Clean Install of Windows 10
Performing an Upgrade to Windows 10
Troubleshooting Installation Problems
Supporting Multiple-Boot Options
Using Windows Activation
Windows Update
The Update Process
Using Windows Update
Installing Windows Service Packs
Installing Windows Store Updates
Summary
Video Resources
Exam Essentials
Review Questions
Chapter 2 Installing in an Enterprise Environment
Understanding Imaging
An Overview of the System Preparation Tool and Disk Imaging
Overview of the Windows Assessment and Deployment Kit
Using the Deployment Image Servicing and Management Tool
Understanding Hyper-V
What Is Virtualization?
Installing the Hyper-V Role
Configuring Virtual Machines
Activating Machines in the Enterprise
Networking Basics
Active Directory–Based Activation
Summary
Video Resources
Exam Essentials
Review Questions

77 | P a g e
Chapter 3 Configuring Devices and Drivers
Configuring Hardware
Understanding Device Stage
Using Device Manager
Installing and Updating Device Drivers
Driver Signing
Managing I/O Devices
Configuring Removable Storage Devices
Managing Printers
Summary
Video Resources
Exam Essentials
Review Questions
Chapter 4 Configuring Storage
Understanding File Systems
File System Selection
File System Conversion
Configuring NTFS
Configuring Disk Storage
Basic Storage
Dynamic Storage
GUID Partition Table
Cloud-Based Storage
Using the Disk Management Utility
Using the Microsoft Management Console
Understanding the Disk Management Utility
Managing Storage
Managing Dynamic Storage
Troubleshooting Disk Management
Understanding Disk Management Status Codes
Troubleshooting Disks That Fail to Initialize

78 | P a g e
Managing Data Compression
Using the Compact Command-Line Utility
Using Compressed (Zipped) Folders
Understanding RAID
RAID Levels
Storage Spaces
Using Disk-Maintenance Tools
Using the Disk Optimization Utility
Using the Disk Cleanup Utility
Using the Check Disk Utility
PowerShell Disk Commands
Summary
Video Resources
Exam Essentials
Review Questions
Chapter 5 Configuring the Windows 10 Environment
Managing Windows
Manipulating the Desktop Environment
Configuring Personalization
Using Control Panel
Using the Microsoft Management Console
Using the System Icon
Understanding the Settings Window
Using PowerShell
Configuring Mobility Options
Configuring Offline Files and Synchronization
Configuring Power Policies
Configuring Windows to Go
Managing Windows 10 Services
Configuring Internet Browsers
Cortana

79 | P a g e
Browser Controls
Pinning Sites to the Taskbar
Searchable Address Bar
Security and Privacy Enhancements
Using the Browser’s Compatibility View
Using Protected Mode for IE11
Using InPrivate Browsing and InPrivate Filtering
Configuring Windows Internet Explorer 11 Options
Summary
Video Resources
Exam Essentials
Review Questions
Chapter 6 Configuring Data Security
Configuring Network Resources
Configuring HomeGroups in Windows 10
Configuring Folders
Understanding Dynamic Access Control
Securing Access to Files and Folders
Determining and Viewing Effective Permissions for NTFS
Determining NTFS Permissions for Copied or Moved Files
Managing Network Access
Creating and Managing Shared Folders
Configuring Share Permissions
NTFS vs. Share Permissions
Configuring OneDrive
Summary
Video Resources
Exam Essentials
Review Questions
Chapter 7 Windows 10 Networking
Understanding the Basics

80 | P a g e
Peer-to-Peer Networks
Onsite Active Directory Networks
Cloud-Based Azure Active Directory
Other Microsoft Networking Terms and Roles
Configuring NIC Devices
Configuring a Network Adapter
Troubleshooting a Network Adapter
Configuring Wireless NIC Devices
Configuring Wi-Fi Direct
Understanding TCP/IP
Benefits and Features of TCP/IP
Basics of IP Addressing and Configuration
Using IPv6 Addresses
Configuring TCP/IP on Windows 10
Testing Your IP Configuration
Configuring Windows 10 on a Network
Configuring Windows Firewall
Understanding the Windows Firewall Basics
Windows Firewall with Advanced Security
Summary
Video Resources
Exam Essentials
Review Questions
Chapter 8 Installing Applications
Understanding Deployment Options
Understanding System Center
Using the Windows 10 Application Deployment Tool
Deploying Software with the Windows Assessment and Deployment Kit (ADK)
Understanding GPO Deployments
Installing Applications
Using the Upgrade Analytics Tool

81 | P a g e
Windows Features
Configuring Startup Options
Using Hyper-V for Desktop Applications
Configuring User Experience Virtualization (UE-V)
Understanding AppLocker
Understanding Azure
Using Azure RemoteApp
Understanding App-V
Supporting the Windows Store
Installing and Managing Software by Using Microsoft Office and Windows Store Apps
Sideloading Apps into Online and Offline Images
Integrating Microsoft Accounts Including Personalization Settings
Summary
Video Resources
Exam Essentials
Review Questions
Chapter 9 Managing Authorization and Authentication
Understanding User Accounts
Account Types
Built-In Accounts
Local and Domain User Accounts
Working with User Accounts
Using the Local Users and Groups Utility
Using the User Accounts Option in Control Panel
Creating New Users
Disabling User Accounts
Deleting User Accounts
Renaming User Accounts
Changing a User’s Password
Using a Microsoft Passport, Pictures, and Biometrics
Using Device Guard

82 | P a g e
Understanding Credential Guard
Configuring Device Health Attestation
Managing User Properties
Managing User Group Membership
Setting Up User Profiles, Logon Scripts, and Home Folders
Troubleshooting User Account Authentication
Managing and Creating Groups
Using Built-In Groups
Creating Groups
Managing Group Membership
Deleting Groups
Managing Security Using GPOs and LGPOs
Understanding the GPO and LGPO Basics
Using the Group Policy Result Tool
Managing and Applying LGPOs
Configuring Local Security Policies
Using Account Policies
Using Local Policies
Configuring User Account Control
Privilege Elevation
Registry and File Virtualization
Understanding Smart Cards
Configuring Remote Management
Remote Assistance
Remote Desktop
Configuring a VPN Connection
Transparent Caching
Broadband Tethering
Summary
Video Resources
Exam Essentials

83 | P a g e
Review Questions
Chapter 10 Configuring Monitoring and Recovery
Understanding Recovery
Knowing the Advanced Boot Options
Starting in Safe Mode
Enabling Boot Logging
Using Other Startup Setting Options
Understanding System Restore
Using the System Image Recovery
Using the Startup Repair Tool
Maintaining Windows 10 with Backup and Restore
Creating a Backup
Restoring Files from a Backup
Recovering Files from OneDrive
Using the Wbadmin Command Utility
Using Advanced Backup Options
Using System Protection
Creating Restore Points
Restoring Restore Points
Cleaning Up Old Restore Points
Using the Recycle Bin
Monitoring Windows
Introducing Performance Monitor
Using Other Performance-Monitoring Tools
Summary
Video Resources
Exam Essentials
Review Questions

84 | P a g e
Cours
CSC 241 Introduction to Computer Science I (Algorithmes &
Introduction à la programmation structurée)
1. Objectifs du cours
Une introduction à la résolution de problèmes, aux algorithmes et à la programmation
structurée utilisant un langage de programmation de plus haut niveau. Le cours se
concentrera sur les compétences pour développer des algorithmes, et pour écrire et
déboguer des programmes. Les élèves apprendront comment et quand utiliser des boucles,
des conditionnels et des abstractions fonctionnelles dans le contexte de problèmes motivés
par des applications du monde réel.
À l'issue de ce cours :
 Vous comprendrez que l'informatique est fortement axée sur le développement
d'applications logicielles.
 Vous aurez de meilleures compétences en résolution de problèmes.
 Vous saurez comment développer des solutions algorithmiques pour des problèmes
informatiques de base.
 Vous comprendrez les structures de programmation fondamentales telles que les
expressions, les affectations, les structures de décision et d’itération, les fonctions et
les modules.
 Vous aurez des compétences de base en programmation Python.
 Vous serez préparé pour le deuxième cours de la séquence CSC 242 : Introduction à
l'informatique II.

2. Concepts technologiques couverts par le cours


 Types de données Python fondamentaux (Chapitre 2)
 Structures de contrôle d'exécution de base, fonctions (Chapitre 3)
 Entrées / sorties, fichiers et exceptions (chapitre 4)
 Structures de contrôle d'exécution I (Chapitre 5)
 Structures de contrôle de l'exécution II (chapitre 5)
 Structures de contrôle de l'exécution III (chapitre 5)
 Développement d'algorithme
 Plus de types de données de collection (chapitre 6)
 Espaces de noms (chapitre 7)
 Développement d'algorithme

85 | P a g e
3. Pré-requis
CONDITION PRÉALABLE (S) : MAT 130 ou test de mathématiques dans MAT 140.

4. Proposition de découpage du cours


Le présent découpage est susceptible de changer en fonction des performances réelles de
la classe et de la discrétion de l'instructeur.

Week Topics
Week 1 Fundamental Python data types (Chapter 2)
Week 2 Basic execution control structures, functions (Chapter 3)
Week 3 Input/output, files, and exceptions (Chapter 4)
Week 4 Execution control structures I (Chapter 5)
Week 5 Execution control structures II (Chapter 5)
Week 6 Execution control structures III (Chapter 5) and Midterm on Thursday 10/11
Week 7 Algorithm development
Week 8 More collection data types (Chapter 6)
Week 9 Namespaces (Chapter 7)
Week 10 Algorithm development
Week 11 Final exam,

5. Manuel de cours
• Manuel de reference
Introduction to Computing Using Python: An Application Development Focus, 2nd Edition
Ljubomir Perkovic
ISBN: 978-1-118-89094-3
Apr 2015
480 pages
ISBN (eBook): 978-1-118-89105-6 or ISBN (eBook): 978-1-118-89088-2

• Manuels recommandés
Livre 1
Editeur(s) Ellipses
Auteur(s) Vincent Maille
Parution 22/04/2015
Edition 1ère édition
Nb de pages 288

86 | P a g e
Format 17 x 24
Couverture Broché
Poids 575
Intérieur Noir et Blanc
EAN13 9782340004603
ISBN13 978-2-340-00460-3

Livre 2
Editeur(s) Eni
Auteur(s) Sébastien Rohaut - Franck Ebel
Collection Ressources informatiques
Parution 14/05/2014
Edition 1ère édition
Nb de pages 430
Format 18 x 22
Couverture Broché
Poids 700
Intérieur Noir et Blanc
EAN13 9782746089198

6. Sommaire du manuel de cours de référence

• Manuel de référence : Introduction to Computing Using Python : An Application


Development Focus, 2nd Edition

Chapter 1. Introduction to Computer Scienceclick to collapse contents

1.1 Computer Science


What Do Computing Professionals Do?
Models, Algorithms, and Programs
Tools of the Trade
What Is Computer Science?
1.2 Computer Systems
Computer Hardware
Operating Systems
Networks and Network Protocols
Programming Languages
Software Libraries

87 | P a g e
1.3 Python Programming Language
Short History of Python
Setting Up the Python Development Environment
1.4 Computational Thinking
A Sample Problem
Abstraction and Modeling
Algorithm
Data Types
Assignments and Execution
Control Structures

Chapter 2. Python Data Types

2.1 Expressions, Variables, and Assignments


Algebraic Expressions and Functions
Boolean Expressions and Operators
Variables and Assignments
Variable Names
2.2 Strings
String Operators
Indexing Operator
2.3 Lists and Tuples
List Operators
Lists Are Mutable, Strings Are Not
Tuples, or “ImmutableLists”
List and Tuple Methods
2.4 Objects and Classes
Object Type
Valid Values for Number Types
Operators for Number Type
Creating Objects
Implicit Type Conversions
Explicit Type Conversions
Class Methods and Object-Oriented Programming
2.5 PythonStandardLibrary
Module math
Module fractions
CaseStudy: Turtle Graphics

Chapter 3. Imperative Programmingclick to collapse contents


3.1 Python Programs
Our First Python Program
Python Modules

88 | P a g e
Built-In Function print ()
Interactive Input with input ()
Function eval ()
3.2 Execution Control Structures
One-Way Decisions
Two-Way Decisions
Iteration Structures
Nesting Control Flow Structures
Function range ()
3.3 User-DefinedFunction
Our First Function
Function Input Arguments
print () versus return
Function Definitions Are “Assignment” Statements
Comments
Docstrings
3.4 Python Variables and Assignments
Mutable and Immutable Types
Assignments and Mutability
Swapping
3.5 Parameter Passing
Immutable Parameter Passing
Mutable Parameter Passing
CaseStudy: Automating Turtle Graphics

Chapter 4. Text data, Files, and Exceptionsclick to collapse contents

4.1 Strings, Revisited


String Representations
The Indexing Operator, Revisited
String Methods
4.2 Formatted Output
Function print ()
String Method format ()
Lining Up Data in Columns
Getting and Formatting the Date and Time
4.3 Files
File System
Opening and Closing a File
Patterns for Reading a Text File
Writing to a Text File
4.4 Errors and Exceptions
Syntax Errors

89 | P a g e
Built-In Exceptions
CaseStudy: Image Files

Chapter 5. Execution Control Structuresclick to collapse contents

5.1 Decision Control and the if Statement


Three-Way (and More!) Decisions
Ordering of Conditions
5.2 for Loop and Iteration Patterns
Loop Pattern: Iteration Loop
Loop Pattern: Counter Loop
Loop Pattern: Accumulator Loop
Accumulating Different Types
Loop Patterns: NestedLoop
5.3 MoreonLists: Two-Dimensional Lists
Two-Dimensional Lists
Two-Dimensional Lists and the Nested Loop Pattern
5.4 while Loop
while Loop Usage
5.5 More Loop Patterns
Iteration Patterns: Sequence Loop
Loop Pattern: Infinite Loop
Loop Pattern: Loop and a Half
5.6 Additional Iteration Control Statements
break Statement
continue Statement
pass Statement
Case Study: Image Processing.

Chapter 6. Containers and Randomnessclick to collapse contents


6.1 Dictionaries
User-Defined Indexes as Motivation for Dictionaries
Dictionary Class Properties
Dictionary Operators
Dictionary Methods
A Dictionary as a Substitute for the Multiway if Statement
Dictionary as a Collection of Counters
tuple Objects Can Be Dictionary Keys
6.2 Sets
Using the set Constructor to Remove Duplicates
set Operators
set Methods
6.3 Character Encodings and Strings

90 | P a g e
Character Encodings
ASCII
Unicode
UTF-8 Encoding for Unicode Characters
6.4 Module random
Choosing a Random Integer
Choosing a Random “Real”
Shuffling, Choosing, and Sampling at Random
Case Study: Games of Chance
Chapter 7. Namespacesclick to collapse contents
Chapter 8. Object-Oriented Programmingclick to collapse contents
Chapter 9. Graphical User Interfacesclick to collapse contents
Chapter 10. Recursionclick to collapse contents
Chapter 11. The Web and Searchclick to collapse contents
Chapter 12. Databases and Data Processingclick to collapse contents

91 | P a g e
Cours
MAT 140 Mathématiques discrètes I

1. Objectifs du cours
Combinatoire, théorie des graphes, logique propositionnelle, énoncés mono-quantifiés,
connaissance opérationnelle de la théorie des ensembles, fonctions, systèmes numériques,
méthodes de preuve directe et indirecte.

2. Concepts technologiques couverts par le cours

3. Pré-requis
MAT 130 ou supérieur ou équivalents ou placement par test

4. Proposition de découpage du cours

5. Manuels de cours
Manuel de reference
Discrete Mathematics with Applications 4th Fourth Edition
by Susanna S. Epp (Author)
Paperback
Publisher: Cengage India; 4th edition (2011)
Language : English
ISBN-10 : 8131533026
ISBN-13 : 978-8131533024
Manuels recommandés
Livre1
Mathématiques discrètes appliquées à l'informatique
De Rod Haggarty (Auteur), Cassereau Didier (Auteur)
Broché : 224 pages
Editeur : Pearson Education (15 juin 2005)
Collection : Informatique
Langue : Français
ISBN-10 : 2744071005

92 | P a g e
ISBN-13 : 978-2744071003
Livre2
Cours d'algèbre : Groupes, anneaux, modules et corps
De Ibrahim Assem (Auteur), Pierre Yves Leduc (Auteur)
Broché : 694 pages
Editeur : Presses Polytechnique de Montréal (18 mars 2009)
Langue : Français
ISBN-10 : 2553014198
ISBN-13 : 978-2553014192

6. Sommaire du manuel de cours de référence

Livre de reference: Discrete Mathematics with Applications 4th Fourth Edition


Chapter 1 Speaking Mathematically 1
Variables 1
Using Variables in Mathematical Discourse; Introduction to Universal, Existential,
and Conditional Statements
The Language of Sets 6
The Set-Roster and Set-Builder Notations; Subsets; Cartesian Products
The Language of Relations and Functions
Definition of a Relation from One Set to Another; Arrow Diagram of a Relation;
Definition of Function; Function Machines; Equality of Functions
Chapter 2 The Logic of Compound Statements 23
2.1 Logical Form and Logical Equivalence
Statements; Compound Statements; Truth Values; Evaluating the Truth of More General
Compound Statements; Logical Equivalence; Tautologies and Contradictions;
Summary of Logical Equivalences
2.2 Conditional Statements
Logical Equivalences Involving →; Representation of If-Then As Or; The Negation of a
Conditional Statement; The Contrapositive of a Conditional Statement; The
Converse and Inverse of a Conditional Statement; Only If and the Biconditional ;
Necessary and Sufficient Conditions; Remarks

93 | P a g e
2.3 Valid and Invalid Arguments 51
Modus Ponens and Modus Tollens ; Additional Valid Argument Forms: Rules of
Inference; Fallacies; Contradictions and Valid Arguments; Summary of Rules of
Inference
2.4 Application: Digital Logic Circuits 64
Black Boxes and Gates; The Input/output Table for a Circuit; The Boolean Expression
Corresponding to a Circuit; The Circuit Corresponding to a Boolean Expression; Finding a
Circuit That Corresponds to a Given Input/output Table; Simplifying
Combinational Circuits; NAND and NOR Gates
2.5 Application: Number Systems and Circuits for Addition 78
Binary Representation of Numbers; Binary Addition and Subtraction; Circuits for
Computer Addition; Two’s Complements and the Computer Representation of Negative
Integers; 8-Bit Representation of a Number; Computer Addition with Negative Integers;
Hexadecimal Notation

Chapter 3 The Logic of Quantified Statements 96


3.1 Predicates and Quantified Statements I 96
The Universal Quantifier : ∀ ; The Existential Quantifier: ∃; Formal Versus Informal
Language; Universal Conditional Statements; Equivalent Forms of Universal and
Existential Statements; Implicit Quantification; Tarski’s World
3.2 Predicates and Quantified Statements II
Negations of Quantified Statements; Negations of Universal Conditional Statements;
The Relation among ∀, ∃, ∧, and ∨; Vacuous Truth of Universal Statements; Variants
of Universal Conditional Statements; Necessary and Sufficient Conditions, Only If
3.3 Statements with Multiple Quantifiers 117
Translating from Informal to Formal Language; Ambiguous Language; Negations
of Multiply-Quantified Statements; Order of Quantifiers; Formal Logical Notation;
Prolog
3.4 Arguments with Quantified Statements 132
Universal Modus Ponens; Use of Universal Modus Ponens in a Proof; Universal
Modus Tollens; Proving Validity of Arguments with Quantified Statements; Using
Diagrams to Test for Validity; Creating Additional Forms of Argument; Remark on
the Converse and Inverse Errors

Chapter 4 Elementary Number Theory and Methods of Proof 145


4.1 Direct Proof and Counterexample I: Introduction 146
Definitions; Proving Existential Statements; Disproving Universal Statements by
Counterexample; Proving Universal Statements; Directions for Writing Proofs of
Universal Statements; Variations among Proofs; Common Mistakes; Getting Proofs
Started; Showing That an Existential Statement Is False; Conjecture, Proof, and

94 | P a g e
Disproof
4.2 Direct Proof and Counterexample II: Rational Numbers 163
More on Generalizing from the Generic Particular; Proving Properties of Rational
Numbers; Deriving New Mathematics from Old
4.3 Direct Proof and Counterexample III: Divisibility 170
Proving Properties of Divisibility; Counterexamples and Divisibility; The Unique
Factorization of Integers Theorem
4.4 Direct Proof and Counterexample IV: Division into Cases
and the Quotient-Remainder Theorem 180
Discussion of the Quotient-Remainder Theorem and Examples; div and mod; Alternative
Representations of Integers and Applications to Number Theory; Absolute
Value and the Triangle Inequality
4.5 Direct Proof and Counterexample V: Floor and Ceiling
Definition and Basic Properties; The Floor of n/2 191
4.6 Indirect Argument: Contradiction and Contraposition 198
Proof by Contradiction; Argument by Contraposition; Relation between Proof by
Contradiction and Proof by Contraposition; Proof as a Problem-Solving Tool
4.7 Indirect Argument: Two Classical Theorems 207
The Irrationality of √2; Are There Infinitely Many Prime Numbers; When to Use
Indirect Proof; Open Questions in Number Theory
4.8 Application: Algorithms 214
An Algorithmic Language; A Notation for Algorithms; Trace Tables; The Division
Algorithm; The Euclidean Algorithm

Chapter 5 Sequences, Mathematical Induction, and Recursion 227


5.1 Sequences 227
Explicit Formulas for Sequences; Summation Notation; Product Notation; Properties
of Summations and Products; Change of Variable; Factorial and n Choose r Notation;
Sequences in Computer Programming; Application: Algorithm to Convert from Base
10 to Base 2 Using Repeated Division by 2
5.2 Mathematical Induction I 244
Principle of Mathematical Induction; Sum of the First n Integers; Proving an Equality; Deducing
Additional Formulas; Sum of a Geometric Sequence
5.3 Mathematical Induction II 258
Comparison of Mathematical Induction and Inductive Reasoning; Proving Divisibility Properties;
Proving Inequalities; A Problem with Trominoes
5.4 Strong Mathematical Induction
and the Well-Ordering Principle for the Integers 268
Strong Mathematical Induction; Binary Representation of Integers; The Well-Ordering
Principle for the Integers
5.5 Application: Correctness of Algorithms 279
Assertions; Loop Invariants; Correctness of the Division Algorithm; Correctness of
the Euclidean Theorem

95 | P a g e
5.6 Defining Sequences Recursively 290
Definition of Recurrence Relation; Examples of Recursively Defined Sequences;
Recursive Definitions of Sum and Product
5.7 Solving Recurrence Relations by Iteration 304
The Method of Iteration; Using Formulas to Simplify Solutions Obtained by Iteration; Checking
the Correctness of a Formula by Mathematical Induction; Discovering
That an Explicit Formula Is Incorrect
5.8 Second-Order Linear Homogenous Recurrence Relations
with Constant Coefficients 317
Derivation of a Technique for Solving These Relations; The Distinct-Roots Case;
The Single-Root Case
5.9 General Recursive Definitions and Structural Induction 328
Recursively Defined Sets; Using Structural Induction to Prove Properties about
Recursively Defined Sets; Recursive Functions

Chapter 6 Set Theory 336


6.1 Set Theory: Definitions and the Element Method of Proof 336
Subsets; Proof and Disproof; Set Equality; Venn Diagrams; Operations on Sets; The
Empty Set; Partitions of Sets; Power Sets; Cartesian Products; An Algorithm to
Check Whether One Set Is a Subset of Another (Optional)
6.2 Properties of Sets 352
Set Identities; Proving Set Identities; Proving That a Set Is the Empty Set
6.3 Disproofs, Algebraic Proofs, and Boolean Algebras 367
Disproving an Alleged Set Property; Problem-Solving Strategy; The Number of Subsets of a
Set; “Algebraic” Proofs of Set Identities
Boolean Algebras, Russell’s Paradox, and the Halting Problem 374
Boolean Algebras; Description of Russell’s Paradox; The Halting Problem

Chapter 7 Functions 383


7.1 Functions Defined on General Sets 383
Additional Function Terminology; More Examples of Functions; Boolean Functions;
Checking Whether a Function Is Well Defined; Functions Acting on Sets
7.2 One-to-One and onto, Inverse Functions 397
One-to-One Functions; One-to-One Functions on Infinite Sets; Application: Hash
Functions; Onto Functions; Onto Functions on Infinite Sets; Relations between Exponential and
Logarithmic Functions; One-to-One Correspondences; Inverse Functions
7.3 Composition of Functions 416
Definition and Examples; Composition of One-to-One Functions; Composition of
Onto Functions
7.4 Cardinality with Applications to Computability 428
Definition of Cardinal Equivalence; Countable Sets; The Search for Larger Infinities:
The Cantor Diagonalization Process; Application: Cardinality and Computability

96 | P a g e
Chapter 8 Relations 442
8.1 Relations on Sets 442
Additional Examples of Relations; The Inverse of a Relation; Directed Graph of a
Relation; N-ary Relations and Relational Databases
8.2 Reflexivity, Symmetry, and Transitivity 449
Reflexive, Symmetric, and Transitive Properties; Properties of Relations on Infinite
Sets; The Transitive Closure of a Relation
8.3 Equivalence Relations 459
The Relation Induced by a Partition; Definition of an Equivalence Relation; Equivalence Classes
of an Equivalence Relation
8.4 Modular Arithmetic with Applications to Cryptography 478
Properties of Congruence Modulo n; Modular Arithmetic; Extending the Euclidean
Algorithm; Finding an Inverse Modulo n; RSA Cryptography; Euclid’s Lemma;
Fermat’s Little Theorem; Why Does the RSA Cipher Work; Additional Remarks
on Number Theory and Cryptography
8.5 Partial Order Relations 498
Antisymmetry; Partial Order Relations; Lexicographic Order; Hasse Diagrams;
Partially and Totally Ordered Sets; Topological Sorting; An Application; PERT and
CPM

Chapter 9 Counting and Probability 516


9.1 Introduction 517
Definition of Sample Space and Event; Probability in the Equally Likely Case; Counting the
Elements of Lists, Sublists, and One-Dimensional Arrays
9.2 Possibility Trees and the Multiplication Rule 525
Possibility Trees; The Multiplication Rule; When the Multiplication Rule Is Difficult
or Impossible to Apply; Permutations; Permutations of Selected Elements
9.3 Counting Elements of Disjoint Sets: The Addition Rule 540
The Addition Rule; The Difference Rule; The Inclusion/Exclusion Rule
9.4 The Pigeonhole Principle 554
Statement and Discussion of the Principle; Applications; Decimal Expansions of
Fractions; Generalized Pigeonhole Principle; Proof of the Pigeonhole Principle
9.5 Counting Subsets of a Set: Combinations 565
r-Combinations; Ordered and Unordered Selections; Relation between Permutations
and Combinations; Permutation of a Set with Repeated Elements; Some Advice
about Counting; The Number of Partitions of a Set into r Subsets
9.6 r-Combinations with Repetition Allowed 584
Multisets and How to Count Them; Which Formula to Use?
9.7 Pascal’s Formula and the Binomial Theorem 592
Combinatorial Formulas; Pascal’s Triangle; Algebraic and Combinatorial Proofs of
Pascal’s Formula; The Binomial Theorem and Algebraic and Combinatorial Proofs
for It; Applications
9.8 Probability Axioms and Expected Value 605

97 | P a g e
Probability Axioms; Deriving Additional Probability Formulas; Expected Value
9.9 Conditional Probability, Bayes’ Formula, and
Independent Events 611
Conditional Probability; Bayes’ Theorem; Independent Events

Chapter 10 Graphs and Trees 625


10.1 Graphs: Definitions and Basic Properties 625
Basic Terminology and Examples of Graphs; Special Graphs; The Concept of Degree
10.2 Trails, Paths, and Circuits 642
Definitions; Connectedness; Euler Circuits; Hamiltonian Circuits
10.3 Matrix Representations of Graphs 661
Matrices; Matrices and Directed Graphs; Matrices and Undirected Graphs; Matrices
and Connected Components; Matrix Multiplication; Counting Walks of Length N
10.4 Isomorphisms of Graphs 675
Definition of Graph Isomorphism and Examples; Isomorphic Invariants; Graph
Isomorphism for Simple Graphs
10.5 Trees 683
Definition and Examples of Trees; Characterizing Trees
10.6 Rooted Trees 694
Definition and Examples of Rooted Trees; Binary Trees and Their Properties
10.7 Spanning Trees and Shortest Paths 701
Definition of a Spanning Tree; Minimum Spanning Trees; Kruskal’s Algorithm;
Prim’s Algorithm; Dijkstra’s Shortest Path Algorithm

Chapter 11 Analysis of Algorithm Efficiency 717


11.1 Real-Valued Functions of a Real Variable and Their Graphs 717
Graph of a Function; Power Functions; The Floor Function; Graphing Functions
Defined on Sets of Integers; Graph of a Multiple of a Function; Increasing and
Decreasing Functions
11.2 O-, -, and -Notations 725
Definition and General Properties of O-, -, and -Notations; Orders of Power
Functions; Orders of Polynomial Functions; Orders for Functions of Integer Variables; Extension
to Functions Composed of Rational Power Functions
11.3 Application: Analysis of Algorithm Efficiency I 739
Computing Orders of Simple Algorithms; The Sequential Search Algorithm; The
Insertion Sort Algorithm; Time Efficiency of an Algorithm
11.4 Exponential and Logarithmic Functions:
Graphs and Orders 751
Graphs of Exponential and Logarithmic Functions; Application: Number of Bits
Needed to Represent an Integer in Binary Notation; Application: Using Logarithms
to Solve Recurrence Relations; Exponential and Logarithmic Orders

98 | P a g e
11.5 Application: Analysis of Algorithm Efficiency II 764
Binary Search; Divide-and-Conquer Algorithms; The Efficiency of the Binary Search
Algorithm; Merge Sort; Tractable and Intractable Problems; A Final Remark on
Algorithm Efficiency

Chapter 12 Regular Expressions and Finite-State Automata 779


12.1 Formal Languages and Regular Expressions 780
Definitions and Examples of Formal Languages and Regular Expressions; The Language
Defined by a Regular Expression; Practical Uses of Regular Expressions
12.2 Finite-State Automata 791
Definition of a Finite-State Automaton; The Language Accepted by an Automaton; The
Eventual-State Function; Designing a Finite-State Automaton; Simulating a
Finite-State Automaton Using Software; Finite-State Automata and Regular Expressions;
Regular Languages
12.3 Simplifying Finite-State Automata 808

99 | P a g e
Cours
IT 130 Introductory Computing for the Web (Construction de
Sites Web)

1. Objectifs du cours
Une introduction à Internet, au World Wide Web et au développement Web pour les
étudiants ayant un fort intérêt pour la technologie. Les élèves créeront des pages Web
interactives en écrivant du HTML et du CSS et en programmant en JavaScript. Les sujets
abordés comprennent les origines du Web, les rôles et les opérations des navigateurs Web
et des serveurs Web, l'interaction avec les applications Web via des formulaires et
l'utilisation de feuilles de style pour séparer la structure et la mise en forme des documents.

2. Concepts technologiques couverts par le cours


 Une introduction à Internet, aux navigateurs et au Web (WWW)
 Création de pages Web à l'aide du langage HyperText Mark up Language (HTML)
 Formatage des pages Web à l'aide de feuilles de style en cascade (CSS)
 Conception de site Web centrée sur l'utilisateur
 Programmation de pages Web avec JavaScript et certains fichiers DHTML

3. Pré-requis
Aucun
4. Proposition de découpage du cours

Week 1 Basics and History of Computers, HTML and Web Pages, Discussion
of Windows, Unix, Telnet, FTP, SSH (Ch. 1, 2, 6).

Week 2 Data Representation, More HTML, Use of Color, Images, and Sound
(Ch. 2, 12)

Week 3 The Internet and the Web, Cascading Style Sheets (Ch. 3)

Week 4 User Centered Web Design

Week 5 Review for Midterm, MIDTERM EXAM on October 14 (Thursday).

100 | P a g e
Week 6 Intro to JavaScript, Constants, Variables, Expressions, with intro to
Loops (Ch. 4, 5)

Week 7 Abstraction, Functions, Algorithms (Ch. 7, 8)

Week 8 Event Driven Programming, Conditional Execution (Ch. 9, 11)

Week 9 Looping and String Manipulation (Ch. 13, 15)

Week 10 Arrays, Review for Final 

5. Manuels de cours

Manuel de référence
A Balanced Introduction to Computer Science (3rd Edition) 3rd Edition
by David Reed (Author)
Paperback: 432 pages
Publisher: Pearson; 3 editions (September 10, 2010)
Language: English
ISBN-10: 0132166755
ISBN-13: 978-0132166751

Manuel recommandés
Livre1
Titre: HTML5 & CSS3 Visual Quick Start Guide 7th Edition, Auteurs: Elizabeth Castro &
Bruce Hyslop
Series: Visual QuickStart Guide
Paperback: 550 pages
Publisher: Peachpit Press; 7 editions (December 31, 2011)
Language: English
ISBN-10: 0321719611
ISBN-13: 978-0321719614
Livre2
Simply JavaScript by Kevin Yank & Cameron Adams
Pages: 432
Published: 2007-09-01

101 | P a g e
ISBN: 978-0-9802-8580-2
Publisher: SitePoint
Release Date: June 2007
Topics : JavaScript
Livre3
Editeur(s) Eyrolles
Auteur(s) Mathieu Nebra
Collection OpenClassrooms
Parution 07/09/2017 14/09/2017
Edition 2ème édition
Nb de pages 364 364
Format 17 x 24 -
Couverture Broché -
Poids 695 -
Intérieur Quadri -
Contenu - PDF EPUB
EAN13 9782212674767 9782212595314
ISBN13 978-2-212-67476-7 N/A
Livre4
Editeur(s) Eni
Auteur(s) : Christophe Aubry - Luc Van Lancker - Christian Vigouroux
Collection : Coffret Expert
Parution : 10/05/2017
Edition : 2ème édition
Nb de pages :1216
Format : 18 x 22
Couverture : Broché
Poids 2005
Intérieur Noir et Blanc
EAN13 9782409007552
ISBN13 978-2-409-00755-2

102 | P a g e
6. Sommaire du manuel de cours de référence
LIVRE 1: A Balanced Introduction to Computer Science
https://www.pearson.com/us/higher-education/program/Reed-Balanced-Introduction-to-
Computer-Science-A-3rd-Edition/PGM118481.html?tab=resources

Chapter 1 Computer Basics 1


 

What Is a Computer? 1 
Hardware 3 
Central Processing Unit (CPU) 4 
Memory 6 
Input/output Devices (I/O) 8 
Software 9 
Operating Systems 10 
Internet and the Web 12 
Web Browsers and Servers 13 
Web Addresses 14 
Accessing Local Pages 15 
Looking Ahead... 15 
Chapter Summary 16 
Review Questions 17 
References 18 

Chapter 2 HTML and Web Pages 19 

HTML Basics 20 


HTML Tags 20 
HTML Elements 21 
Document Formatting 22 
Text Spacing 22 
Headings and Alignment 23 
Font Formatting 25 
Hypertext and Multimedia 27 
Hyperlinks 27 
Images 28 
Lists 30 
Formatting Lists 32 
Tables 33 
Table Borders 33 

103 | P a g e
Table Alignment 34 
Making Pages Publicly Viewable 36 
Looking Ahead... 37 
Chapter Summary 38 
Supplemental Material and Exercises 39 

Chapter 3 The Internet and the Web 43 

History of the Internet 44 


Arpanet 44 
Growth and Privatization 45 
How the Internet Works 48 
Distributed Network 48 
Packet Switching 49 
Internet Protocols: TCP/IP 50 
Domain Names 50 
History of the Web 52 
Hypertext and the Web 52 
Mainstream Adoption of the Web 53 
Web Growth 54 
How the Web Works 55 
HTML 55 
Web Protocol: HTTP 55 
Caching 56 
Looking Ahead... 56 
Chapter Summary 57 
Review Questions 58 
Endnotes 59 
References 59 

Chapter 4 JavaScript and Dynamic Web Pages 61 

Dynamic Web Pages 62 


HTML Event Handlers 62 
The onclickEvent Handler 65 
Interaction via Buttons 66 
Input Buttons 66 
Dynamic Text within a Page 69 
Alert Windows 69 
The innerHTMLAttribute 70 
Example: Quotations Page 73 
Looking Ahead... 75 

104 | P a g e
Chapter Summary 75 
Supplemental Material and Exercises 76 

Chapter 5 JavaScript and User Interaction 79 

User Input via Text Boxes 79 


The Text Box Element 80 
Example: Form Letter Page 82 
JavaScript Variables 83 
Variables for Reusing Values 84 
Example: Fill-in-the-Blank Story 85 
Variables for Temporary Values 86 
Web Pages That Compute 88 
JavaScript Numbers and Expressions 88 
Number Representation 90 
Text Boxes and parseFloat91 
Example: Grade Calculation 94 
Programming Errors and Debugging 94 
Looking Ahead... 95 
Chapter Summary 95 
Supplemental Material and Exercises 96 

Chapter 6 The History of Computers 100 


Generation 0: Mechanical Computers (1642—1945) 101 
Programmable Devices 102 
Electromagnetic Relays 104 
Generation 1: Vacuum Tubes (1945—1954) 105 
Computing and World War II 106 
The von Neumann Architecture 108 
Generation 2: Transistors (1954—1963) 109 
High-Level Programming Languages 110 
Generation 3: Integrated Circuits (1963—1973) 110 
Large Scale Integration 111 
Computing for Businesses 111 
Generation 4: VLSI (1973—1985) 112 
The Personal Computer Revolution 112 
Object-Oriented Programming 114 
Generation 5: Parallel Processing & Networking (1985—????) 114 
Looking Ahead... 115 
Chapter Summary 115 
Review Questions 116 

105 | P a g e
Endnotes 118 
References 118 

Chapter 7 Functions and Randomness 119 


Predefined JavaScript Functions 119 
Math Functions 120 
Raising Numbers to a Power 123 
Generating Random Numbers 123 
Simple User-Defined Functions 125 
Functions That Simplify 128 
Randomness in a Page 129 
Example: Simulated Dice 129 
Example: Random Slide Show 130 
Example: Random Banner Ads 131 
Looking Ahead ... 133 
Chapter Summary 133 
Supplemental Material and Exercises 134 

Chapter 8 Algorithms and Programming Languages 136 


Algorithms 137 
Algorithms in the Real World 137 
Designing and Analyzing Algorithms 138 
An Alternative Algorithm 140 
Algorithm Analysis 141 
Big-Oh Notation 142 
Algorithm Example: Searching a List 142 
Sequential Search 142 
Binary Search 143 
Algorithm Analysis 144 
Algorithm Example: Approximating a Square Root 144 
Algorithm Analysis 146 
Algorithms and Programming 146 
Machine Languages 146 
High-Level Languages 147 
Program Translation 148 
Interpreters and Compilers 150 
Looking Ahead... 151 
Chapter Summary 151 
Review Questions 152 
References 153 

Chapter 9 Abstraction and Libraries 155 

106 | P a g e
The Structure of Functions 156 
Local Variables 157 
Functions with Inputs 159 
Multiple Inputs 161 
Functions That Return Values 162 
Function Libraries 163 
The random.jsLibrary 165 
Looking Ahead ... 168 
Chapter Summary 168 
Supplemental Material and Exercises 169 

Chapter 10 Computer Science as a Discipline 174


 
Computer “Science” 175 
Artificial Science 176 
Computer Science Themes 176 
Hardware 177 
Software 177 
Theory 178 
Subfields of Computer Science 179 
Algorithms and Data Structures 179 
Architecture 182 
Operating Systems and Networks 183 
Software Engineering 185 
Artificial Intelligence and Robotics 187 
Bioinformatics 188 
The Ethics of Computing 189 
Looking Ahead... 190 
Chapter Summary 191 
Review Questions 192 
Endnotes 193 
References 194 

Chapter 11 Conditional Execution 195 


If Statements 195 
Boolean Tests 196 
Nested If Statements 199 
Cascading If-Else Statements 200 
Example: Dice Simulations 201 
Counters 201 
Boolean Expressions 204 

107 | P a g e
Example: Slot Machine 206 
Looking Ahead... 209 
Chapter Summary 209 
Supplemental Material and Exercises 210 

Chapter 12 Data Representation 216 


Analog vs. Digital 216 
Binary Numbers 218 
Representing Integers 219 
Representing Real Numbers 220 
Representing Characters and Strings 222 
Representing Other Types of Data 223 
Sounds 223 
Images 225 
Movies 227 
How Computers Distinguish among Data Types 228 
Looking Ahead... 229 
Chapter Summary 230 
Review Questions 230 
References 232 

Chapter 13 Conditional Repetition 233 


While Loops 234 
Avoiding Redundancy 236 
Example: Lottery Combinations 238 
Counter-Driven Loops 240 
Variables and Repetition 243 
Example: Generating Hailstone Sequences 246 
Looking Ahead... 247 
Chapter Summary 248 
Supplemental Material and Exercises 248 

Chapter 14 Inside the Computer–The von Neumann Architecture 253


 
CPU Subunits and Datapath 253 
CPU Subunits 254 
CPU Datapath Cycles 255 
Datapath Simulator 255 
CPU and Main Memory 257 
Transferring Data to and from Main Memory 257 
Datapath with Memory Simulator 258 
Stored-Program Computer 260 

108 | P a g e
Machine Languages 260 
Control Unit 262 
Stored-Program Computer Simulator 263 
The Role of input/output Devices 267 
Machine vs. Assembly Languages 268 
Looking Ahead... 269 
Chapter Summary 270 
Review Questions 271 
References 272 

Chapter 15 JavaScript Strings 273 


Strings as Objects 273 
Properties and Methods 274 
Common String-Manipulation Methods 276 
String Concatenation 277 
Searching Strings 278 
General Searches 279 
String Manipulations and Repetition 280 
Example: Recognizing Palindromes 282 
Example: Substitution Ciphers 282 
Encoding Messages 283 
Decoding Messages 286 
Looking Ahead... 287 
Chapter Summary 288 
Supplemental Material and Exercises 288 

Chapter 16 Inside the Computer–Transistors and Integrated Circuits 293 


Electricity and Switches 294 
Electricity Basics 294 
Switches 294 
Transistors 295 
Transistors as Switches 296 
From Transistors to Gates 297 
Gates and Binary Logic 298 
From Gates to Complex Circuits 300 
Example: Designing Memory Circuitry 302 
From Circuits to Microchips 303 
The Integrated Circuit 303 
Manufacturing Integrated Circuits 304 
Packaging Microchips 305 
Looking Ahead... 307 
Chapter Summary 307 

109 | P a g e
Review Questions 308 
References 310 

Chapter 17 JavaScript Arrays 311 


Arrays as Objects 312 
Accessing Items in an Array 312 
Assigning Items in an Array 313 
From Strings to Arrays 315 
The splitMethod for Strings 315 
Example: Generating Acronyms 316 
Arrays of Numbers 318 
Example: Maintaining Dice Statistics (Approach 1) 321 
Example: Maintaining Dice Statistics (Approach 2) 323 
Example: ASCII Animations 324 
Looking Ahead... 325 
Chapter Summary 327 
Supplemental Material and Exercises 328 

Chapter 18 Computers and Society 335 


Positive Impact of Technology 335 
Computers and Programs for Everyday Tasks 336 
The Internet and Web as Information Sources 338 
The Internet and Web as Communications Media 341 
The Internet and Web for Commerce 342 
Potential Dangers of Technology 344 
Reliance on Complex Systems 344 
Information Overload 345 
Privacy and Security 346 
The Digital Divide 347 
Looking Beyond... 348 
Chapter Summary 349 
Review Questions 349 

110 | P a g e
Cours
IT 263 Applied Networks and Security (Introduction aux Réseaux
Locaux et à la Sécurité Informatique)

1. Objectifs du cours
Ce cours présente les technologies de mise en réseau et de sécurité requises pour
construire et maintenir un réseau domestique ou de petite entreprise. Les sujets de
réseautage incluront la configuration du logiciel d'application client / serveur, la connectivité
réseau (câblage, configuration du commutateur et du routeur), l'adressage IP de base, la
traduction d'adresses réseau et les options pour les services d'accès Internet publics. Les
sujets de sécurité incluront les menaces et les réponses typiques, les pares-feux, le
renforcement de l'hôte, la gestion des mots de passe et les réseaux privés virtuels (VPN).
Le cours comporte une composante de laboratoire où les étudiants appliquent des
technologies filaires et sans fil pour concevoir et administrer un petit réseau avec diverses
applications.
Après avoir terminé ce cours, les étudiants seront en mesure de :
 Comprendre les sujets et les concepts de réseautage fondamentaux
 Analyser et maintenir les réseaux locaux
 Planifier les affectations d'adresses IP à l'aide de sous-réseaux
 Discuter de divers types d'attaques de sécurité et comment les atténuer
 Comprendre comment sécuriser un réseau contre les attaques courantes
 Utiliser des outils tels que Wireshark pour analyser le trafic réseau

2. Concepts technologiques couverts par le cours


 Bases réseau et Internet et le Cloud
Authentification, Autorisation, Audit / Comptabilité
 Composants réseau Clients et Serveurs
Adressage IP, réseaux privés, DHCP Services Web vs. Hébergement Web.
 LAN, WAN, NAT et DNS Subnetting, CIDR Serveur Web Cloud
Commutation et routage réseau VPC, VPN et applications Internet VPC
 Ethernet et Wi-Fi, reniflage de paquets ; TLS / SSL
Analyse de paquets : HTTP / HTTPS ; ARP

111 | P a g e
 Conception et implémentation de VPC / LAN : Hébergement d'applications Web LAN
VPC Exigences finales du projet VPC
 Services de sécurité réseau : confidentialité, intégrité, authentification, contrôle
d'accès. Durcissement de l’hôte ; Contrôle de compte d'utilisateur
 Pare-feu basés sur l'hôte et sur le réseau Règles de routage et de sécurité VPC /
LAN Sécurité sans fil et analyse de réseau

3. Pré-requis

4. Proposition de découpage du cours

Semaine Sujet

Semaine 1 Introduction au cours, Bases réseau et Internet (Ch. 1-11) et le Cloud


AAA : Authentification, Autorisation, Audit / Comptabilité
Concepts d'accès à distance
Semaine 2 Composants réseau Clients et Serveurs
Adressage IP, réseaux privés, DHCP (Ch. 12-17, 23-24)
Services Web vs. Hébergement Web.
Semaine 3 LAN, WAN, NAT et DNS (Ch. 18-19)
Subnetting, CIDR
Serveur Web Cloud
Semaine 4 Commutation et routage réseau (Ch. 20)
VPC, VPN et applications Internet (Ch. 21)
VPC - Un seul sous-réseau
Semaine 5 Ethernet et Wi-Fi, reniflage de paquets; TLS / SSL
Analyse de paquets: HTTP / HTTPS; ARP
Semaine 6 Conception et implémentation de VPC / LAN : Hébergement
d'applications Web LAN VPC
Exigences finales du projet VPC - Deux sous-réseaux

112 | P a g e
Semaine 7 Services de sécurité réseau : confidentialité, intégrité,
authentification, contrôle d'accès. (Ch. 31, 33)
Durcissement de l’hôte ; Contrôle de compte d'utilisateur
Santé du système: mise à jour, protection contre les logiciels
malveillants et les virus
Semaine 8 Pare-feu basés sur l'hôte et sur le réseau (Ch. 32)
Règles de routage et de sécurité VPC / LAN
Sécurité sans fil et analyse de réseau
Semaine 9 Projets et présentations

Semaine 10 Examen final

5. Manuels de cours de référence

 Manuel de référence
A Balanced Introduction to Computer Science (3rd Edition) 3rd Edition
by David Reed (Author)
Paperback: 432 pages
Publisher: Pearson; 3 editions (September 10, 2010)
Language: English
ISBN-10: 0132166755
ISBN-13: 978-0132166751
 Manuels recommandés
o Livre1
Titre: HTML5 & CSS3 Visual QuickStart Guide 7th Edition, Auteurs: Elizabeth
Castro & Bruce Hyslop
Series: Visual QuickStart Guide
Paperback: 550 pages
Publisher: Peachpit Press; 7 editions (December 31, 2011)
Language: English
ISBN-10: 0321719611
ISBN-13: 978-0321719614

113 | P a g e
o Livre2
Simply JavaScript by Kevin Yank & Cameron Adams
Pages: 432
Published: 2007-09-01
ISBN: 978-0-9802-8580-2
Publisher: SitePoint
Release Date: June 2007
Topics: JavaScript
o Livre3

Editeur(s) Eyrolles
Auteur(s) Mathieu Nebra
Collection OpenClassrooms
Parution 07/09/2017 14/09/2017
Edition 2ème édition
Nb de pages 364 364
Format 17 x 24 -
Couverture Broché -
Poids 695 -
Intérieur Quadri -
Contenu - PDF EPUB
EAN13 9782212674767 9782212595314
ISBN13 978-2-212-67476-7 N/A
o Livre 4
Editeur(s) Eni
Auteur(s) : Christophe Aubry - Luc Van Lancker - Christian Vigouroux
Collection : Coffret Expert
Parution : 10/05/2017
Edition : 2ème édition
Nb de pages : 1216
Format : 18 x 22
Couverture : Broché
Poids 2005
Intérieur Noir et Blanc
EAN13 9782409007552
ISBN13 978-2-409-00755-2

114 | P a g e
6. Sommaire du manuel de cours de référence
LIVRE 1 : A Balanced Introduction to Computer Science
https://www.pearson.com/us/higher-education/program/Reed-Balanced-Introduction-to-
Computer-Science-A-3rd-Edition/PGM118481.html?tab=resources

Chapter 1 Computer Basics 1


 
What Is a Computer? 1 
Hardware 3 
Central Processing Unit (CPU) 4 
Memory 6 
input/output Devices (I/O) 8 
Software 9 
Operating Systems 10 
Internet and the Web 12 
Web Browsers and Servers 13 
Web Addresses 14 
Accessing Local Pages 15 
Looking Ahead... 15 
Chapter Summary 16 
Review Questions 17 
References 18 

Chapter 2 HTML and Web Pages 19 

HTML Basics 20 


HTML Tags 20 
HTML Elements 21 
Document Formatting 22 
Text Spacing 22 
Headings and Alignment 23 
Font Formatting 25 
Hypertext and Multimedia 27 
Hyperlinks 27 
Images 28 
Lists 30 
Formatting Lists 32 
Tables 33 
Table Borders 33 
Table Alignment 34 
Making Pages Publicly Viewable 36 

115 | P a g e
Looking Ahead... 37 
Chapter Summary 38 
Supplemental Material and Exercises 39 

Chapter 3 The Internet and the Web 43 

History of the Internet 44 


Arpanet 44 
Growth and Privatization 45 
How the Internet Works 48 
Distributed Network 48 
Packet Switching 49 
Internet Protocols: TCP/IP 50 
Domain Names 50 
History of the Web 52 
Hypertext and the Web 52 
Mainstream Adoption of the Web 53 
Web Growth 54 
How the Web Works 55 
HTML 55 
Web Protocol: HTTP 55 
Caching 56 
Looking Ahead... 56 
Chapter Summary 57 
Review Questions 58 
Endnotes 59 
References 59 

Chapter 4 JavaScript and Dynamic Web Pages 61 

Dynamic Web Pages 62 


HTML Event Handlers 62 
The onclickEvent Handler 65 
Interaction via Buttons 66 
Input Buttons 66 
Dynamic Text within a Page 69 
Alert Windows 69 
The innerHTMLAttribute 70 
Example: Quotations Page 73 
Looking Ahead... 75 
Chapter Summary 75 
Supplemental Material and Exercises 76 

116 | P a g e
Chapter 5 JavaScript and User Interaction 79 

User Input via Text Boxes 79 


The Text Box Element 80 
Example: Form Letter Page 82 
JavaScript Variables 83 
Variables for Reusing Values 84 
Example: Fill-in-the-Blank Story 85 
Variables for Temporary Values 86 
Web Pages That Compute 88 
JavaScript Numbers and Expressions 88 
Number Representation 90 
Text Boxes and parseFloat91 
Example: Grade Calculation 94 
Programming Errors and Debugging 94 
Looking Ahead... 95 
Chapter Summary 95 
Supplemental Material and Exercises 96 

Chapter 6 The History of Computers 100 


Generation 0: Mechanical Computers (1642—1945) 101 
Programmable Devices 102 
Electromagnetic Relays 104 
Generation 1: Vacuum Tubes (1945—1954) 105 
Computing and World War II 106 
The von Neumann Architecture 108 
Generation 2: Transistors (1954—1963) 109 
High-Level Programming Languages 110 
Generation 3: Integrated Circuits (1963—1973) 110 
Large Scale Integration 111 
Computing for Businesses 111 
Generation 4: VLSI (1973—1985) 112 
The Personal Computer Revolution 112 
Object-Oriented Programming 114 
Generation 5: Parallel Processing & Networking (1985—????) 114 
Looking Ahead... 115 
Chapter Summary 115 
Review Questions 116 
Endnotes 118 
References 118 

Chapter 7 Functions and Randomness 119 

117 | P a g e
Predefined JavaScript Functions 119 
Math Functions 120 
Raising Numbers to a Power 123 
Generating Random Numbers 123 
Simple User-Defined Functions 125 
Functions That Simplify 128 
Randomness in a Page 129 
Example: Simulated Dice 129 
Example: Random Slide Show 130 
Example: Random Banner Ads 131 
Looking Ahead ... 133 
Chapter Summary 133 
Supplemental Material and Exercises 134 

Chapter 8 Algorithms and Programming Languages 136 


Algorithms 137 
Algorithms in the Real World 137 
Designing and Analyzing Algorithms 138 
An Alternative Algorithm 140 
Algorithm Analysis 141 
Big-Oh Notation 142 
Algorithm Example: Searching a List 142 
Sequential Search 142 
Binary Search 143 
Algorithm Analysis 144 
Algorithm Example: Approximating a Square Root 144 
Algorithm Analysis 146 
Algorithms and Programming 146 
Machine Languages 146 
High-Level Languages 147 
Program Translation 148 
Interpreters and Compilers 150 
Looking Ahead... 151 
Chapter Summary 151 
Review Questions 152 
References 153 

Chapter 9 Abstraction and Libraries 155 


The Structure of Functions 156 
Local Variables 157 
Functions with Inputs 159 
Multiple Inputs 161 
Functions That Return Values 162 

118 | P a g e
Function Libraries 163 
The random.jsLibrary 165 
Looking Ahead ... 168 
Chapter Summary 168 
Supplemental Material and Exercises 169 

Chapter 10 Computer Science as a Discipline 174


Computer “Science” 175 
Artificial Science 176 
Computer Science Themes 176 
Hardware 177 
Software 177 
Theory 178 
Subfields of Computer Science 179 
Algorithms and Data Structures 179 
Architecture 182 
Operating Systems and Networks 183 
Software Engineering 185 
Artificial Intelligence and Robotics 187 
Bioinformatics 188 
The Ethics of Computing 189 
Looking Ahead... 190 
Chapter Summary 191 
Review Questions 192 
Endnotes 193 
References 194 

Chapter 11 Conditional Execution 195 


If Statements 195 
Boolean Tests 196 
Nested If Statements 199 
Cascading If-Else Statements 200 
Example: Dice Simulations 201 
Counters 201 
Boolean Expressions 204 
Example: Slot Machine 206 
Looking Ahead... 209 
Chapter Summary 209 
Supplemental Material and Exercises 210 

Chapter 12 Data Representation 216 


Analog vs. Digital 216 
Binary Numbers 218 

119 | P a g e
Representing Integers 219 
Representing Real Numbers 220 
Representing Characters and Strings 222 
Representing Other Types of Data 223 
Sounds 223 
Images 225 
Movies 227 
How Computers Distinguish among Data Types 228 
Looking Ahead... 229 
Chapter Summary 230 
Review Questions 230 
References 232 

Chapter 13 Conditional Repetition 233 


While Loops 234 
Avoiding Redundancy 236 
Example: Lottery Combinations 238 
Counter-Driven Loops 240 
Variables and Repetition 243 
Example: Generating Hailstone Sequences 246 
Looking Ahead... 247 
Chapter Summary 248 
Supplemental Material and Exercises 248 

Chapter 14 Inside the Computer–The von Neumann Architecture 253


CPU Subunits and Datapath 253 
CPU Subunits 254 
CPU Datapath Cycles 255 
Datapath Simulator 255 
CPU and Main Memory 257 
Transferring Data to and from Main Memory 257 
Datapath with Memory Simulator 258 
Stored-Program Computer 260 
Machine Languages 260 
Control Unit 262 
Stored-Program Computer Simulator 263 
The Role of Input/output Devices 267 
Machine vs. Assembly Languages 268 
Looking Ahead... 269 
Chapter Summary 270 
Review Questions 271 
References 272 

120 | P a g e
Chapter 15 JavaScript Strings 273 
Strings as Objects 273 
Properties and Methods 274 
Common String-Manipulation Methods 276 
String Concatenation 277 
Searching Strings 278 
General Searches 279 
String Manipulations and Repetition 280 
Example: Recognizing Palindromes 282 
Example: Substitution Ciphers 282 
Encoding Messages 283 
Decoding Messages 286 
Looking Ahead... 287 
Chapter Summary 288 
Supplemental Material and Exercises 288 

Chapter 16 Inside the Computer–Transistors and Integrated Circuits 293 


Electricity and Switches 294 
Electricity Basics 294 
Switches 294 
Transistors 295 
Transistors as Switches 296 
From Transistors to Gates 297 
Gates and Binary Logic 298 
From Gates to Complex Circuits 300 
Example: Designing Memory Circuitry 302 
From Circuits to Microchips 303 
The Integrated Circuit 303 
Manufacturing Integrated Circuits 304 
Packaging Microchips 305 
Looking Ahead... 307 
Chapter Summary 307 
Review Questions 308 
References 310 

Chapter 17 JavaScript Arrays 311 


Arrays as Objects 312 
Accessing Items in an Array 312 
Assigning Items in an Array 313 
From Strings to Arrays 315 
The splitMethod for Strings 315 
Example: Generating Acronyms 316 
Arrays of Numbers 318 

121 | P a g e
Example: Maintaining Dice Statistics (Approach 1) 321 
Example: Maintaining Dice Statistics (Approach 2) 323 
Example: ASCII Animations 324 
Looking Ahead... 325 
Chapter Summary 327 
Supplemental Material and Exercises 328 

Chapter 18 Computers and Society 335 


Positive Impact of Technology 335 
Computers and Programs for Everyday Tasks 336 
The Internet and Web as Information Sources 338 
The Internet and Web as Communications Media 341 
The Internet and Web for Commerce 342 
Potential Dangers of Technology 344 
Reliance on Complex Systems 344 
Information Overload 345 
Privacy and Security 346 
The Digital Divide 347 
Looking Beyond... 348 
Chapter Summary 349 
Review Questions 349 

122 | P a g e
Cours
MAT 150 Calculus I

1. Objectifs du cours
Les limites, la continuité, la dérivée, les règles de différenciation, les dérivées des fonctions
trigonométriques et logarithmiques et leurs inverses, les applications de la dérivée, les
extrema, l'esquisse de la courbe et l'optimisation. Ce cours se réunit pour une session de
laboratoire supplémentaire d'une heure chaque semaine pour l'enrichissement et la
résolution de problèmes. MAT 131 ou le placement par test est une condition préalable à ce
cours.

2. Concepts technologiques couverts par le cours

3. Pré-requis
MAT 131 or placement by test
4. Proposition de découpage du cours

5. Manuels de cours
Manuel de référence
Mathématiques 1re année MPSI Tout en un (H Prépa Mathématiques)
De Xavier Oudot (Auteur), Marie Allano-Chevalier (Auteur)
Format : Format Kindle
Taille du fichier : 17497 KB
Editeur : Hachette Éducation (20 août 2008)
Vendu par : Amazon Media EU S.à r.l.
Langue : Français
ASIN : B00TEE7TXO

Manuels recommandés
Mathématiques Méthodes et Exercices MPSI - 3e éd.
AUTEURS : de Jean-Marie Monier (Auteur), Guillaume Haberer (Auteur), Cécile Lardon
(Auteur)
Pages 544 pages
Format 193 x 250 mm
Collection J'intègre

123 | P a g e
Parution août 2015
Marque Dunod
Public Prépas scientifiques
EAN 9782100727803

6. Sommaire du manuel de cours de référence

124 | P a g e
Cours
MGT 101 Anglais Technique

1. Objectifs du cours
La licence d’Anglais a pour objectif de donner à l’étudiant des connaissances approfondies
en anglais en les inscrivant dans leur contexte intellectuel, social et historique. Elle vise à
développer des compétences de réflexion, d’analyse ainsi que d’expression écrite et orale
tant en langue étrangère qu’en français. Elle conjugue des approches linguistiques,
littéraires, historiques et culturelles qui forment un ensemble cohérent.

2. Concepts technologiques couverts par le cours

3. Pré-requis

4. Proposition de découpage du cours

5. Manuels de cours
Manuels de cours
Manuel de référence
Titre: Correct English
Auteurs: Metcalfe, J. E. and Astle C. Format/binding: Paperback: 320 pages
Book condition: Very Good
Binding: Paperback
ISBN 10: 189960605X
ISBN 13: 9781899606054
Publisher: Clarion
Manuels recommandés
o Livre1
Titre: Oxford Advanced Learner’s Dictionary, 8 th Edition, International Student’s
Series: Oxford Advanced Learner's Dictionary, 8th Edition
Hardcover: 96 pages
Publisher: Not Avail; 8th Revised ed. edition (June 1, 2011)
Language: English
ISBN-10: 0194799042

125 | P a g e
ISBN-13: 978-0194799041

o Livre2
Oxford Advanced Learner’s Dictionary, 8 th Edition, International Student’s Edition
6. Sommaire du manuel de cours de référence

126 | P a g e
Cours
WRD 103 Techniques d’expressions écrites et orales

1. Objectifs du cours
Une introduction aux formes, aux attentes et aux conventions de l'écriture au niveau
collégial. Accent sur l'analyse de l'audience, la position rhétorique et la nature du processus
de composition.
o Les élèves devraient acquérir de l'expérience en lecture et en écriture dans plusieurs
genres et modalités, y compris, mais sans s'y limiter, les essais académiques.
o Les élèves doivent développer une position adaptée aux circonstances rhétoriques, la
capacité de mobiliser un soutien suffisant et plausible pour leurs assertions et se familiariser
avec une variété de structures pour présenter de telles preuves, y compris, mais sans s'y
limiter, narration, exemplification, définition, classification. Comparaison, analogie et cause
et effet qui dépendent de la situation rhétorique.
o Les élèves doivent développer la capacité de façonner le langage du discours écrit en
fonction de leur public et de leurs objectifs, en favorisant la clarté et l’accent en fournissant
des indices explicites et appropriés sur l’objectif principal et les sous-sections de leurs
textes.
o Les élèves devraient développer la capacité de lire et d’évaluer l’écriture des autres et
d’identifier les stratégies rhétoriques à l’œuvre dans les textes écrits.

2.Concepts technologiques couverts par le cours


 La situation rhétorique / Textes / Annotation / Stratégies de lecture / Stratégies de
vocabulaire / Qu'est-ce que l’écriture ?
 Analyses rhétoriques / Journalisation /
 Comment aborder la grammaire
 Le processus d'écriture / rédaction / révision / phrases de sujet
 Récits d'alphabétisation / pré-écriture / guider votre lecteur
 Narration / Audience / Plagiat
 Structure / Début et fin
 Genre / Portfolio
 Rapports / Guides / Collaboration / Entrevue
 Recherche / Analyse des causes et des effets / Paragraphes
 Écrire pour faire quelque chose / décrire
 Écriture multimodale / citation
 Écrire dans des contextes académiques américains

127 | P a g e
3.Pré-requis
AUCUN
4.Proposition de découpage du cours

Topics and Activities Reading Due (Annotate/Skim)


Week 1 Introductions / Syllabus / MLA Formatting
The Rhetorical Situation / Texts / Annotation / SMH: iii-xxxvii, 213-218
Week 2 Reading Strategies / Vocabulary Strategies / What Is
Writing?
Rhetorical Analyses / Journaling / NFG: iii-xxxvi, 3-18, 251-254, 396-
Week 3
How to Approach Grammar 413 SMH: 539-780
The Writing Process / Drafting / Revision / NFG: 259-286, 955-968 SMH:
Week 4
Topic Sentences 14-22
Literacy Narratives / Prewriting / Guiding Your NFG: 27-33, 42-51
Week 5
Reader
Narrating / Audience / Plagiarism NFG: 387-395, 633-639, 645-649
Week 6
SMH: 502-508
Week 7 Structure / Beginning and Ending NFG: 299-311, 640-644

Week 8 Genre / Portfolio NFG: 243-248

NFG: 87-95, 110-118, 255-258,


Week 9 Reports / Guides / Collaboration / Interview
448452
Research / Analyzing Causes and Effects / NFG: 318-322, 386-381 SMH:
Week 10
Paragraphs 107-141
Writing to Make Something Happen / NFG: 367-375, 699-704 SMH:
Week 11
Describing 890-898
Multimodal Writing / Citation NFG: 480-483, 577-608 SMH:
Week 12
Writing in U.S. Academic Contexts 782-790
Portfolio / Reflection NFG: 214-221, 932-935 SMH:
Week 13
882-889
Week 14 Final Exam

128 | P a g e
5.Manuels de cours
 Manuel de référence

Titre : Expression, communication


Auteur : Francis Vanoye
Broché : 241 pages
Editeur : Armand Colin
Collection : Collection U
ISBN-10 : 2200310919
ISBN-13 : 978-2200310912

 Manuel recommandés

Titre : Structurer sa pensée, structurer sa phrase : Techniques d'expression orale et


écrite, formation continue niveau supérieur
Editeur(s) Hachette
Auteur(s) Gilberte Niquet
Collection : Technique
Langue : Français
ISBN-10 : 2010121228
ISBN-13 : 978-2010121227

6.Sommaire du manuel de cours de référence

129 | P a g e
Cours
MGT 102 Economie générale

1. Objectifs du cours
Ce manuel constitue un cours d’introduction à l’économie complet et didactique. Il permet
d’acquérir les fondamentaux de l’économie, notamment toutes les connaissances
indispensables en première année à l’université :
 Les deux grandes méthodes de l’analyse économique : la méthode
microéconomique (ou ensembliste) et la méthode macroéconomique (ou
systémique) ;
 Les règles et les définitions de la comptabilité nationale selon la plus récente
harmonisation européenne (SEC 2010), ses applications et ses liens avec le circuit
keynésien ;
 Toutes les grandes fonctions économiques : le financement et l’investissement, la
production et la répartition, la consommation et l’épargne, en suivant l’ordre de la
circulation des flux monétaires et en respectant le double point de vue micro et
macroéconomique.

2. Concepts technologiques couverts par le cours

3. Pré-requis

4. Proposition de découpage du cours

5. Manuels de cours
Manuel de référence
Titre : Les Fondamentaux - Economie Générale
Editeur(s) Hachette
Auteur(s) Eric Bosserelle
Collection Les fondamentaux - Economie-gestion
Parution 23/08/2017
Edition 6ème édition
Nb de pages 160
Format 14 x 19
Couverture Broché

130 | P a g e
Poids 185
Intérieur Noir et Blanc
EAN13 9782017009801
ISBN13 978-2-01-700980-1
Manuels recommandés
Titre: Principles of Economics, 7th Edition
Auteur: N. Gregory Mankiw
Series: MindTap Course List
Hardcover: 880 pages
Publisher: Cengage Learning; 7th edition (2014)
Language: English
ISBN-10: 128516587X
ISBN-13: 978-1285165875
6. Sommaire du manuel de cours de référence
Part I Introduction 1
1 Ten Principles of Economics 3
2 Thinking Like an Economist 19
3 Interdependence and the Gains from Trade 47

Part II How Markets Work 63


4 The Market Forces of Supply and Demand 65
5 Elasticity and Its Application 89
6 Supply, Demand, and Government Policies 111

Part III Markets and Welfare 133


7 Consumers, Producers, and the Efficiency of Markets 135
8 Application: The Costs of Taxation 155
9 Application: International Trade 171

Part IV The Economics of the Public Sector 193


10 Externalities 195
11 Public Goods and Common Resources 215
12 The Design of the Tax System 233

Part V Firm Behavior and the Organization of Industry 257

131 | P a g e
13 The Costs of Production 259
14 Firms in Competitive Markets 279
15 Monopoly 299
16 Monopolistic Competition 329
17 Oligopoly 347

Part VI The Economics of Labor Markets 371


18 The Markets for the Factors of Production 373
19 Earnings and Discrimination 395
20 Income Inequality and Poverty 413

Part VII Topics for Further Study 433


21 The Theory of Consumer Choice 435
22 Frontiers of Microeconomics 461

Part VIII The Data of Macroeconomics 481


23 Measuring a Nation’s Income 483
24 Measuring the Cost of Living 505

Part IX The Real Economy in the Long Run 521


25 Production and Growth 523
26 Saving, Investment, and the Financial System 547
27 The Basic Tools of Finance 569
28 Unemployment 585

Part X Money and Prices in the Long Run 607


29 The Monetary System 609
30 Money Growth and Inflation 633

Part XI The Macroeconomics of Open Economies 657


31 Open-Economy Macroeconomics: Basic Concepts 659
32 A Macroeconomic Theory of the Open Economy 683

Part XII Short-Run Economic Fluctuations 705


33 Aggregate Demand and Aggregate Supply 707

132 | P a g e
34 The Influence of Monetary and Fiscal Policy on Aggregate Demand 745
35 The Short-Run Trade-off between Inflation and Unemployment 769

Part XIII Final Thoughts 793


36 Six Debates over Macroeconomic Policy 795

133 | P a g e
Cours
MCSA 70-697 Configuration des Appareils Windows

1. Objectifs du cours
Cette formation vous permettra de découvrir les évolutions de Windows 10 et
l'administration du poste de travail. L’intégration des appareils mobiles en toute sécurité
dans la gestion globale de l’informatique dans Windows 10 est un des objectifs majeurs de
cette version. Les nouvelles adaptations de l’interface cherchent à rapprocher les
utilisateurs de la version 7 et inférieure tout en gardant, en améliorant les nouveaux
concepts très puissants de Windows 8, déroutants au début si la philosophie suivie par
Microsoft n'est pas comprise.
Au-delà de l'aspect ergonomique beaucoup de nouveautés techniques vont vous permettre
de tirer pleinement profit du nouvel OS de Microsoft. Cette formation Windows 10 constitue
un point d'entrée idéal pour les personnes en charge de l'administration de Windows 10 ou
de la veille technologique. Concrètement, à l'issue de ce cours, vous serez capable de :
• Installer ou de migrer de Vista, Seven ou 8/8.1 vers Windows 10,
• Déployer Windows 10
• Utiliser les nouvelles fonctionnalités de Windows 10
• Maîtriser le paramétrage technique de l'interface,
• Configurer le réseau
• Gérer la sécurité de Windows 10
• Maîtriser les performances du démarrage du système,
• Maîtriser les nouvelles possibilités de stockage (Cloud, images ISO ou VHD, ...),
• Optimiser les performances et la disponibilité du système.
• Sauvegarder et restaurer Windows 10
• Résoudre des problèmes réseaux, systèmes, matériels,
• Méthodologie de résolution des problèmes
• Mise en œuvre d’une maintenance proactive

2. Concepts technologiques couverts par le cours


 Installation de Windows 10
 Configuration de la connectivité réseau
 Gestion de stockage
 Gestion des fichiers et imprimantes
 Gestion des applications Windows

134 | P a g e
 Gestion de la sécurité des données
 Gestion de la sécurité du réseau et périphériques
 Dépannage et récupération
 Maintenance Windows
 Gestion des clients de bureau et mobiles à l'aide de Microsoft Intune
 Gestion des mises à jour et de la protection des points de terminaison à l'aide de
Microsoft Intune
 Accès aux applications et aux ressources à l'aide de Microsoft Intune
 Configuration et gestion du client Hyper-V
3. Pré-requis
CONDITIONS PRÉALABLES: MCSA 70-698
4. Proposition de découpage du cours

135 | P a g e
Semaine Sujet

Semaine 1 Module 1: Overview of Windows 10


Module 2: Installing Windows 10

Semaine 2 Module 3: Configuring Your Device


Module 4: Configuring Network Connectivity

Semaine 3 Module 5: Managing Storage


Module 6: Managing Files and Printers

Semaine 4 Module 7: Managing Apps in Windows 10


Module 8: Managing Data Security

Semaine 5 Module 9: Managing Device Security


Module 10: Managing Network Security

Semaine 6 Module 11: Troubleshooting and Recovery


Module 12: Maintaining Windows 10

Semaine 7 Module 1: Managing Desktops and Devices in an Enterprise Environment


Module 2: Deploying Windows 10 Enterprise Desktops

Semaine 8 Module 3: Managing User Profiles and User State Virtualization


Module 4: Managing Desktop and Application Settings by Using Group Policy

Semaine 9 Module 5: Managing Windows 10 Sign-In and Identity


Module 6: Managing Data Access for Windows-based Devices

Semaine 10 Module 7: Managing Remote Access Solutions


Module 8: Managing Windows 10 Devices by Using Enterprise Mobility Solutions

Semaine 11 Module 9: Managing Desktop and Mobile Clients by Using Microsoft Intune
Module 10: Managing Updates and Endpoint Protection by Using Microsoft
Intune
Semaine 12 Module 11: Application and Resource Access by Using Microsoft Intune
Module 12: Configuring and Managing Client Hyper-V

5. Manuels de cours
Manuel de référence
Editeur(s) Eni
Auteur(s) Philippe Païola - Pierre Salvy
Collection Coffret Certification technique

136 | P a g e
Parution 07/12/2016
Edition 1ère édition
Nb de pages 846
Format 18 x 22
Couverture Broché
Poids 1410
Intérieur Noir et Blanc
EAN13 9782409005190
ISBN13 978-2-409-00519-0Warren
Manuels recommandés
Exam Ref 70-697 Configuring Windows Devices 
ISBN 9781509303014,
by Andrew Bettany and Jason Kellington.

Sommaire du manuel de cours de référence

Descriptif
Chapitre 1 Gestion des périphériques fixes et mobiles en entreprise
A. Présentation de Windows 10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
B. Gérer Windows 10 en entreprise. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1. Contraintes et considérations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . …15
2. Windows 10 Entreprise, armé pour l'entreprise . . . . . . . . . . . . . . . . . . . . . . . . . …. 17
a. Les fonctionnalités héritées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ……..17
b. Les fonctionnalités introduites par Windows 8 et 8.1 . . . . . . . . . . . . . . . . . . . ……..17
c. Les fonctionnalités partagées avec l'édition Professionnel . . . . . . . . . . . . . ………..18
d. Les fonctionnalités exclusives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ……..18
C. Gestion d'une flotte nomade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19
1. Nouveaux usages, nouveaux challenges. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . …..19
2. Solutions pour la gestion des clients externes . . . . . . . . . . . . . . . . . . . . . . . . . . … 20

137 | P a g e
3. Solutions pour l'accès aux données et applications. . . . . . . . . . . . . . . . . . . . . . …..21
D. Supporter les nouveaux usages et les nouveaux périphériques . . . . . . . . . . . . . . . 22
1. Éléments à considérer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ….23
2. Garantir et sécuriser l'accès aux données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ….23
3. Garantir et sécuriser l'accès aux applications. . . . . . . . . . . . . . . . . . . . . . . . . . . ….24
a. Accès via RemoteApp et Azure RemoteApp . . . . . . . . . . . . . . . . . . . . . . . . ………..24
b. Accès via Bureau à distance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ……….25
E. Utiliser le Cloud pour étendre les possibilités de gestion. . . . . . . . . . . . . . . . . . . . . 26
1. Les solutions Cloud proposées par Microsoft . . . . . . . . . . . . . . . . . . . . . . . . . . . ….27
a. Office 365. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ………27
b. Microsoft Azure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ……..29
c. Microsoft Intune . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ………30
2. Entreprise Mobility Suite : la boîte à outils Cloud de l'administrateur . . . . . . . . . . …31
F. Les bénéfices des services Cloud. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
G. Validation des acquis : questions/réponses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
H. Travaux pratiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
1. Création d’un compte Microsoft. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . …... 35
2. Activation d'un environnement Microsoft Azure . . . . . . . . . . . . . . . . . . . . . . . . . ….37
3. Activation d'un environnement Microsoft Office 365 . . . . . . . . . . . . . . . . . . . . . …..44
4. Activation d'un environnement Enterprise Mobility Suite . . . . . . . . . . . . . . . . . . …. 47
Page 2 Table des matières
Windows 10 - Déploiement et gestion via des services d’entreprise
Chapitre 2 Déployer Windows 10
A. Méthodes de déploiement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .52
1. Solutions techniques au déploiement de Windows 10 . . . . . . . . . . . . . . . . . . . …. 52
2. Installation simple de Windows 10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... 55

138 | P a g e
a. Préparation du déploiement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ………. 55
b. Méthodes de déploiement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ……….. . 56
3. Migrations vers Windows 10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... . . . . 58
4. Provisionnement de postes Windows 10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . …. 59
5. Automatisation du déploiement de Windows. . . . . . . . . . . . . . . . . . . . . . . . . . . ….60
a. Les déploiements Lite Touch Installation (LTI). . . . . . . . . . . . . . . . . . . . . . . . . ……60
b. Les déploiements Zero Touch Installation (ZTI). . . . . . . . . . . . . . . . . . . . . . . ……. 61
B. Automatisation et personnalisation des déploiements . . . . . . . . . . . . . . . . . . .. . . .61
1. Composants. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . …. 62
a. Windows ADK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ……. 62
b. Image système. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . …….. 63
c. Windows Preinstallation Environment. . . . . . . . . . . . . . . . . . . . . . . . . . . . ……. . . 64
d. Les fichiers de réponses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ……. . . 65
e. L'outil sysprep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Table des matières Page 3

Préparation à la certification MCSA (examen 70-697)

© Editions ENI - All rights reserved

Chapitre 3 Gestion des paramètres utilisateur

A. Gestion des profils utilisateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

1. Fonctionnement des profils utilisateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

2. Types de comptes et profils utilisateurs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

a. Comptes et profils locaux. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ……. 93

b. Profils itinérants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ….. . 94

c. Profils obligatoires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ….. 94

3. Redirection des dossiers et fichiers hors connexion . . . . . . . . . . . . . . . . . . . .. . . 95

B. Virtualisation de la configuration avec UE-V . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

1. Présentation d'UE-V . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

139 | P a g e
2. Composants et architecture d'UE-V . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
3. Configuration de la synchronisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
a. Configuration de l'agent lors de l'installation. . . . . . . . . . . . . . . . . . . . . . . . . ……97
b. Configuration de l'agent par stratégies de groupe (GPO) . . . . . . . . . . . . …….. . 98
C. Migration de profils utilisateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
1. Détermination des éléments à migrer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . … 100
2. Les composants USMT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
D. Résumé du chapitre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
E. Validation des acquis : questions/réponses . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
F. Travaux pratiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .107
1. Gestion des profils utilisateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
2. Implémentation d'UE-V . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . … . 111
Chapitre 4 Gestion des identités sous Windows 10
A. Gestion des identités. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
1. Qu'est-ce qu'une identité ?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
B. Authentification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
1. Authentification et autorisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
a. Types d'authentification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ……. 123
b. Processus d'autorisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . …… . 123
2. Les différentes formes d'authentification. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
a. Authentification multifactorielle via Azure MFA . . . . . . . . . . . . . . . . . . . . . . ……124
b. Cartes à puce virtuelles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ……. 124
c. Authentification biométrique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ……… 125
d. Images mots de passe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . …….. . . 125
3. Entité de sécurité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . 125
Page 4 Table des matières

140 | P a g e
Windows 10 - Déploiement et gestion via des services d’entreprise
4. Authentification au sein d'un groupe de travail . . . . . . . . . . . . . . . . . . . . . . … . 126
a. Utilisation d'information d'authentification. . . . . . . . . . . . . . . . . . . . . . . . . . …1..26
b. Authentification. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . …… 127
c. Autorisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ….. . 127
d. Autorisation à distance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ….. . 127
e. Groupe résidentiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . …... 127
f. Partage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . …… . 128
5. Compte Microsoft . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
6. Authentification via Azure Active Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
C. Intégration à un domaine. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 129
1. Les avantages du travail dans un domaine . . . . . . . . . . . . . . . . . . . . . . . . . .... 129
a. Évolutivité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ….. 129
b. Granularité avancée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ……. 129
c. Les stratégies de groupe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ……. . . 130
d. La centralisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . …... . 130
2. Prérequis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
3. Ouverture de session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
4. Accès aux ressources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
D. Intégration des identités Cloud. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .133
1. Vue d'ensemble . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . … 133
2. Gestion de la double identité. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ….133
3. Vue d'ensemble d'Azure Active Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . …. . 134
4. Joindre Windows 10 à un domaine Azure Active Directory. . . . . . . . . . . . . . …… . 135
E. Résumé du chapitre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .136
F. Validation des acquis : questions/réponses . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...137

141 | P a g e
G. Travaux pratiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. .140
1. Installation d'un contrôleur de domaine. . . . . . . . . . . . . . . . . . . . . . . . . . . . . …... 141
2. Ajout d’une machie au domaine. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ……. 155
3. Création d'un utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . …. 157
4. Ouverture de session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . …. 160
Table des matières Page 5
Préparation à la certification MCSA (examen 70-697)
© Editions ENI - All rights reserved
Chapitre 5 Gestion de Windows 10 par stratégies de groupe
A. Stratégies de groupe Active Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
1. Application des paramètres et héritage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . …… 165
2. Filtrage de l'application des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . …… . 166
3. Déterminer l'état du paramétrage effectif . . . . . . . . . . . . . . . . . . . . . . . . . …… . . 167
B. Configuration des postes de travail par stratégies de groupe . . . . . . . . . . . . . . . 167
1. Gestion des modèles d'administration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . …167
2. Paramètres communément utilisés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . …. 169
a. Gestion de l'environnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . …….169
b. Gestion de la sécurité. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . …….. 170
c. Déploiement par stratégies de groupe . . . . . . . . . . . . . . . . . . . . . . . . . . ……….. 170
C. Utilisation des stratégies de groupe de préférence . . . . . . . . . . . . . . . . …. . . . . . 172
1. Paramètres de préférences et paramètres standard . . . . . . . . . . . . . . . . . . . . 172
2. Configuration et filtres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
D. Validation des acquis : Questions / Réponses. . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
E. Travaux pratiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
1. Création de la structure d'unités d'organisation . . . . . . . . . . . . . . . . . . . . . . . . 176
2. Création d'une Stratégie de groupe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177

142 | P a g e
3. Création du Central Store . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
4. Installation des modèles d'administration Windows 10 dans le Central Store . . 179
5. Configuration d'une Stratégie de groupe standard . . . . . . . . . . . . . . . . . . . . . 180
6. Configuration d'une Stratégie de groupe de préférence . . . . . . . . . . . . . . . . . 182
Chapitre 6 Contrôler l’accès aux données
A. Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
B. Sécurisation de l’accès aux données en mobilité . . . . . . . . . . . . . . . . . . . . . . . . 188
1. Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
2. Difficultés d'accès aux données pour plusieurs types de périphériques . . . . . . 189
3. Difficultés d'accès aux données pour les périphériques non membres
du domaine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
4. Solutions pour l'accès aux données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
C. Configuration de l’enregistrement des périphériques : Device Registration. . . . . 192
1. Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
2. Vue d'ensemble de l'enregistrement de périphériques . . . . . . . . . . . . . . . . . . 193
3. Scénarios pour l'utilisation de l'enregistrement de périphériques . . . . . . . . . . . 194
4. Infrastructure requise pour supporter l'enregistrement de l'appareil . . . . . . . . . 195
Page 6 Table des matières
Windows 10 - Déploiement et gestion via des services d’entreprise
5. Enregistrement et inscription des périphériques . . . . . . . . . . . . . . . . . . . . . . . . 196
D. Utilisation des Dossiers de travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .197
1. Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
2. Vue d'ensemble des dossiers de travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
3. Composants des dossiers de travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
4. Processus de synchronisation dans les dossiers de travail. . . . . . . . . . . . . . . . . 200
5. Processus pour la configuration de dossiers de travail . . . . . . . . . . . . . . . . . . . 201

143 | P a g e
6. Utilisation de la stratégie de groupe pour configurer des dossiers de travail . . 203
E. Mise en place de stratégies d’accès aux données Cloud . . . . . . . . . . . . . . . . . .203
1. Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
2. Considérer le stockage en ligne pour les données . . . . . . . . . . . . . . . . . . . . . 204
3. Comparaison de la solution OneDrive Personal et Enterprise . . . . . . . . . . . . . . 205
4. OneDrive. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
5. OneDrive Entreprise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
6. Comment configurer OneDrive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
7. Partager les données stockées dans OneDrive . . . . . . . . . . . . . . . . . . . . . . . . 208
F. Validation des acquis : questions/réponses . . . . . . . . . . . . . . . . . . . . . . . . . . . . .209
G. Travaux pratiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .211
1. Connexion et synchronisation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
2. Partage de documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
3. Modification des règles de synchronisation . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
Chapitre 7 Configuration réseau et connectivité du poste de travail
A. Configuration IP sous Windows 10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
1. Adressage IPv4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
a. Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
b. Adresse publique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
c. Adresse privée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
d. Configuration Windows. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
2. Adressage IPv6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
a. Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
b. Notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
c. Types d'adresses IPv6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
d. Obtention d'une adresse IPv6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232

144 | P a g e
3. Outils de dépannage réseau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
a. ipconfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
b. ping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
Table des matières Page 7
Préparation à la certification MCSA (examen 70-697)
© Editions ENI - All rights reserved
c. tracert. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
d. pathping. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
e. route . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
f. telnet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
g. netstat. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
h. nslookup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
i. Diagnostics réseau de Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
B. Connexions réseau sous Windows 10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
1. Connexions filaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
a. Connectivité au LAN. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
b. Haute disponibilité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
c. Sécurité. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
d. Connectivité Internet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
2. Connexions sans fil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
a. Technologies Wireless LAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
b. Points d'accès Wi-Fi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
c. Sécurité. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
d. Configuration Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
C. Connexions à distance sous Windows 10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
1. Réseau privé virtuel (VPN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249

145 | P a g e
a. Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
b. Protocoles VPN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
c. Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
2. DirectAccess. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
a. Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
b. Avantages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
c. Prérequis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
d. Fonctionnement sur le réseau interne . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
e. Fonctionnement sur un réseau externe . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
D. Pare-feu de Windows 10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
1. Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
a. Règles de trafic entant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
b. Règles de trafic sortant. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
c. Portée des règles de trafic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
d. Règles de sécurité de connexion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
e. Profils réseau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
2. Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
a. Configuration manuelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
Page 8 Table des matières
Windows 10 - Déploiement et gestion via des services d’entreprise
b. Configuration par Stratégie de groupe . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
E. Résumé du chapitre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .261
F. Validation des acquis : questions/réponses . . . . . . . . . . . . . . . . . . . . . . . . . . . . .262
G. Travaux pratiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .267
1. Hyper-V . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
2. Machines virtuelles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268

146 | P a g e
3. Installation du serveur DirectAccess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
4. Configuration du serveur DirectAccess. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
5. Configuration de l’accès distant. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
6. Configuration du pare-feu Windows Server 2012 . . . . . . . . . . . . . . . . . . . . . . . 277
7. Configuration de l'ordinateur client Windows 10. . . . . . . . . . . . . . . . . . . . . . . . 278
8. Test de la connectivité DirectAccess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
Chapitre 8 Gestion des fichiers, des partages et des imprimantes
A. Gestion du stockage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .286
1. Tables de partition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
a. Master Boot Record (MBR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
b. GUID Partition Table (GPT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
2. Système de fichiers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
a. FAT32 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
b. NTFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
3. Gestion des disques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
a. Gestionnaire de disques. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
b. DiskPart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
c. PowerShell. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
d. Espaces de stockage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
B. Gestion des partages de fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .295
1. Autorisations NTFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
a. Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
b. Autorisations de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
c. Autorisations avancées. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
d. Héritage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
2. Partage de fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300

147 | P a g e
a. Méthodes de partage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
b. Autorisations de partage et autorisations NTFS . . . . . . . . . . . . . . . . . . . . . . 303
c. Accès . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
Table des matières Page 9
Préparation à la certification MCSA (examen 70-697)
© Editions ENI - All rights reserved
C. Gestion de la mise en cache de fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
1. Fichiers hors connexion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
a. Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
b. Centre de synchronisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
2. BranchCache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
a. Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
b. Scénario d’utilisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
c. Cache en mode hébergé (Hosted Cache Mode). . . . . . . . . . . . . . . . . . . 309
d. Cache en mode distribué (Distributed Cache Mode) . . . . . . . . . . . . . . . . 309
e. Prérequis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
f. Déploiement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
D. Gestion des imprimantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
1. Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
2. Partage d'imprimante. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
E. Résumé du chapitre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
F. Validation des acquis : questions/réponses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
G. Travaux pratiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
1. Gestion des disques et des volumes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
2. Création d'un partage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
3. Gestion des autorisations NTFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325

148 | P a g e
4. Configuration de BranchCache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
Chapitre 9 Gestion de Windows 10 par le Cloud
A. Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
B. Découverte des outils Enterprise Mobility Suite . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
1. Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
2. Qu'est-ce que Enterprise Mobility Suite ?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
3. Utilisations pratiques de Microsoft Enterprise Mobility . . . . . . . . . . . . . . . . . . . . 336
4. Prérequis pour implémenter Enterprise Mobility Suite . . . . . . . . . . . . . . . . . . . . 337
C. Présentation et implémentation d’Azure Active Directory Premium. . . . . . . . . . . . 338
1. Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
2. Qu'est-ce qu’Azure Active Directory Premium ? . . . . . . . . . . . . . . . . . . . . . . . . 339
3. Considérations pour l'intégration sur site d'AD DS avec Azure Active Directory . 340
4. Synchronisation d'annuaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
5. Authentification multifactorielle et gestion de mots de passe . . . . . . . . . . . . . 342
6. Vue d'ensemble des applications SaaS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
Page 10 Table des matières
Windows 10 - Déploiement et gestion via des services d’entreprise
7. Démonstration : accès aux Applications SaaS . . . . . . . . . . . . . . . . . . . . . . . . . 344
8. Utilisation de Windows 10 avec Azure Active Directory . . . . . . . . . . . . . . . . . . . 345
D. Présentation et implémentation d’Azure Rights Management . . . . . . . . . . . . . . .346
1. Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
2. Qu'est-ce qu’Azure RMS ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
3. Processus de mise en œuvre pour Azure RMS . . . . . . . . . . . . . . . . . . . . . . . . . 347
4. Utilisation de modèles RMS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
5. Les applications qui supportent Azure RMS. . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
6. Vue d'ensemble de RMS Connector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351

149 | P a g e
E. Présentation et implémentation de Microsoft Intune. . . . . . . . . . . . . . . . . . . . . . . 351
1. Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
2. Avantages de l'utilisation Intune . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
3. Comparaison d'Intune avec Exchange ActiveSync et Office 365 . . . . . . . . . . 352
4. Options de mise en œuvre Intune . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
5. Inscription pour le service Cloud Intune . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
6. Vue d'ensemble des portails Intune . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
F. Validation des acquis : questions/réponses . . . . . . . . . . . . . . . . . . . . . . . . . . . . .355
G. Travaux pratiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .357
1. Création d'un modèle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
2. Protection d'un document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364

150 | P a g e
Cours
IT 223 Analyse des données
1. Objectifs du cours
(ANCIENNEMENT SCC 323) Application de concepts et de techniques statistiques à une
variété de problèmes dans les domaines de la TI et d'autres disciplines, en utilisant un
ensemble statistique pour l'analyse de données simples. Les sujets de cours comprennent
les statistiques descriptives, les règles élémentaires de probabilité, l'échantillonnage, les
distributions, les intervalles de confiance, la corrélation, la régression et les tests
d'hypothèses.
Les objectifs de ce cours sont :
 Développer une compréhension des concepts de base de la probabilité et des
statistiques,
 Aider les étudiants à être des lecteurs informés et critiques des arguments
quantitatifs,
 Fournir des compétences suffisantes pour appliquer des techniques statistiques
simples à l'aide d'un ordinateur,
 Apprécier le rôle des statistiques dans la recherche empirique et l'étude scientifique,
 Acquérir des compétences de résolution de problèmes flexibles applicables aux
paramètres statistiques non familiers.

2. Concepts technologiques couverts par le cours


• Graphing / Charting, Mesures du centre (moyenne, médiane)
• Mesures de propagation, tableau normal standard, scores Z - Excel
• Variation suite, 68-95-99.7 Règle, Introduction aux diagrammes de dispersion -
Introduction à Python
• Corrélation et régression - Python Pandas / Numpy / Matplotlib
• Causation, principes dans la conception de l'étude - Python Pandas / Numpy /
Matplotlib
• Probabilité - Python Pandas / Numpy / Matplotlib
• Probabilité continue - Python SciKitLearn / Linear Regression
• Théorème d'inférence et de limite centrale, intervalles de confiance

3. Pré-requis
MAT 130

151 | P a g e
4. Proposition de découpage du cours

Semaine Sujet

Semaine 1 Syllabus et aperçu du cours, Graphing / Charting, Mesures du centre


(moyenne, médiane)
Semaine 2 Mesures de propagation, tableau normal standard, scores Z - Excel

Semaine 3 Variation suite, 68-95-99.7 Règle, Introduction aux diagrammes de


dispersion - Introduction à Python
Semaine 4 Corrélation et régression - Python Pandas / Numpy / Matplotlib

Semaine 5 Causation, principes dans la conception de l'étude - Python Pandas /


Numpy / Matplotlib
Semaine 6 Examen de mi- saison

Semaine 7 Probabilité - Python Pandas / Numpy / Matplotlib

Semaine 8 Probabilité continue - Python SciKitLearn / Linear Regression

Semaine 9 Projets et présentations

Semaine 10 Test d'hypothèses – Révisions examen

Semaine 11 Examen final

Semaine 12

5. Manuels de cours de cours


Manuel de référence
Introduction to the Practice of Statistics
by David S. Moore (Author), George P. McCabe (Author), Bruce A. Craig (Author)
Hardcover: 725 pages

Publisher: W. H. Freeman; Ninth edition (December 15, 2016)


Language : English

152 | P a g e
ISBN-10 : 1319013384
ISBN-13 : 978-1319013387

6. Sommaire du manuel de cours de référence

CHAPTER 1 Looking at Data—Distributions


Introduction

1.1 Data
Key characteristics of a data set
Section 1.1 Summary
Section 1.1 Exercises

1.2 Displaying Distributions with Graphs


Categorical variables: bar graphs and pie charts
Quantitative variables: stemplots
Histograms
Data analysis in action: Don’t hang up on me
Examining distributions
Dealing with outliers
Time plots
Section 1.2 Summary
Section 1.2 Exercises

1.3 Describing Distributions with Numbers


Measuring center: the mean
Measuring center: the median
Mean versus median
Measuring spread: the quartiles
The five-number summary and boxplots
The 1.5 × IQR rule for suspected outliers
Measuring spread: the standard deviation
Properties of the standard deviation
Choosing measures of center and spread
Changing the unit of measurement

153 | P a g e
Section 1.3 Summary
Section 1.3 Exercises

1.4 Density Curves and Normal Distributions


Density curves
Measuring center and spread for density curves
Normal distributions
The 68–95–99.7 rule
Standardizing observations
Normal distribution calculations
Using the standard Normal table
Inverse Normal calculations
Normal quantile plots
Beyond the Basics: Density estimation
Section 1.4 Summary
Section 1.4 Exercises
Chapter 1 Exercises

CHAPTER 2 Looking at Data—Relationships

2.1 Relationships
Examining relationships
Section 2.1 Summary
Section 2.1 Exercises

2.2 Scatterplots
Interpreting scatterplots
The log transformation
Adding categorical variables to scatterplots
Beyond the Basics: Scatterplot smoothers
Categorical explanatory variables
Section 2.2 Summary
Section 2.2 Exercises

2.3 Correlation
The correlation r

154 | P a g e
Properties of correlation
Section 2.3 Summary
Section 2.3 Exercises

2.4 Least-Squares Regression


Fitting a Line to Data
Prediction
Least-squares regression
Interpreting the regression line
Facts about least-squares regression
Correlation and regression
Another view of r2
Section 2.4 Summary
Section 2.4 Exercises

2.5 Cautions about Correlation and Regression


Residuals
Outliers and influential observations
Beware of the lurking variable
Beware of correlations based on averaged data
Beware of restricted ranges
Beyond the Basics: Data mining
Section 2.5 Summary
Section 2.5 Exercises

2.6 Data Analysis for Two-Way Tables


The two-way table
Joint distribution
Marginal distributions
Describing relations in two-way tables
Conditional distributions
Simpson’s paradox
Section 2.6 Summary
Section 2.6 Exercises

2.7 The Question of Causation


Explaining association

155 | P a g e
Establishing causation
Section 2.7 Summary
Section 2.7 Exercises
Chapter 2 Exercises

CHAPTER 3 Producing Data


Introduction

3.1 Sources of Data


Anecdotal data
Available data
Sample surveys and experiments
Section 3.1 Summary
Section 3.1 Exercises

3.2 Design of Experiments


Comparative experiments
Randomization
Randomized comparative experiments
How to randomize
Cautions about experimentation
Matched pairs designs
Block designs
Section 3.2 Summary
Section 3.2 Exercises

3.3 Sampling Design


Simple random samples
Stratified random samples
Multistage random samples
Cautions about sample surveys
Section 3.3 Summary
Section 3.3 Exercises

3.4 Toward Statistical Inference


Sampling variability

156 | P a g e
Sampling distributions
Bias and variability
Sampling from large populations
Why randomize?
Beyond the Basics: Capture-recapture sampling
Section 3.4 Summary
Section 3.4 Exercises

3.5 Ethics
Institutional review boards
Informed consentII
Confidentiality
Clinical trials
Behavioral and social science experiments
Section 3.5 Summary
Section 3.5 Exercises
Chapter 3 Exercises

Probability and Inference

CHAPTER 4 Probability: The Study of Randomness


Introduction

4.1 Randomness
The language of probability
Thinking about randomness
The uses of probability
Section 4.1 Summary
Section 4.1 Exercises

4.2 Probability Models


Sample spaces
Probability rules
Assigning probabilities: finite number of outcomes
Assigning probabilities: equally likely outcomes
Independence and the multiplication rule

157 | P a g e
Applying the probability rules
Section 4.2 Summary
Section 4.2 Exercises

4.3 Random Variables


Discrete random variables
Continuous random variables
Normal distributions as probability distributions
Section 4.3 Summary
Section 4.3 Exercises

4.4 Means and Variances of Random Variables


The mean of a random variable
Statistical estimation and the law of large numbers
Thinking about the law of large numbers
Beyond the Basics: More laws of large numbers
Rules for means
The variance of a random variable
Rules for variances and standard deviations
Section 4.4 Summary
Section 4.4 Exercises

4.5 General Probability Rules


General addition rules
Conditional probability
General multiplication rules
Tree diagrams
Bayes’s rule
Independence again
Section 4.5 Summary
Section 4.5 Exercises
Chapter 4 Exercises

CHAPTER 5 Sampling Distributions

5.1 The Sampling Distribution of a Sample Mean

158 | P a g e
The mean and standard deviation of x¯
The central limit theorem
A few more facts
Beyond the Basics: Weibull distributions
Section 5.1 Summary
Section 5.1 Exercises

5.2 Sampling Distributions for Counts and Proportions


The binomial distributions for sample counts
Binomial distributions in statistical sampling
Finding binomial probabilities
Binomial mean and standard deviation
Sample proportions
Normal approximation for counts and proportions
The continuity correction
Binomial formula
The Poisson distributions
Section 5.2 Summary
Section 5.2 Exercises
Chapter 5 Exercises

CHAPTER 6 Introduction to Inference


Introduction
Overview of inference

6.1 Estimating with Confidence


Statistical confidence
Confidence intervals
Confidence interval for a population mean
How confidence intervals behave
Choosing the sample size
Some cautions
Beyond the Basics: The bootstrap
Section 6.1 Summary
Section 6.1 Exercises

6.2 Tests of Significance

159 | P a g e
The reasoning of significance tests
Stating hypotheses
Test statistics
P-values
Statistical significance
Tests for a population mean
Two-sided significance tests and confidence intervals
The P-value versus a statement of significance
Section 6.2 Summary
Section 6.2 Exercises
6.3 Use and Abuse of Tests
Choosing a level of significance
What statistical significance does not mean
Don’t ignore lack of significance
Statistical inference is not valid for all sets of data
Beware of searching for significance
Section 6.3 Summary
Section 6.3 Exercises

6.4 Power and Inference as a Decision


Power
Increasing the power
Inference as decision
Two types of error
Error probabilities
The common practice of testing hypotheses
Section 6.4 Summary
Section 6.4 Exercises
Chapter 6 Exercises

CHAPTER 7 Inference for Distributions


Introduction

7.1 Inference for the Mean of a Population


The t distributions
The one-sample t confidence interval
The one-sample t test

160 | P a g e
Matched pairs t procedures
Robustness of the t procedures
The power of the t test
Inference for non-Normal populations
Section 7.1 Summary
Section 7.1 Exercises

7.2 Comparing Two Means


The two-sample z statistic
The two-sample t procedures
The two-sample t confidence interval
The two-sample t significance test
Robustness of the two-sample procedures
Inference for small samples
Software approximation for the degrees of freedom
The pooled two-sample t procedures
Section 7.2 Summary
Section 7.2 Exercises
7.3 Other Topics in Comparing Distributions
Inference for population spread
The F test for equality of spread
Robustness of Normal inference procedures
The power of the two-sample t test
Section 7.3 Summary
Section 7.3 Exercises
Chapter 7 Exercises

CHAPTER 8 Inference for Proportions RT III


Introduction

8.1 Inference for a Single Proportion


Large-sample confidence interval for a single proportion
Beyond the Basics: The plus four confidence interval for a single proportion
Significance test for a single proportion
Choosing a sample size
Section 8.1 Summary
Section 8.1 Exercises

161 | P a g e
8.2 Comparing Two Proportions
Large-sample confidence interval for a difference in proportions
Beyond the Basics: Plus four confidence interval for a difference in proportions
Significance test for a difference in proportions
Beyond the Basics: Relative risk
Section 8.2 Summary
Section 8.2 Exercises
Chapter 8 Exercises

Topics in Inference

CHAPTER 9 Analysis of Two-Way Tables


Introduction

9.1 Inference for Two-Way Tables


The hypothesis: no association Expected cell counts The chi-square test
Computations
Computing conditional distributions
The chi-square test and the z test
Models for two-way tables
Beyond the Basics: Meta-analysis
Section 9.1 Summary

9.2 Goodness of Fit


Section 9.2 Summary
Chapter 9 Exercises

CHAPTER 10 Inference for Regression


Introduction

10.1 Simple Linear Regression


Statistical model for linear regression
Data for simple linear regression
Estimating the regression parameters
Confidence intervals and significance tests

162 | P a g e
Confidence intervals for mean response
Prediction intervals
Transforming variables
Beyond the Basics: Nonlinear regression
Section 10.1 Summary

10.2 More Detail about Simple Linear Regression


Analysis of variance for regression
The ANOVA F test
Calculations for regression inference
Inference for correlation
Section 10.2 Summary
Chapter 10 Exercises

CHAPTER 11 Multiple Regression


Introduction

11.1 Inference for Multiple Regression


Population multiple regression equation
Data for multiple regression
Multiple linear regression model
Estimation of the multiple regression parameters
Confidence intervals and significance tests for regression coefficients
ANOVA table for multiple regression
Squared multiple correlation R2

11.2 A Case Study


Preliminary analysis
Relationships between pairs of variables
Regression on high school grades
Interpretation of results
Residuals
Refining the model
Regression on SAT scores
Regression using all variables
Test for a collection of regression coefficients
Beyond the Basics: Multiple logistic regression

163 | P a g e
Chapter 11 Summary
Chapter 11 Exercises

CHAPTER 12 One-Way Analysis of Variance


Introduction

12.1 Inference for One-Way Analysis of Variance


Data for one-way ANOVA
Comparing means
The two-sample t statistic
An overview of ANOVA
The ANOVA model
Estimates of population parameters
Testing hypotheses in one-way ANOVA
The ANOVA table
The F test
12.2 Comparing the Means
Contrasts
Multiple comparisons
Software
Power
Chapter 12 Summary
Chapter 12 Exercises

CHAPTER 13 Two-Way Analysis of Variance


Introduction

13.1 The Two-Way ANOVA Model


Advantages of two-way ANOVA
The two-way ANOVA model
Main effects and interactions
13.2 Inference for Two-Way ANOVA
The ANOVA table for two-way ANOVA
Chapter 13 Summary
Chapter 13 Exercises

164 | P a g e
Companion Chapters (on the IPS website www.whfreeman.com/ips8e)

CHAPTER 14 Logistic Regression


Introduction

14.1 The Logistic Regression Model


Binomial distributions and odds
Odds for two groups
Model for logistic regression
Fitting and interpreting the logistic regression model
14.2 Inference for Logistic Regression
Confidence intervals and significance tests
Multiple logistic regression
Chapter 14 Summary
Chapter 14 Exercises
Chapter 14 Notes and Data Sources

CHAPTER 15 Nonparametric Tests


Introduction

15.1 The Wilcoxon Rank Sum Test


The rank transformation
The Wilcoxon rank sum test
The Normal approximation
What hypotheses does Wilcoxon test?
Ties
Rank, t, and permutation tests
Section 15.1 Summary
Section 15.1 Exercises

15.2 The Wilcoxon Signed Rank Test


The Normal approximation
Ties
Testing a hypothesis about the median of a distribution

165 | P a g e
Section 15.2 Summary
Section 15.2 Exercises

15.3 The Kruskal-Wallis Test


Hypotheses and assumptions
The Kruskal-Wallis test
Section 15.3 Summary
Section 15.3 Exercises
Chapter 15 Exercises
Chapter 15 Notes and Data Sources

CHAPTER 16 Bootstrap Methods and Permutation Tests


Introduction
Software

16.1 The Bootstrap Idea


The big idea: resampling and the bootstrap distribution
Thinking about the bootstrap idea
Using software
Section 16.1 Summary
Section 16.1 Exercises

16.2 First Steps in Using the Bootstrap


Bootstrap t confidence intervals
Bootstrapping to compare two groups
Beyond the Basics: The bootstrap for a scatterplot smoother
Section 16.2 Summary
Section 16.2 Exercises

16.3 How Accurate Is a Bootstrap Distribution?


Bootstrapping small samples
Bootstrapping a sample median
Section 16.3 Summary
Section 16.3 Exercises

16.4 Bootstrap Confidence Intervals

166 | P a g e
Bootstrap percentile confidence intervals
A more accurate bootstrap confidence interval: BCa
Confidence intervals for the correlation
Section 16.4 Summary
Section 16.4 Exercises

16.5 Significance Testing Using Permutation Tests


Using software
Permutation tests in practice
Permutation tests in other settings
Section 16.5 Summary
Section 16.5 Exercises
Chapter 16 Exercises
Chapter 16 Notes and Data Sources

CHAPTER 17 Statistics for Quality: Control and Capability


Introduction
Use of data to assess quality

17.1 Processes and Statistical Process Control


Describing processes
Statistical process control
x¯ charts for process monitoring
s charts for process monitoring
Section 17.1 Summary
Section 17.1 Exercises

17.2 Using Control Charts


x¯ and R charts
Additional out-of-control rules
Setting up control charts
Comments on statistical control
Don’t confuse control with capability!
Section 17.2 Summary
Section 17.2 Exercises

167 | P a g e
17.3 Process Capability Indexes
The capability indexes Cp and Cpk
Cautions about capability indexes
Section 17.3 Summary
Section 17.3 Exercises

17.4 Control Charts for Sample Proportions


Control limits for p charts
Section 17.4 Summary
Section 17.4 Exercises
Chapter 17 Exercises
Chapter 17 Notes and Data Sources
Tables
Answers to Odd-Numbered Exercises
Notes and Data Sources
Photo Credits
Index

168 | P a g e
Cours
CSC 242 Algorithmes & Programmation Structurée avec Python
II

1. Objectifs du cours
Un cours intermédiaire sur la résolution de problèmes, les algorithmes et la programmation.
Les compétences en programmation sont encore renforcées par des affectations de
programmation plus complexes et plus vastes. Les affectations seront également utilisées
pour introduire différents domaines de l'informatique (par exemple, une application client /
serveur pour la zone Systèmes distribués). Les cours et la programmation orientée objet
sont motivés et introduits.

2. Concepts technologiques couverts par le cours

 Examen des espaces de noms,


 Scope ;
 Classes
 Programmation orientée objet
 Interfaces graphiques
 Récursivité
 Recherche
 Tri
 Développement d'applications Internet
 Development de base de données
 Python contre C ++ / Java

3. Pré-requis
CONDITIONS PRÉALABLES : CSC 241

4. Proposition de decoupage du cours


Le présent découpage est susceptible de changer en fonction des performances réelles de
la classe et de la discrétion de l'instructeur
Semaines Thèmes couverts par le cours
1 Review of Namespaces, Scope; Classes

169 | P a g e
2 Object-Oriented Programming
3-4 Graphical User Interfaces
4-6 Recursion. Searching and Sorting
6 Midterm
7-8 Internet Application Development
9-10 Database Development
10 Python versus C++/Java

5. Manuels de cours
Manuel de référence
Introduction to Computing Using Python: An Application Development Focus, 2nd Edition
Ljubomir Perkovic
ISBN : 978-1-118-89094-3
Apr 2015
480 pages
Manuels recommandés
Livre 1
Editeur(s) Ellipses
Auteur(s) Vincent Maille
Parution 22/04/2015
Edition 1ère édition
Nb de pages 288
Format 17 x 24
Couverture Broché
Poids 575
Intérieur Noir et Blanc
EAN13 9782340004603
ISBN13 978-2-340-00460-3
Livre2
Apprendre à programmer avec Python 3
Auteur(s) : Gérard Swinnen
Editeur(s) : Eyrolles
Collection : Noire
Nombre de pages : 436 pages
Date de parution : 02/02/2012 (3e édition)
EAN13 : 9782212134346 Diffusé par Geodif

170 | P a g e
6. Sommaire du manuel de cours de référence

Student Companion Site: https://ucsb-cs8.github.io/textbooks/Perk2e/

Chapter 1. Introduction to Computer Scienceclick to collapse contents

1.1 Computer Science


What Do Computing Professionals Do?
Models, Algorithms, and Programs
Tools of the Trade
What Is Computer Science?
1.2 Computer Systems
Computer Hardware
Operating Systems
Networks and Network Protocols
Programming Languages
Software Libraries
1.3 Python Programming Language
Short History of Python
Setting Up the Python Development Environment
1.4 Computational Thinking
A Sample Problem
Abstraction and Modeling
Algorithm
Data Types
Assignments and Execution
Control Structures

Chapter 2. Python Data Types click to collapse contents

2.1 Expressions, Variables, and Assignments


Algebraic Expressions and Functions
Boolean Expressions and Operators
Variables and Assignments
Variable Names
2.2 Strings
String Operators
Indexing Operator
2.3 Lists and Tuples
List Operators
Lists Are Mutable, Strings Are Not
Tuples, or “ImmutableLists”

171 | P a g e
List and Tuple Methods
2.4 Objects and Classes
Object Type
Valid Values for Number Types
Operators for Number Type
Creating Objects
Implicit Type Conversions
Explicit Type Conversions
Class Methods and Object-Oriented Programming
2.5 PythonStandardLibrary
Module math
Module fractions
CaseStudy: Turtle Graphics

Chapter 3. Imperative Programmingclick to collapse contents


3.1 Python Programs
Our First Python Program
Python Modules
Built-In Function print ()
Interactive Input with input ()
Function eval ()
3.2 Execution Control Structures
One-Way Decisions
Two-Way Decisions
Iteration Structures
Nesting Control Flow Structures
Function range ()
3.3 User-DefinedFunction
Our First Function
Function Input Arguments
print () versus return
Function Definitions Are “Assignment” Statements
Comments
Docstrings
3.4 Python Variables and Assignments
Mutable and Immutable Types
Assignments and Mutability
Swapping
3.5 Parameter Passing
Immutable Parameter Passing
Mutable Parameter Passing
CaseStudy: Automating Turtle Graphics

172 | P a g e
Chapter 4. Text data, Files, and Exceptionsclick to collapse contents

4.1 Strings, Revisited


String Representations
The Indexing Operator, Revisited
String Methods
4.2 Formatted Output
Function print ()
String Method format ()
Lining Up Data in Columns
Getting and Formatting the Date and Time
4.3 Files
File System
Opening and Closing a File
Patterns for Reading a Text File
Writing to a Text File
4.4 Errors and Exceptions
Syntax Errors
Built-In Exceptions
CaseStudy: Image Files

Chapter 5. Execution Control Structuresclick to collapse contents

5.1 Decision Control and the if Statement


Three-Way (and More!) Decisions
Ordering of Conditions
5.2 for Loop and Iteration Patterns
Loop Pattern: Iteration Loop
Loop Pattern: Counter Loop
Loop Pattern: Accumulator Loop
Accumulating Different Types
Loop Patterns: NestedLoop
5.3 Moreon Lists: Two-Dimensional Lists
Two-Dimensional Lists
Two-Dimensional Lists and the Nested Loop Pattern
5.4 while Loop
while Loop Usage
5.5 More Loop Patterns
Iteration Patterns: Sequence Loop
Loop Pattern: Infinite Loop
Loop Pattern: Loop and a Half
5.6 Additional Iteration Control Statements
break Statement

173 | P a g e
continue Statement
pass Statement
Case Study: Image Processing.
Chapter 6. Containers and Randomnessclick to collapse contents
6.1 Dictionaries
User-Defined Indexes as Motivation for Dictionaries
Dictionary Class Properties
Dictionary Operators
Dictionary Methods
A Dictionary as a Substitute for the Multiway if Statement
Dictionary as a Collection of Counters
tuple Objects Can Be Dictionary Keys
6.2 Sets
Using the set Constructor to Remove Duplicates
set Operators
set Methods
6.3 Character Encodings and Strings
Character Encodings
ASCII
Unicode
UTF-8 Encoding for Unicode Characters
6.4 Module random
Choosing a Random Integer
Choosing a Random “Real”
Shuffling, Choosing, and Sampling at Random
Case Study: Games of Chance

Chapter 7. Namespaces click to collapse contents


Chapter 8. Object-Oriented Programmingclick to collapse contents
Chapter 9. Graphical User Interfaces click to collapse contents
Chapter 10. Recursion click to collapse contents
Chapter 11. The Web and Search click to collapse contents
Chapter 12. Databases and Data Processing click to collapse contents

174 | P a g e
Cours
MAT 141 Logique & Mathématiques Discrètes II

1. Objectifs du cours
Méthodes de preuve directe et indirecte, ensemble de preuves théoriques, de séquences,
d'induction mathématique, de récurrence, d'énoncés multipliés-quantifiés, de relations et de
fonctions, de complexité.

2. Concepts technologiques couverts par le cours

3. Pré-requis
CONDITIONS PRÉALABLES: MAT 140

4. Proposition de decoupage du cours

5. Manuels de cours

 Manuel de référence
Les mathématiques à l'aube du XXI è siècle
Editeur(s) Belin
Auteur(s) Piergiorgio Odifreddi
Collection Regards sur la science
Parution 27/09/2004
Edition 1ère édition
Nb de pages 175
Couverture Broché
Poids 249
Intérieur Noir et Blanc
EAN13 9782701138305
 Manuels recommandés
o Livre1
Mathématiques discrètes appliquées à l'informatique
De Rod Haggarty (Auteur), Cassereau Didier (Auteur)
Broché : 224 pages
Editeur : Pearson Education (15 juin 2005)
Collection : Informatique

175 | P a g e
Langue : Français
ISBN-10 : 2744071005
SBN-13 : 978-2744071003
o Livre2
Eléments de mathématiques discrètes
Editeur(s) : Ellipses
Auteur(s) : Mathieu Jaume
Collection : Références sciences
Parution : 12/12/2016
Edition : 1ère édition
Nb de pages : 528
Format 19 x 24
Couverture : Broché
Poids : 48
Intérieur : Noir et Blanc
EAN13 : 9782340014800
ISBN13 : 978-2-340-01480-0

6. Sommaire du manuel de cours de référence

1 Ensembles, relations, fonctions 1


1.1 Ensembles
1.1.1 Définitions et représentations des ensembles
1.1.2 Opérations sur les ensembles
1.2 Relations
1.2.1 Définition, représentations et propriétés
1.2.2 Opérations sur les relations binaires
1.3 Fonctions et applications
1.4 Exercices

2 Ensembles ordonnés 43
2.1 Relations d’ordre
2.1.1 Ordres quotients
2.1.2 Ordres bien fondés
2.1.3 Ordres lexicographiques
2.2 Ensembles ordonnés
2.2.1 Ordres partiels complets, treillis

176 | P a g e
2.2.2 Points fixes
2.3 Exercices

3 Définitions inductives 71
3.1 Construction des éléments d’un ensemble inductif
3.1.1 Règles d’inférence
3.1.2 Opérateurs de clôture
3.1.3 Arbres d’inférence
3.2 Ensembles clos et définitions inductives
3.3 Induction structurelle
3.4 Exercices

4 Automates et langages 93
4.1 Langages réguliers
4.1.1 Mots et langages
4.1.2 Langages réguliers et expressions régulières
4.2 Automates finis et langages reconnaissables
4.2.1 Systèmes de transitions étiquetées
4.2.2 Automates finis
4.2.3 Langages reconnaissables
4.2.4 Opérations sur les automates finis
4.2.5 Automates déterministes, automates complets
4.2.6 Minimisation d’un automate fini
4.3 Automates finis et langages réguliers
4.3.1 Construction d’un automate à partir d’une expression
4.3.2 Construction d’une expression à partir d’un automate
4.4 Exercices

5 Termes du premier ordre 151


5.1 Syntaxe
5.1.1 Définition inductive des termes
5.1.2 Termes et arbres
5.1.3 Substitutions
5.2 Equations syntaxiques sur les termes
5.2.1 Filtrage
5.2.2 Unification

177 | P a g e
5.3 Sémantique : interprétation des termes
5.4 Exercices

6 Logique des propositions 209


6.1 Syntaxe 6.1.1 Formules de la logique des propositions
6.1.2 Séquents, formes normales, clauses
6.2 Sémantique : interprétation des formules
6.2.1 Interprétations et modèles
6.2.2 Mise en forme normale
6.3 Systèmes de déduction
6.3.1 Déduction naturelle
6.3.2 Résolution
6.4 Exercices

7 Logique du premier ordre 279


7.1 Syntaxe
7.1.1 Formules de la logique du premier ordre
7.1.2 Variables libres, variables liées
7.1.3 Substitution
7.2 Sémantique : interprétation des formules
7.2.1 Interprétations et modèles
7.2.2 Formes normales, théorème de Herbrand
7.3 Systèmes de déduction
7.3.1 Déduction naturelle
7.3.2 Résolution
7.4 Exercices

A Eléments de programmation avec Python 329


A.1 Constructions de base
A.2 Listes

B Eléments de programmation avec OCaml 339


B.1 Constructions de base
B.2 Listes

178 | P a g e
C Solution des exercices 355
C.1 Ensembles, relations, fonctions
C.2 Ensembles ordonnés
C.3 Définitions inductives
C.4 Automates et langages
C.5 Termes du premier ordre
C.6 Logique des propositions
C.7 Logique des prédicat

179 | P a g e
1. Objectifs du cours
Ce cours couvre les principes des technologies de réseau local (LAN), y compris les
protocoles, le matériel, les logiciels LAN et les concepts de conception. Le cours se
concentrera sur les couches inférieures du modèle OSI et explorera Ethernet, le pontage / la
commutation, les VLAN, la sécurisation du réseau et les protocoles Spanning-tree et Rapid-
Spanning-tree. Le routage inter-VLAN de base sera également étudié. Le cours comprendra
plusieurs exercices de laboratoire approfondis et des activités de dépannage pour aider à
renforcer les concepts.

2. Concepts technologiques couverts par le cours

 Principes fondamentaux du réseau, Ethernet,


 Couches de protocole et encapsulation
 DHCP, DNS, Sous-réseau, VLSM
 IOS, commutation de couche 2
 VLANs
 Vue d'ensemble du protocole STP, Etherchannel
 Routage IP, RIPv2
 OSPF
 WANs

3. Pré-requis
CONDITIONS PRÉALABLES : TDC 261 ou IT 263

180 | P a g e
4. Proposition de découpage du cours

Semaine Sujet Lecture requise

Semaine 1 Principes fondamentaux du réseau, Ch 1, 2 et 3


Ethernet,
Couches de protocole et encapsulation
Semaine 2 DHCP, DNS, Sous-réseau, VLSM Ch 4 et 5

Semaine 3 IOS, commutation de couche 2 Ch 6 et 10

Semaine 4 VLANs Ch 11

Semaine 5 Vue d'ensemble du protocole STP,


Etherchannel
Semaine 6 Examen de mi- saison

Semaine 7 Routage IP, RIPv2 Ch 9

Semaine 8 OSPF Ch 18

Semaine 9 WANs Ch 21

Semaine 10 Récapitulation et Révisions examen

Semaine 11 Examen final

Semaine 12

5. Manuels de cours

 Manuel de référence
 Title CCNA ICND2 640-816 Official Cert Guide
 Official Cert Guide
 Author Wendell Odom

181 | P a g e
 Edition 3
 Publisher Cisco Press, 2011
 ISBN 0132684012, 9780132684019
 Length 800 pages
 Subjects Computers › Certification Guides › General
 Manuels recommandés
o Livre
Titre: CCNA Routing and Switching Study Guide
Auteur : Todd Lammle
Broché : 1136 pages
Editeur : Sybex Inc., U.S. ; Édition : 2nd (16 septembre 2016)
Langue : Anglais
ISBN-10 : 1119288282
ISBN-13 : 978-1119288282

Sommaire du manuel de cours de référence


Introduction xxvii

Part I: Networking Fundamentals 3

Chapter 1 Introduction to Computer Networking 5


Perspectives on Networking 5
The Flintstones Network: The First Computer Network? 8

Chapter 2 The TCP/IP and OSI Networking Models 17


“Do I Know This Already?” Quiz 17

Foundation Topics 21
TCP/IP Networking Model 21
History Leading to TCP/IP 21
Overview of the TCP/IP Networking Model 23
TCP/IP Application Layer 24
HTTP Overview 25
HTTP Protocol Mechanisms 25
TCP/IP Transport Layer 26
TCP Error Recovery Basics 27

182 | P a g e
Same Layer and Adjacent Layer Interactions 28
TCP/IP Internet Layer 29
Internet Protocol and the Postal Service 29
Internet Protocol Addressing Basics 31
IP Routing Basics 32
TCP/IP Network Access Layer 33
TCP/IP Model and Terminology 34
Comparing the Two TCP/IP Models 34
Data Encapsulation Terminology 35
Names of TCP/IP Messages 36
OSI Networking Model 37
Comparing OSI and TCP/IP 37
Describing Protocols by Referencing the OSI Layers 38
OSI Layers and Their Functions 39
OSI Layering Concepts and Benefits 41
OSI Encapsulation Terminology 42

Exam Preparation Tasks 43


Review All the Key Topics 43
Complete the Tables and Lists from Memory 43
Definitions 44of Key Terms 43
OSI Reference
xii CCENT/CCNA ICND1 640-822 Official Cert Guide

Chapter 3 Fundamentals of LANs 47


“Do I Know This Already?” Quiz 47

Foundation Topics 51
An Overview of Modern Ethernet LANs 51
A Brief History of Ethernet 54
The Original Ethernet Standards: 10BASE2 and 10BASE5 54
Repeaters 56
Building 10BASE-T Networks with Hubs 57
Ethernet UTP Cabling 58
UTP Cables and RJ-45 Connectors 58
Transmitting Data Using Twisted Pairs 60
UTP Cabling Pinouts for 10BASE-T and 100BASE-TX 61

183 | P a g e
1000BASE-T Cabling 64
Improving Performance by Using Switches Instead of Hubs 64
Increasing Available Bandwidth Using Switches 67
Doubling Performance by Using Full-Duplex Ethernet 68
Ethernet Layer 1 Summary 69
Ethernet Data-Link Protocols 69
Ethernet Addressing 70
Ethernet Framing 71
Identifying the Data Inside an Ethernet Frame 73
Error Detection 74

Exam Preparation Tasks 75


Review All the Key Topics 75
Complete the Tables and Lists from Memory 75
Definitions of Key Terms 75

Chapter 4 Fundamentals of WANs 77


“Do I Know This Already?” Quiz 77

Foundation Topics 80
OSI Layer 1 for Point-to-Point WANs 80
WAN Connections from the Customer Viewpoint 83
WAN Cabling Standards 84
Clock Rates, Synchronization, DCE, and DTE 86
Building a WAN Link in a Lab 87
Link Speeds Offered by Telcos 88
OSI Layer 2 for Point-to-Point WANs 89
HDLC 89
Point-to-Point Protocol 91
Point-to-Point WAN Summary 91
Frame Relay and Packet-Switching Services 92
The Scaling Benefits of Packet Switching 92
Frame Relay Basics 93

Exam Preparation Tasks 97


Review All the Key Topics 97

184 | P a g e
Complete the Tables and Lists from Memory 97
Definitions of Key Terms 97

Chapter 5 Fundamentals of IPv4 Addressing and Routing 99


“Do I Know This Already?” Quiz 99

Foundation Topics 104


Overview of Network Layer
Functions
Routing (Forwarding) 105
PC1’s Logic: Sending Data to a Nearby Router 106
R1 and R2’s Logic: Routing Data Across the Network 106
R3’s Logic: Delivering Data to the End Destination 106
Network Layer Interaction with the Data Link Layer 107
IP Packets and the IP Header 108
Network Layer (Layer 3) Addressing 109
Routing Protocols 110
IP Addressing 111
IP Addressing Definitions 111
How IP Addresses Are Grouped 112
Classes of Networks 113
The Actual Class A, B, and C Network Numbers 115
IP Subnetting 116
IP Routing 120
Host Routing 120
Router Forwarding Decisions and the IP
Routing table
IP Routing Protocols 124
Network Layer Utilities 127
Address Resolution Protocol and the Domain Name System 127
DNS Name Resolution 128
The ARP Process 128

185 | P a g e
Address Assignment and DHCP 129
ICMP Echo and the ping Command 131

Exam Preparation Tasks 132


Review All the Key Topics 132
Complete the Tables and Lists from Memory 133
Definitions of Key Terms 133

Chapter 6 Fundamentals of TCP/IP Transport, Applications, and Security 135


“Do I Know This Already?” Quiz 135

Foundation Topics 139


TCP/IP Layer 4 Protocols
Transmission Control Protocol
Multiplexing Using TCP Port Numbers 141
Popular TCP/IP Applications 144
xiv CCENT/CCNA ICND1 640-822 Official Cert Guide
Error Recovery (Reliability) 146
Flow Control Using Windowing 147
Connection Establishment and Termination 148
Data Segmentation and Ordered Data Transfer 150
User Datagram Protocol 151
TCP/IP Applications 152
QoS Needs and the Impact of TCP/IP Applications 152
The World Wide Web, HTTP, and SSL 155
Universal Resource Locators 156
Finding the Web Server Using DNS 156
Transferring Files with HTTP 158
Network Security 159
Perspectives on the Sources and Types of Threats 160
Firewalls and the Cisco Adaptive Security Appliance (ASA) 164
Anti-x 166
Intrusion Detection and Prevention 166
Virtual Private Networks (VPN) 167

Exam Preparation Tasks 169

186 | P a g e
Review All the Key Topics 169
Complete the Tables and Lists from Memory 169
Definitions of Key Terms 169

Part II: LAN Switching 171

Chapter 7 Ethernet LAN Switching Concepts 173


“Do I Know This Already?” Quiz 173

Foundation Topics 177


LAN Switching Concepts 177
Historical Progression: Hubs, Bridges, and Switches 177
Switching Logic 180
The Forward Versus Filter Decision 181
How Switches Learn MAC Addresses 183
Flooding Frames 184
Avoiding Loops Using Spanning Tree Protocol 185
Internal Processing on Cisco Switches 186
LAN Switching Summary 188
LAN Design Considerations 189
Collision Domains and Broadcast Domains 189
Collision Domains 189
Broadcast Domains 190
The Impact of Collision and Broadcast Domains on LAN Design 191
Virtual LANs (VLAN) 193
Campus LAN Design Terminology 194
Ethernet LAN Media and Cable Lengths 197

Exam Preparation Tasks 200


Review All the Key Topics 200
Complete the Tables and Lists from Memory 200
Definitions of Key Terms 201

Chapter 8 Operating Cisco LAN Switches 203


“Do I Know This Already?” Quiz 203

187 | P a g e
Foundation Topics 206
Accessing the Cisco Catalyst 2960 Switch CLI 206
Cisco Catalyst Switches and the 2960 Switch 207
Switch Status from LEDs 208
Accessing the Cisco IOS CLI 211
CLI Access from the Console 212
Accessing the CLI with Telnet and SSH 214
Password Security for CLI Access 214
User and Enable (Privileged) Modes 216
CLI Help Features 217
The debug and show Commands 219
Configuring Cisco IOS Software 220
Configuration Sub modes and Contexts 221
Storing Switch Configuration Files 223
Copying and Erasing Configuration Files 226
Initial Configuration (Setup Mode) 227

Exam Preparation Tasks 232


Review All the Key Topics 232
Complete the Tables and Lists from Memory 232
Definitions of Key Terms 232
Command References 232

Chapter 9 Ethernet Switch Configuration 237


“Do I Know This Already?” Quiz 237

Foundation Topics 241


Configuration of Features in Common with Routers 241
Securing the Switch CLI 241
Configuring Simple Password Security 242
Configuring Usernames and Secure Shell (SSH) 245
Password Encryption 248
The Two Enable Mode Passwords 250
Console and vty Settings 251
Banners 251
History Buffer Commands 252

188 | P a g e
The logging synchronous and exec-timeout Commands 253
LAN Switch Configuration and Operation 254
Configuring the Switch IP Address 254
Configuring Switch Interfaces 257
xvi CCENT/CCNA ICND1 640-822 Official Cert Guide
Port Security 259
VLAN Configuration 262
Securing Unused Switch Interfaces 265

Exam Preparation Tasks 267


Review All the Key Topics 267
Complete the Tables and Lists from Memory 267
Definitions of Key Terms 268
Command References 268

Chapter 10 Ethernet Switch Troubleshooting 273


“Do I Know This Already?” Quiz 273
Foundation Topics 277
Perspectives on Network Verification and Troubleshooting 277
Attacking Sim Questions 277
Simlet Questions 278
Multiple-Choice Questions 279
Approaching Questions with an Organized Troubleshooting Process 279
Isolating Problems at Layer 3, and Then at Layers 1 and 2 281
Troubleshooting as Covered in This Book 282
Verifying the Network Topology with Cisco Discovery Protocol 283
Analyzing Layer 1 and 2 Interface Status 288
Interface Status Codes and Reasons for Nonworking States 288
Interface Speed and Duplex Issues 290
Common Layer 1 Problems on Working Interfaces 293
Analyzing the Layer 2 Forwarding Path with the MAC Address Table 295
Analyzing the Forwarding Path 298
Port Security and Filtering 299

Exam Preparation Tasks 301


Review All the Key Topics 301
Complete the Tables and Lists from Memory 301

189 | P a g e
Definitions of Key Terms 301
Command References 301
Chapter 11 Wireless LANs 305
“Do I Know This Already?” Quiz 305

Foundation Topics 308


Wireless LAN Concepts 308
Comparisons with Ethernet LANs 309
Wireless LAN Standards 310
Modes of 802.11 Wireless LANs 311
Wireless Transmissions (Layer 1) 313
Wireless Encoding and Nonoverlapping DSSS Channels 315
Wireless Interference 317
Coverage Area, Speed, and Capacity 317
Media Access (Layer 2) 320
Deploying WLANs 321
Wireless LAN Implementation Checklist 321
Step 1: Verify the Existing Wired Network 322
Step 2: Install and Configure the AP’s Wired and IP Details 323
Step 3: Configure the AP’s WLAN Details 323
Step 4: Install and Configure One Wireless Client 324
Step 5: Verify That the WLAN Works from the Client 325
Wireless LAN Security 326
WLAN Security Issues 326
The Progression of WLAN Security Standards 328
Wired Equivalent Privacy (WEP) 328
SSID Cloaking and MAC Filtering 329
The Cisco Interim Solution Between WEP and 802.11i 330
Wi-Fi Protected Access (WPA) 331
IEEE 802.11i and WPA-2 331

Exam Preparation Tasks 333


Review All the Key Topics 333
Complete the Tables and Lists from Memory 333
Definitions of Key Terms 333

Part III: IPv4 Addressing and Subnetting 335

190 | P a g e
Chapter 12 Perspectives on IPv4 Subnetting 337
“Do I Know This Already?” Quiz 337

Foundation Topics 340


Introduction to Subnetting 340
Subnetting Defined Through a Simple Example 340
Operational View Versus Design View of Subnetting 341
Analyze Subnetting and Addressing Needs 342
Rules About Which Hosts Are in Which Subnet 342
Determining the Number of Subnets 344
Determining the Number of Hosts per Subnet 345
One Size Subnet Fits All—Or Not 346
Defining the Size of a Subnet 346
One Size Subnet Fits All 347
Multiple Subnet Sizes (Variable Length Subnet Masks) 348
This Book: One Size Subnet Fits All 349
Make Design Choices 349
Choose a Classful Network 350
Public IP Networks 350
Growth Exhausts the Public IP Address Space 351
Private IP Networks 352
Choosing an IP Network During the Design Phase 353
Choose the Mask 354
Classful IP Networks Before Subnetting 354
Borrowing Host Bits to Create Subnet Bits 355
xviii CCENT/CCNA ICND1 640-822 Official Cert Guide
Choosing Enough Subnet and Host Bits 355
Example Design: 172.16.0.0, 200 Subnets, 200 Hosts 357
Masks and Mask Formats 358
Build a List of All Subnets 359
Plan the Implementation 360
Assigning Subnets to Different Locations 361
Choose Static and Dynamic Ranges per Subnet 362

Exam Preparation Tasks 364


Review All the Key Topics 364

191 | P a g e
Complete the Tables and Lists from Memory 364
Definitions of Key Terms 364

Chapter 13 Analyzing Classful IPv4 Networks 367


“Do I Know This Already?” Quiz 367

Foundation Topics 369


Classful Network Concepts 369
IPv4 Network Classes and Related Facts 369
Actual Class A, B, and C Networks 370
Address Formats 371
Default Masks 372
Number of Hosts per Network 373
Deriving the Network ID and Related Numbers 373
Unusual Network IDs and Network Broadcast Addresses 375
Practice with Classful Networks 376
Practice Deriving Key Facts Based on an IP Address 377
Practice Remembering the Details of Address Classes 377
Additional Practice 378

Exam Preparation Tasks 379


Review All the Key Topics 379
Complete the Tables and Lists from Memory 379
Definitions of Key Terms 379
Practice 379
Answers to Earlier Practice Problems 380
Answers to Practice Problem 7 380
Answers to Practice Problem 8 381
Answers to Practice Problem 9 381

Chapter 14 Converting Subnet Masks 383


“Do I Know This Already?” Quiz 383

Foundation Topics 366


Subnet Mask Conversion 386
Three Mask Formats 386

192 | P a g e
Converting Between Binary and Prefix Masks 387
Converting Between Binary and DDN Masks 388
Converting Between Prefix and DDN Masks 390
Practice Converting Subnet Masks 391
Practice Problems for This Chapter 391
Additional Practice 392

Exam Preparation Tasks 393


Review All the Key Topics 393
Definitions of Key Terms 393
Practice 393
Answers to Earlier Practice Problems 394

Chapter 15 Analyzing Existing Subnet Masks 397


“Do I Know This Already?” Quiz 397

Foundation Topics 400


Defining the Format of IPv4 Addresses 400
Masks Divide the Subnet’s Addresses into Two Parts 401
Masks and Class Divide Addresses into Three Parts 402
Classless and Classful Addressing 403
Calculations Based on the IPv4 Address Format 403
Practice Analyzing Subnet Masks 405
Practice Problems for This Chapter 406
Additional Practice 407

Exam Preparation Tasks 408


Review All the Key Topics 408
Definitions of Key Terms 408
Practice 408
Answers to Earlier Practice Problems 408

Chapter 16 Designing Subnet Masks 411


“Do I Know This Already?” Quiz 411

Foundation Topics 414

193 | P a g e
Choosing the Mask(s) to Meet Requirements 414
Review: Choosing the Minimum Number of Subnet and Host Bits 414
No Masks Meet Requirements 416
One Mask Meets Requirements 417
Multiple Masks Meet Requirements 418
Finding All the Masks: Concepts 418
Finding All the Masks: Math 420
Choosing the Best Mask 421
The Formal Process 421
Practice Choosing Subnet Masks 422
Practice Problems for This Chapter 422
Additional Practice 423

Exam Preparation Tasks 424


Review All the Key Topics 424
Definitions of Key Terms 424
Practice 424
Answers to Earlier Practice Problems 425
xx CCENT/CCNA ICND1 640-822 Official Cert Guide

Chapter 17 Analyzing Existing Subnets 427


“Do I Know This Already?” Quiz 427

Foundation Topics 430


Defining a Subnet 430
An Example with Network 172.16.0.0 and Four Subnets 430
Subnet ID Concepts 432
Subnet Broadcast Address 433
Range of Usable Addresses 434
Analyzing Existing Subnets: Binary 434
Finding the Subnet ID: Binary 435
Finding the Subnet Broadcast: Binary 437
Binary Practice Problems 438
Shortcut for the Binary Process 440
Brief Note About Boolean Math 442
Finding the Range of Addresses 442
Analyzing Existing Subnets: Decimal 442

194 | P a g e
Analysis with Easy Masks 443
Predictability in the Interesting Octet 444
Finding the Subnet ID: Difficult Masks 446
Resident Subnet Example 1 446
Resident Subnet Example 2 447
Resident Subnet Practice Problems 448
Finding the Subnet Broadcast Address: Difficult Masks 449
Subnet Broadcast Example 1 449
Subnet Broadcast Example 2 450
Subnet Broadcast Address Practice Problems 451
Practice Analyzing Existing Subnets 451
A Choice: Memorize or Calculate 451
Practice Problems for This Chapter 452
Additional Practice 452

Exam Preparation Tasks 453


Review All the Key Topics 453
Complete the Tables and Lists from Memory 453
Definitions of Key Terms 453
Practice 454
Answers to Earlier Practice Problems 454

Chapter 18 Finding All Subnet IDs 459


“Do I Know This Already?” Quiz 459

Foundation Topics 462


Finding All Subnet IDs 462
First Subnet ID: The Zero Subnet 462
Finding the Pattern Using the Magic Number 463
A Formal Process with Less Than 8 Subnet Bits 464
Example 1: Network 172.16.0.0, Mask 255.255.240.0 465
Example 2: Network 192.168.1.0, Mask 255.255.255.224 467
xxi
Finding All Subnets with Exactly 8 Subnet Bits 469
Finding All Subnets with More Than 8 Subnet Bits 469
Process with 9–16 Subnet Bits 470
Process with 17 or More Subnet Bits 471

195 | P a g e
Practice Finding All Subnet IDs 472
Practice Problems for This Chapter 473
Additional Practice 473

Exam Preparation Tasks 474


Review All the Key Topics 474
Definitions of Key Terms 474
Answers to Earlier Practice Problems 474
Answer, Practice Problem 1 474
Answer, Practice Problem 2 475
Answer, Practice Problem 3 476

Part IV: IPv4 Routing 479

Chapter 19 Operating Cisco Routers 481


“Do I Know This Already?” Quiz 481

Foundation Topics 485


Installing Cisco Routers 485
Installing Enterprise Routers 485
Cisco Integrated Services Routers 487
Physical Installation 488
Installing Internet Access Routers 489
A SOHO Installation with a Separate Switch, Router, and Cable Modem 489
A SOHO Installation with an Integrated Switch, Router, and DSL Modem 490
Regarding the SOHO Devices Used in This Book 491
Cisco Router IOS CLI 491
Comparisons Between the Switch CLI and Router CLI 492
Router Interfaces 493
Interface Status Codes 495
Router Interface IP Addresses 496
Bandwidth and Clock Rate on Serial Interfaces 497
Router Auxiliary (Aux) Port 499
Initial Configuration (Setup Mode) 499
Upgrading Cisco IOS Software and the Cisco IOS Software Boot Process 502
Upgrading a Cisco IOS Software Image into Flash Memory 502
The Cisco IOS Software Boot Sequence 505

196 | P a g e
The Three Router Operating Systems 507
The Configuration Register 507
How a Router Chooses Which OS to Load 508
The show version Command and Seeing the Configuration Register’s
Value 511

Exam Preparation Tasks 513


Review All the Key Topics 513
Complete the Tables and Lists from Memory 513
xxii CCENT/CCNA ICND1 640-822 Official Cert Guide
Definitions of Key Terms 514
Read Appendix J Scenario 2 514
Command References 514

Chapter 20 Routing Protocol Concepts and Configuration 517


“Do I Know This Already?” Quiz 517

Foundation Topics 521


Connected and Static Routes 521
Connected Routes 521
Static Routes 524
Extended ping Command 526
Default Routes 528
Routing Protocol Overview 530
RIP-2 Basic Concepts 531
Comparing and Contrasting IP Routing Protocols 532
Interior and Exterior Routing Protocols 533
Routing Protocol Types/Algorithms 534
Metrics 534
Auto summarization and Manual Summarization 536
Classless and Classful Routing Protocols 536
Convergence 537
Miscellaneous Comparison Points 537
Summary of Interior Routing Protocols 537
Configuring and Verifying RIP-2 538
RIP-2 Configuration 538
Sample RIP Configuration 539

197 | P a g e
RIP-2 Verification 540
Interpreting the Output of the show ip route Command 542
Administrative Distance 543
The show ip protocols Command 544
Examining RIP Messages with debug 546

Exam Preparation Tasks 549


Review All the Key Topics 549
Complete the Tables and Lists from Memory 549
Definitions of Key Terms 550
Command References 550

Chapter 21 Troubleshooting IP Routing 553


“Do I Know This Already?” Quiz 553

Foundation Topics 557


IP Troubleshooting Tips and Tools 557
IP Addressing 557
Avoiding Reserved IP Addresses 557
One Subnet, One Mask, for Each LAN 558
Summary of IP Addressing Tips 560
Host Networking Commands 560
Troubleshooting Host Routing Problems 564
Finding the Matching Route on a Router 565
Troubleshooting Commands 567
The show ip arp Command 567
The traceroute Command 568
Telnet and Suspend 569
A Routing Troubleshooting Scenario 573
Scenario Part A: Tasks and Questions 573
Scenario Part A: Answers 576
Scenario Part B: Analyze Packet/Frame Flow 577
Scenario Part B: Answers 578
Scenario Part B: Question 1 579
Scenario Part B: Question 2 580
Scenario Part B: Question 3 581
Scenario Part B: Question 4 583

198 | P a g e
Scenario Part B: Question 5 583
Scenario Part B: Question 6 584
Scenario Part B: Question 7 585
Scenario Part C: Analyze Connected Routes 585
Scenario Part C: Answers 585

Exam Preparation Tasks 587


Review All the Key Topics 587
Complete the Tables and Lists from Memory 588
Command Reference 588

Part V: Wide-Area Networks 591

Chapter 22 WAN Concepts 593


“Do I Know This Already?” Quiz 593

Foundation Topics 596


WAN Technologies 596
Perspectives on the PSTN 596
Analog Modems 599
Digital Subscriber Line 601
DSL Types, Speeds, and Distances 603
DSL Summary 604
Cable Internet 605
Comparison of Remote-Access Technologies 607
ATM 607
Packet Switching Versus Circuit Switching 609
Ethernet as a WAN Service 609
IP Services for Internet Access 610
Address Assignment on the Internet Access Router 611
Routing for the Internet Access Router 612
NAT and PAT 613
CCENT/CCNA ICND1 640-822 Official Cert Guide

Exam Preparation Tasks 618


Review All the Key Topics 618

199 | P a g e
Complete the Tables and Lists from Memory 618
Definitions of Key Terms 619

Chapter 23 WAN Configuration 621


“Do I Know This Already?” Quiz 621
Foundation Topics 624
Configuring Point-to-Point WANs 624
Configuring HDLC 624
Configuring PPP 627
Configuring and Troubleshooting Internet Access Routers 628
Internet Access Router: Configuration Steps 629
Step 1: Establish IP Connectivity 629
Step 2: Install and Access SDM 630
Step 3: Configure DHCP and PAT 631
Step 4: Plan for DHCP Services 636
Step 5: Configure the DHCP Server 638
Internet Access Router Verification 639

Exam Preparation Tasks 642


Review All the Key Topics 642
Complete the Tables and Lists from Memory 642
Definitions of Key Terms 642
Command References 642

Part VI: Final Preparation 645


Chapter 24 Final Preparation 647
Tools for Final Preparation 647
Pearson Cert Practice Test Engine and Questions on the DVD 647
Install the Software from the DVD 648
Activate and Download the Practice Exam 649
Activating Other Exams 649
Premium Edition 650
The Cisco Learning Network 650
Subnetting Preparation Tools 650
Scenarios 651
Study Plan 651
Recall the Facts 652

200 | P a g e
Practice Subnetting 652
Build Troubleshooting Skills Using Scenarios 654
Studying for ICND1 640-822 or CCNA 640-802 654
Summary 655

201 | P a g e
Cours
IT 240 Introduction to Databases (Conception des bases de
données relationnelles)
1. Objectifs du cours
Ce cours présentera aux étudiants la conception, la mise en œuvre et l'utilisation des bases
de données de bureau. Les principaux sujets abordés sont les suivants : modélisation à
l'aide de diagrammes ER, création et maintenance d'une base de données avec une
application PC, composition et utilisation de requêtes dans Structured Query Language,
création et personnalisation de formulaires et de rapports et intégration de bases de
données avec d'autres sources de données.

2. Concepts technologiques couverts par le cours

 Pourquoi utiliser une base de données


 Qu'est-ce qu'un système de base de données
 Modèle relationnel
 Types de clés
 Dépendances Fonctionnelles
 Valeurs nulles
 Concepts d'algèbre relationnel : sélection, projection, joindre
 Concepts de la théorie des ensembles
 Utilisation de l'éditeur SQL ACCESS
 SQL SELECT
 Table unique
 Opérateurs booléens
 Opérateurs de comparaison
 Jokers
 Nulls
 Tri
 Fonctions et calculs agrégés
 Groupements
 Tables multiples : sous-requêtes
 Tables multiples : jointures
 Jointures Gauche / Droite
 Modèle de données de relation d'entité

202 | P a g e
 Examen à mi-parcours (dates à déterminer)
 Diagramme entité-relation
 Transformation de la DRE en conception de base de données
 SQL définition de données
 SQL Remplir des tables
 SQL Modification et suppression de données
 SQL : Modification et suppression de tableau
 Formes
 Rapports
 Importation de données (notes)
 Dépendances fonctionnelles - examen
 Normalisation
 Examen des suggestions d'études finales

3. Pré-requis
AUCUN
4. Proposition de découpage du cours
Le présent découpage est susceptible de changer en fonction des performances réelles de la
classe et de la discrétion de l'instructeur.

 Syllabus and course overview


Week 1 Ch. 1 pp 3 - 23  Why use a database
 What is a database system

 Relational Model
 Types of Keys
 Functional Dependencies
Week 2 Ch.2 pp 59 - 74  Null Values
 Relational Algebra Concepts : Selection, Projection,
Join
 Set Theory Concepts
 Using the ACCESS SQL Editor

203 | P a g e
 SQL SELECT
 Single table
Ch.3 pp 131 -  Boolean Operators
Week 3  Comparison Operators
143
 Wildcards
 Nulls
 Sorting

 Aggregate Functions & Calculations


Ch.3 pp 143 -  Groupings
Week 4  Multiple Tables : Subqueries
159
 Multiple Tables : Joins
 Left / Right Joins

Week 5  Review Midterm Study Suggestions


 Entity Relationship Data Model

Ch.4 pp 219 -  Midterm Exam (dates to be determined)


Week 6
226  Entity Relationship Diagram

Ch.5 pp 259 -
Week 7  Transforming ERD to Database Design
287

Ch.3 pp 115 -  SQL: Data-Definition


Week 8 127   SQL: Populating Tables
and pp 159 - 165  SQL: Data Modification and Deletion
 SQL: Table Modification and Deletion

 Forms
Week 9 Ch.1 pp 144 - 50  Reports
 Importing Data (notes)

Week  Functional Dependencies - review


Ch.2 pp 72 - 82  Normalization
10
 Review Final Exam Study Suggestions

Week 11 Final Exam (dates to be determined)

204 | P a g e
(comprehensive)

5. Manuels de cours

 Manuel de référence
Database Concepts (8th Edition) 8th Edition
by David M. Kroenke (Author), David J. Auer (Author), Scott L. Vandenberg (Author),
Robert C. Yoder (Author)
Paperback: 576 pages
Publisher: Pearson; 8 edition (January 23, 2017)
Language: English
ISBN-10: 013460153X
ISBN-13: 978-0134601533
https://goo.gl/XTXBnU
 Manuels recommandés
o Livre1
Conception de bases de données avec UML Broché – 22 octobre 2007
De Gilles Roy (Auteur)
Editeur : Presses de l'Université du Québec (22 octobre 2007)
Collection : INFORMATIQUE
Langue : Français
ISBN-10 : 2760515001
ISBN-13 : 978-2760515000
o Livre2
Bases de données - 3e éd.
Concepts, utilisation et développement
Collection : InfoSup, Dunod
Parution : 2015-06-10
Jean-Luc Hainaut
Pages 704
Collection : InfoSup
EAN papier : 9782100727063

205 | P a g e
6. Sommaire du manuel de cours de référence
PART   1      DATABASE FUNDAMENTALS     
1   Getting Started     
2   The Relational Model     
3   Structured Query Language     
 PART   2      DATABASE DESIGN      
4    Data Modeling and the Entity- Relationship Model         
5   Database Design     
 PART   3      DATABASE MANAGEMENT      
6   Database Administration    
7   Database Processing Applications     
8   Data Warehouses, Business Intelligence Systems, and Big Data      

206 | P a g e
Cours
ACC 101 Comptabilité

1. Objectifs du cours
Introduction à la comptabilité I fournit une introduction à la comptabilité financière comme
moyen d'enregistrer, de stocker et de résumer les événements économiques de l'entreprise
afin de répondre aux besoins de reporting externe. L'accent est mis sur la préparation et
l'analyse d'états financiers et d'autres rapports financiers au public basés sur l'équation
comptable, les concepts de comptabilité d'exercice et les techniques de collecte de
données. Les sujets traités comprennent la comptabilité d'entreprise pour les actifs courants
et à long terme et les passifs à court terme, et l'état des résultats de l'entreprise.

2. Concepts technologiques couverts par le cours


 Utilisations de l'information comptable et des états financiers
 Mesurer les transactions commerciales
 Mesurer le revenu d'entreprise
 Système de comptabilité
 Opérations de marchandisage
 Liquidités à court terme
 Les inventaires
 Actifs à long terme
 La valeur temporelle de l'argent
 Passif à court terme
 Passif à long terme
 Capital d'apport
 Le compte de résultat et l’état des capitaux propres
3. Pré-requis
CONDITION PRÉALABLE : MAT 130

4. Proposition de découpage du cours

week Topics Reading


Uses of Accounting Information and the Financial Ch. 1
Week 1 
Statements
Week 2 : Measuring Busines Ch. 2

207 | P a g e
Transactions

Measuring Business Ch. 3


Week 3 :
Income
Ch. 4 (p. 179-186 only)
Ch. 5 (with
Week 4  Accounting Systems
emphasis on pp. 230-
241 and 246-251)
Ch. 6 (through p. 293
Week 5 Merchandising Operations
only)
Week 6  Short-term Liquid Assets Ch. 7

Week 7 : MIDTERM EXAM

Week 8 Inventories Ch. 8


Week 9  The Time Value of Money Appendix D

Week 10  Current Liabilities Ch. 9


Long-Term Liabilities Ch. 11
Week 11

Week 12 Contributed Capital Ch. 12

The Corporate Income Statement and the Statement of Ch. 13


Week 13 Stockholders’ Equity

Week 14

5. Manuels de cours

6. Sommaire du manuel de cours de référence

208 | P a g e
Cours
MGT 103 Droit Général

1. Objectifs du cours
La licence en droit doit permettre l'acquisition de compétences transversales et de
méthodologie du travail universitaire ainsi que des connaissances dans des champs
disciplinaires qui ne sont pas exclusivement juridiques afin de faciliter soit une insertion
professionnelle à l'issue de la Licence, soit une réorientation de l'étudiant dans un parcours
de Licence d'un autre champ disciplinaire.

2. Concepts technologiques couverts par le cours

3. Pré-requis

4. Proposition de découpage du cours

5. Manuels de cours

6. Sommaire du manuel de cours de référence

209 | P a g e
DEUXIEME ANNEE

210 | P a g e
Cours
CSC 299 Outils, Méthodologies et Formalismes en
Programmation

1. Objectifs du cours
Dans ce cours, les étudiants étudient une application particulière de l'informatique. Les
élèves apprennent les outils, les méthodologies et les formalismes utilisés dans un domaine
informatique particulier, et les appliquent pour développer des systèmes de travail. Les
cours mettent l'accent sur l'initiative des étudiants en étudiant le contexte de l'application, en
apprenant de nouveaux outils (y compris les langages et les API), en étudiant des
algorithmes et des exemples de code, et en travaillant sur des projets. Les sujets varieront
en fonction de l'intérêt et de la perspective du membre du corps professoral.
A la fin de cours les étudiants pourront :
• développer des hypothèses sur un réseau et les tester en utilisant la collecte et l’analyse
des données.
• utiliser des outils informatiques pour visualiser des réseaux complexes.
• appliquer des mesures de base d'analyse de réseau telles que la connectivité, la centralité
et l'intégration.
• télécharger, préparer, filtrer et traiter les données réseau à partir d’une variété de sources.
• décrire la différence entre différents modèles de formation de réseau, y compris aléatoire,
et
Attachement préférentiel et leurs conséquences sur la structure du réseau.
• décrire comment les mécanismes locaux d’attachement aux réseaux peuvent conduire à
des phénomènes de grande ampleur tels que
comme mélange varié et liens de petit monde sur de grandes populations.
• travailler efficacement dans un groupe multidisciplinaire.

2. Concepts technologiques couverts par le cours


 Réseaux sociaux
 Données et visualisations
 Les bases du graphique 1
 Collecte de données
 L'analyse des données
 Réseaux bipartites
 Collecte de données

211 | P a g e
 Assortivité
 Modèles de graphes aléatoires
3. Pré-requis
CONDITION PRÉALABLE : CSC 242 or CSC 243
4. Proposition de découpage du cours

5. Manuels de cours

Manuel de référence
Introduction to Computing Using Python: An Application Development Focus, 2nd Edition
Ljubomir Perkovic
ISBN : 978-1-118-89094-3
Apr 2015 480 pages
Manuel recommandés
Livre1
Programming the Raspberry Pi, Second Edition: Getting Started with Python
by Simon Monk (Author)
Paperback: 208 pages
Publisher: McGraw-Hill Education TAB; 2 edition (October 5, 2015)
Language: English
ISBN-10: 1259587401
ISBN-13: 978-1259587405
Livre2
Hacking Electronics: Learning Electronics with Arduino and Raspberry Pi, Second Edition
by Simon Monk (Author)
Paperback: 304 pages
Publisher: McGraw-Hill Education TAB; 2 edition (September 28, 2017)
Language: English

212 | P a g e
ISBN-10: 1260012204
ISBN-13: 978-1260012200

Sommaire du manuel de cours de référence

Chapter 1. Introduction to Computer Science


Chapter 2. Python Data Types
Chapter 3. Imperative Programming
Chapter 4. Text data, Files, and Exceptions
Chapter 5. Execution Control Structures
Chapter 6. Containers and Randomness
Chapter 7. Namespaces
Chapter 8. Object-Oriented Programming
Chapter 9. Graphical User Interfaces
Chapter 10. Recursion
Chapter 11. The Web and Search
Chapter 12. Databases and Data Processing

213 | P a g e
Cours
CSC 300 Structure des Données avec Java I

1. Objectifs du cours
C'est le premier cours d'une séquence de deux cours sur les structures de données utilisant
Java. Le cours présente la programmation Java de base, examine la récursivité, introduit
des notations asymptotiques et se concentre principalement sur les structures de données
linéaires incluant les tableaux, les listes chaînées et leurs variantes, les piles et files
d'attente et les structures de données supportant les opérations disjointes. La mise en
œuvre des opérations de base sur chaque structure de données est discutée et analysée en
termes d'efficacité. Les applications couvertes mettent en évidence et exploitent les
caractéristiques uniques des structures de données, et mettent l'accent sur la résolution de
problèmes et la réflexion récursive.
A la fin de cours l’étudiant devra etre capable de :
 Comprendre la justesse de la programmation
 Comprendre les caractéristiques de performance des programmes

2. Concepts technologiques couverts par le cours


 Java et Eclipse : tableaux, itérations et récursions
 Induction, itération et récursion
 Objets simples et structures liées
 Mutation de structures liées
 Recherche d'union et introduction à l'analyse (linéaire et logarithmique)
 Plus d'analyse, redimensionnement des tableaux
 Tri élémentaire, Objets en tant que données : Comparable, Objets en tant que
fonctions : Comparateur
 Files d'attente prioritaires et tas

3. Pré-requis
CONDITIONS PRÉALABLES : CSC 242 or CSC 243

4. Proposition de découpage du cours

Week 1:  Java and Eclipse: Arrays, Iteration and Recursion

Week 2: Induction, Iteration and Recursion

214 | P a g e
week 3:  Simple Objects and Linked Structures

week 4: Mutating Linked Structures

week 5:  Union Find and Intro to Analysis (Linear and Logarithmic)

week 6:  Midterm

week 7:  More Analysis, Resizing Arrays

week 8:  Elementary Sorts, Objects as Data: Comparable, Objects as Functions

week 9: Priority Queues and Heaps

week 10: Mergesort and Review

week 11: Final exam

5. Manuels de cours
Manuel de référence
Algorithms, 4th Edition
Robert Sedgewick, Princeton University
Kevin Wayne, Princeton University
©2011
Addison-Wesley Professional
ISBN: 9780321573513)
https://goo.gl/jYarpS
https://goo.gl/FqNn2f

Manuels recommandés
Livre1
Core Java for the Impatient 1st Edition
by Cay S. Horstmann (Author)
Paperback: 512 pages
Publisher: Addison-Wesley Professional; 1 edition (February 12, 2015)
Language: English
ISBN-10: 0321996321
ISBN-13: 978-0321996329
Livre2
Titre: Java How to Program, Early Objects

215 | P a g e
Auteurs: Paul J. Deitel (Author), Harvey Deitel
Series: Deitel: How to Program
Paperback: 1296 pages
Publisher: Pearson; 11 edition (March 2, 2017)
Language: English
ISBN-10: 0134743350
ISBN-13: 978-0134743356

6. Sommaire du manuel de cours de référence


Livre de référence
Chapter 1 Fundamentals
Basic programming
Data abstraction
Bags, queues and stacks
Analysis of Algorithms
Case study
Chapter 2 Sorting
Elementary srts
Margesort
Quicksort
Priority queues
Applications
Chapter 3 searching
Symbol tables
Binary search trees
Balanced search trees
Hash tables
Applications
Chapter 4 Graphs
Undirected graphs
Directed graphs
Minimum spanning trees
Shortest paths

216 | P a g e
Chapter 5 Strings
String sorts
Tries
Substring search
Regular expressions
Data compression
Chapter 6 Context

217 | P a g e
Cours
ECT 330 Techniques Avancées de Développement d’Application
Internet

1. Objectifs du cours
Il s'agit d'un cours de programmation axé sur les technologies Internet avancées telles que
la conception à plusieurs niveaux d'applications Internet, les transactions, la création de
composants et les services Web.
Après avoir suivi ce cours :

Vous comprendrez que l’un des principaux objectifs de l’informatique est de développer des
applications pour les systèmes informatiques.
Vous aurez de meilleures compétences en résolution de problèmes.
Vous saurez qui développer des solutions algorithmiques pour les problèmes informatiques
de base.
Vous comprendrez les structures de programmation fondamentales telles que les
expressions, les affectations, les structures de décision et d'itération, les fonctions et les
modules.
Vous aurez des compétences de base en programmation Python.
Vous serez préparé pour le deuxième cours de la séquence CSC 242 : Introduction à
l'informatique II

2. Concepts technologiques couverts par le cours


 Transactions LINQ Introduction à Entity Framework (DB First)
 Gestion d'état et mise en cache
 Pages maîtres, contrôles utilisateur et liaison de données
 Enquête sur les technologies de service Web
 Composants ASP.NET et « Séparation des problèmes NuGet
 Authentification / autorisation ASP.NET
3. Pré-requis
CONDITIONS PRÉALABLES: IT 211 or IT 231 or CSC 241 or CSC 243

4. Proposition de découpage du cours

week Topics Reading

218 | P a g e
Syllabus Setting up development environment Chapters 1 -3
Week 1 
Introduction to ASP.NET and C#
Week 2 : Controls Chapters 4 - 7
LINQ Introduction to Entity Framework (DB First) Chapters 8,10-11
Week 3 :
Transactions
State Management and Caching Chapters 21 – 22
Week 4 
Chapters 4 - 7
Week 5 Master Pages, User Controls and Data Binding Chapter 16 - 17
Week 6  Survey of Web Service Technologies Chapter 13

ASP.NET Components and “Separation of Concerns


Week 7 : NuGet

Week 8 ASP.NET Authentication / Authorization Chapter 19 - 20


Week 9  Introduction to MVC Introduction to MVC Chapter 34 - 35

Week 10  Final Project Topics Review / Working Session Ch. 9


Week 11 Final Project Presentations Ch. 11

5. Manuels de cours

Manuel de référence
Professional ASP.NET 4 in C# and VB
1st Edition
by Bill Evjen (Author), Scott Hanselman (Author), Devin Rader (Author)
Paperback: 1536 pages
Publisher: Wrox; 1 edition (March 9, 2010)
Language : English
ISBN-10 : 0470502207
ISBN-13 : 978-0470502204

Manuels recommandés
o Livre1
Editeur(s) Ellipses
Auteur(s) Vincent Maille

219 | P a g e
Parution 22/04/2015
Edition 1ère édition
Nb de pages 288
Format 17 x 24
Couverture Broché
Poids 575
Intérieur Noir et Blanc
EAN13 9782340004603
ISBN13 978-2-340-00460-3
o Livre2
Editeur(s) Eni
Auteur(s) Sébastien Rohaut - Franck Ebel
Collection Ressources informatiques
Parution 14/05/2014
Edition 1ère édition
Nb de pages 430
Format 18 x 22
Couverture Broché
Poids 700
Intérieur Noir et Blanc
EAN13 9782746089198
ISBN13 978-2-7460-8919-8

6. Sommaire du manuel de cours de référence

Chapter 1. Introduction to Computer Science


Chapter 2. Python Data Types
Chapter 3. Imperative Programming
Chapter 4. Text data, Files, and Exceptions
Chapter 5. Execution Control Structures
Chapter 6. Containers and Randomness
Chapter 7. Namespaces
Chapter 8. Object-Oriented Programming
Chapter 9. Graphical User Interfaces
Chapter 10. Recursion
Chapter 11. The Web and Search

220 | P a g e
Chapter 12. Databases and Data Processing

Cours
MAT 151 Calculs II

221 | P a g e
1. Objectifs du cours
Les intégrales définies et indéfinies, le Théorème fondamental du calcul, les applications de
l'intégrale, les techniques d'intégration. Ce cours se réunit pour une session de laboratoire
supplémentaire d'une heure chaque semaine pour l'enrichissement et la résolution de
problèmes.
Résultats d’apprentissage :
Math 151 fait partie du domaine d'enquête scientifique. Ce cours mettra l'accent sur les
résultats d'apprentissage suivants :
Les élèves comprendront les principaux principes qui guident la pensée scientifique
moderne. Les étudiants démontreront une maîtrise du contenu scientifique de leurs cours
SID.
Les élèves sauront que la science, la technologie et les mathématiques servent de
mécanismes pour enquêter sur la nature de l'univers.
Les élèves comprendront et apprécieront les relations entre la science, la technologie et les
mathématiques.
Les élèves comprendront et apprécieront le rôle de la science dans la société et dans leur
vie.
Les élèves comprendront la nature des sciences, de la technologie et des mathématiques

2. Concepts technologiques couverts par le cours

3. Pré-requis
CONDITIONS PRÉALABLES: MAT 150 or MAT 155 or MAT 160 or MAT 170

4. Proposition de découpage du cours

5. Manuels de cours

Manuel de référence
Calculus: Concepts and Contexts (Available 2010 Titles Enhanced Web Assign) 4th Edition
by James Stewart (Author)
Series: Available 2010 Titles Enhanced Web Assign (Book 4)
Hardcover: 1152 pages
Publisher: Brooks Cole; 4 editions (March 9, 2009)

222 | P a g e
Language: English
ISBN-10: 0495557420
ISBN-13: 978-0495557425

6. Sommaire manuel de référence

223 | P a g e
Cours
TDC 365 Technologies d’Interconnexion Réseaux (TCP/IP)

1. Objectifs du cours
Une étude complète des technologies d'interconnexion réseau, y compris les ponts et
commutateurs de couche 2, les routeurs de couche 3 et les passerelles de couche
supérieure. Les protocoles TCP et IP seront étudiés en détail, y compris la gestion des
adresses IP et les opérations et la gestion des routeurs ainsi que les protocoles Internet
associés. Les protocoles RIP et OSPF seront considérés. Le cours comprend un travail de
laboratoire avec des analyseurs de protocole et l'administration du routeur.

2. Concepts technologiques couverts par le cours


Concepts technologiques couverts par le cours

• Commutation ou routage, sous-réseaux IP


• Labs, VLSM, routes statiques et par défaut
• OSPFv2
• EIGRP
• Adressage IPv6 et OSPFv3
• BGP et redistribution
• Sécurité et ACL
• HSRP, NAT
3. Pré-requis
CONDITIONS PRÉALABLES : (TDC261 ou IT263) et (TDC363 ou CNS 378)

224 | P a g e
4. Proposition de découpage du cours

Semaine Sujet

Semaine 1 Review: Switching vs. Routing, IP Subnets

Semaine 2 Labs, VLSM, Static and Default Routes

Semaine 3 OSPFv2

Semaine 4 EIGRP

Semaine 5 IPv6 Addressing and OSPFv3

Semaine 6 Midterm Exam

Semaine 7 BGP and Redistribution

Semaine 8 Security and ACLs

Semaine 9 HSRP, NAT

Semaine 10 Wrap up and Review

Semaine 11 Final Exam:

5. Manuels de cours

• Manuel de référence

225 | P a g e
TCP / IP Protocol Suite, 4ème édition.
Par Behrouz A. Forouzan, McGraw-Hill,
ISBN 978-0073376042., 2014.
ISBN : 978-0136085300
Format cartonné | 928 pages
Date de publication 01 Apr 2009
Éditeur McGraw-Hill Education - Europe
Langue : Anglais

6. Sommaire du manuel de cours de référence

Part 1 Introduction and Underlying Technologies 1

Chapter 1 Introduction 2
1.1 A BRIEF HISTORY 3
ARPANET 3
Birth of the Internet 3
Transmission Control Protocol/Internetworking Protocol (TCP/IP) 4
MILNET 4
CSNET 4
NSFNET 4
ANSNET 5
The Internet Today 5
World Wide Web 6
Time Line 6
Growth of the Internet 7
1.2 PROTOCOLS AND STANDARDS 7
Protocols 7
Standards 8
1.3 STANDARDS ORGANIZATIONS 8
Standards Creation Committees 8
Forums 10
Regulatory Agencies 10
1.4 INTERNET STANDARDS 10
Maturity Levels 11
Requirement Levels 12
1.5 INTERNET ADMINISTRATION 13
Internet Society (ISOC) 13
Internet Architecture Board (IAB) 13
Internet Engineering Task Force (IETF) 13
Internet Research Task Force (IRTF) 14

226 | P a g e
Internet Assigned Numbers Authority (IANA) and Internet Corporation
for Assigned Names and Numbers (ICANN) 14
Network Information Center (NIC) 14
x CONTENTS
1.6 FURTHER READING 14
Books and Papers 15
Websites 15
1.7 KEY TERMS 15
1.8 SUMMARY 15
1.9 PRACTICE SET 16
Exercises 16
Research Activities 17

Chapter 2 The OSI Model and the TCP/IP Protocol Suite 18


2.1 PROTOCOL LAYERS 19
Hierarchy 20
Services 20
2.2 THE OSI MODEL 20
Layered Architecture 21
Layer-to-Layer Communication 22
Encapsulation 23
Layers in the OSI Model 24
Summary of OSI Layers 28
2.3 TCP/IP PROTOCOL SUITE 28
Comparison between OSI and TCP/IP Protocol Suite 28
Layers in the TCP/IP Protocol Suite 30
2.4 ADDRESSING 35
Physical Addresses 35
Logical Addresses 37
Port Addresses 39
Application-Specific Addresses 40
2.5 FURTHER READING 40
Books 40
RFCs 40
2.6 KEY TERMS 41
2.7 SUMMARY 41
2.8 PRACTICE SET 42
Exercises 42
Research Activities 44

Chapter 3 Underlying Technologies 46


3.1 WIRED LOCAL AREA NETWORKS 47
IEEE Standards 47

227 | P a g e
Frame Format 48
Addressing 49
Ethernet Evolution 51
Standard Ethernet 51
Fast Ethernet 55
Gigabit Ethernet 56
Ten-Gigabit Ethernet 59
CONTENTS xi
3.2 WIRELESS LANS 59
IEEE 802.11 59
MAC Sublayer 61
Addressing Mechanism 64
Bluetooth 67
3.3 POINT-TO-POINT WANS 70
56K Modems 70
DSL Technology 71
Cable Modem 72
T Lines 75
SONET 75
PPP 76
3.4 SWITCHED WANS 77
X.25 77
Frame Relay 78
ATM 78
3.5 CONNECTING DEVICES 83
Repeaters 83
Bridges 84
Routers 86
3.6 FURTHER READING 88
3.7 KEY TERMS 88
3.8 SUMMARY 89
3.9 PRACTICE SET 89
Exercises 89
Research Activities 90

Part 2 Network Layer 93

Chapter 4 Introduction to Network Layer 94


4.1 INTRODUCTION 95
4.2 SWITCHING 96
Circuit Switching 96
Packet Switching 96
4.3 PACKET SWITCHING AT NETWORK LAYER 97

228 | P a g e
Connectionless Service 97
Connection-Oriented Service 99
4.4 NETWORK LAYER SERVICES 103
An Example 103
Logical Addressing 104
Services Provided at the Source Computer 105
Services Provided at Each Router 106
Services Provided at the Destination Computer 107
4.5 OTHER NETWORK LAYER ISSUES 108
Error Control 108
Flow Control 109
Congestion Control 110
xii CONTENTS
Quality of Service 111
Routing 111
Security 111
4.6 FURTHER READING 111
4.7 KEY TERMS 112
4.8 SUMMARY 112
4.9 PRACTICE SET 112
Exercises 112

Chapter 5 IPv4 Addresses 114


5.1 INTRODUCTION 115
Address Space 115
Notation 115
Range of Addresses 117
Operations 118
5.2 CLASSFUL ADDRESSING 121
Classes 121
Classes and Blocks 123
Two-Level Addressing 126
An Example 129
Three-Level Addressing: Subnetting 131
Super netting 134
5.3 CLASSLESS ADDRESSING 135
Variable-Length Blocks 136
Two-Level Addressing 136
Block Allocation 141
Subnetting 142
5.4 SPECIAL ADDRESSES 147
Special Blocks 147
Special Addresses in Each block 148

229 | P a g e
5.5 NAT 149
Address Translation 150
Translation Table 150
5.6 FURTHER READING 152
Books 152
RFCs 152
5.7 KEY TERMS 153
5.8 SUMMARY 153
5.9 PRACTICE SET 154
Exercises 154

Chapter 6 Delivery and Forwarding of IP Packets 160


6.1 DELIVERY 161
Direct Delivery 161
Indirect Delivery 161
6.2 FORWARDING 162
Forwarding Based on Destination Address 162
Forwarding Based on Label 176
CONTENTS xiii
6.3 STRUCTURE OF A ROUTER 178
Components 178
6.4 FURTHER READING 181
Books 182
RFCs 182
6.5 KEY TERMS 182
6.6 SUMMARY 182
6.7 PRACTICE SET 183
Exercises 183
Research Activities 184

Chapter 7 Internet Protocol Version 4 (IPv4) 186


7.1 INTRODUCTION 187
7.2 DATAGRAMS 187
7.3 FRAGMENTATION 192
Maximum Transfer Unit (MTU) 192
Fields Related to Fragmentation 193
7.4 OPTIONS 197
Format 197
Option Types 198
7.5 CHECKSUM 205
Checksum Calculation at the Sender 205
Checksum Calculation at the Receiver 205
Checksum in the IP Packet 206

230 | P a g e
7.6 IP OVER ATM 207
ATM WANs 208
Routing the Cells 208
7.7 SECURITY 210
Security Issues 210
IPsec 211
7.8 IP PACKAGE 211
Header-Adding Module 212
Processing Module 213
Queues 213
Routing Table 214
Forwarding Module 214
MTU Table 214
Fragmentation Module 214
Reassembly Table 215
Reassembly Module 215
7.9 FURTHER READING 216
Books 216
RFCs 217
7.10 KEY TERMS 217
7.11 SUMMARY 217
7.12 PRACTICE SET 218
Exercises 218
Research Activities 219
xiv CONTENTS

Chapter 8 Address Resolution Protocol (ARP) 220


8.1 ADDRESS MAPPING 221
Static Mapping 221
Dynamic Mapping 222
8.2 THE ARP PROTOCOL 222
Packet Format 223
Encapsulation 224
Operation 224
Proxy ARP 226
8.3 ATMARP 228
Packet Format 228
ATMARP Operation 229
Logical IP Subnet (LIS) 232
8.4 ARP PACKAGE 233
Cache Table 233
Queues 235
Output Module 235

231 | P a g e
Input Module 236
Cache-Control Module 237
More Examples 238
8.5 FURTHER READING 240
Books 240
RFCs 240
8.6 KEY TERMS 240
8.7 SUMMARY 241
8.8 PRACTICE SET 241
Exercises 241

Chapter 9 Internet Control Message Protocol Version 4


(ICMPv4) 244
9.1 INTRODUCTION 245
9.2 MESSAGES 246
Message Format 246
Error Reporting Messages 246
Query Messages 253
Checksum 256
9.3 DEBUGGING TOOLS 257
Ping 257
Traceroute 259
9.4 ICMP PACKAGE 262
Input Module 263
Output Module 263
9.5 FURTHER READING 264
Books 264
RFCs 264
9.6 KEY TERMS 264
9.7 SUMMARY 265
CONTENTS xv
9.8 PRACTICE SET 265
Exercises 265
Research Activities 267

Chapter 10 Mobile IP 268


10.1 ADDRESSING 269
Stationary Hosts 269
Mobile Hosts 269
10.2 AGENTS 270
Home Agent 271
Foreign Agent 271
10.3 THREE PHASES 271

232 | P a g e
Agent Discovery 271
Registration 273
Data Transfer 275
10.4 INEFFICIENCY IN MOBILE IP 277
Double Crossing 277
Triangle Routing 277
Solution 277
10.5 FURTHER READING 278
Books 278
RFCs 278
10.6 KEY TERMS 278
10.7 SUMMARY 279
10.8 PRACTICE SET 279
Exercises 279
Research Activities 280

Chapter 11 Unicast Routing Protocols (RIP, OSPF,


and BGP) 282
11.1 INTRODUCTION 283
Cost or Metric 283
Static versus Dynamic Routing Tables 283
Routing Protocol 283
11.2 INTRA- AND INTER-DOMAIN ROUTING 284
11.3 DISTANCE VECTOR ROUTING 285
Bellman-Ford Algorithm 285
Distance Vector Routing Algorithm 287
Count to Infinity 291
11.4 RIP 293
RIP Message Format 294
Requests and Responses 295
Timers in RIP 296
RIP Version 2 297
Encapsulation 299
11.5 LINK STATE ROUTING 299
Building Routing Tables 300
xvi CONTENTS
11.6 OSPF 304
Areas 304
Metric 305
Types of Links 305
Graphical Representation 307
OSPF Packets 307
Link State Update Packet 309

233 | P a g e
Other Packets 317
Encapsulation 320
11.7 PATH VECTOR ROUTING 320
Reachability 321
Routing Tables 322
11.8 BGP 323
Types of Autonomous Systems 323
Path Attributes 324
BGP Sessions 324
External and Internal BGP 324
Types of Packets 325
Packet Format 325
Encapsulation 329
11.9 FURTHER READING 329
Books 329
RFCs 330
11.10 KEY TERMS 330
11.11 SUMMARY 330
11.12 PRACTICE SET 331
Exercises 331
Research Activities 333

Chapter 12 Multicasting and Multicast Routing Protocols 334


12.1 INTRODUCTION 335
Unicasting 335
Multicasting 336
Broadcasting 338
12.2 MULTICAST ADDRESSES 338
Multicast Addresses in IPv4 339
Selecting Multicast Address 341
Delivery of Multicast Packets at Data Link Layer 342
12.3 IGMP 343
Group Management 344
IGMP Messages 344
IGMP Protocol Applied to Host 347
IGMP Protocol Applied to Router 351
Role of IGMP in Forwarding 352
Variables and Timers 354
Encapsulation 355
Compatibility with Older Versions 355
12.4 MULTICAST ROUTING 355
Optimal Routing: Shortest Path Trees 355
CONTENTS xvii

234 | P a g e
12.5 ROUTING PROTOCOLS 358
Multicast Link State Routing: MOSPF 358
Multicast Distance Vector 360
DVMRP 364
CBT 364
PIM 366
12.6 MBONE 367
12.7 FURTHER READING 368
Books 368
RFCs 368
12.8 KEY TERMS 368
12.9 SUMMARY 369
12.10 PRACTICE SET 369
Exercises 369
Research Activities 371

Part 3 Transport Layer 373

Chapter 13 Introduction to the Transport Layer 374


13.1 TRANSPORT-LAYER SERVICES 375
Process-to-Process Communication 375
Addressing: Port Numbers 375
Encapsulation and Decapsulation 378
Multiplexing and Demultiplexing 379
Flow Control 379
Error Control 382
Combination of Flow and Error Control 383
Congestion Control 385
Connectionless and Connection-Oriented Services 386
13.2 TRANSPORT-LAYER PROTOCOLS 389
Simple Protocol 390
Stop-and-Wait Protocol 391
Go-Back-N Protocol 395
Selective-Repeat Protocol 403
Bidirectional Protocols: Piggybacking 408
13.3 FURTHER READING 409
13.4 KEY TERMS 409
13.5 SUMMARY 410
13.6 PRACTICE SET 411
Exercises 411
Research Activities 413

Chapter 14 User Datagram Protocol (UDP) 414

235 | P a g e
14.1 INTRODUCTION 415
14.2 USER DATAGRAM 416
14.3 UDP SERVICES 417
Process-to-Process Communication 417
Connectionless Services 418
xviii CONTENTS
Flow Control 418
Error Control 418
Congestion Control 420
Encapsulation and Decapsulation 420
Queuing 421
Multiplexing and Demultiplexing 423
Comparison between UDP and Generic Simple Protocol 423
14.4 UDP APPLICATIONS 424
UDP Features 424
Typical Applications 426
14.5 UDP PACKAGE 426
Control-Block Table 426
Input Queues 426
Control-Block Module 426
Input Module 427
Output Module 428
Examples 428
14.6 FURTHER READING 430
Books 430
RFCs 430
14.7 KEY TERMS 430
14.8 SUMMARY 430
14.9 PRACTICE SET 431
Exercises 431

Chapter 15 Transmission Control Protocol (TCP) 432


15.1 TCP SERVICES 433
Process-to-Process Communication 433
Stream Delivery Service 434
Full-Duplex Communication 436
Multiplexing and Demultiplexing 436
Connection-Oriented Service 436
Reliable Service 436
15.2 TCP FEATURES 437
Numbering System 437
Flow Control 438
Error Control 438

236 | P a g e
Congestion Control 439
15.3 SEGMENT 439
Format 439
Encapsulation 441
15.4 A TCP CONNECTION 442
Connection Establishment 442
Data Transfer 444
Connection Termination 446
Connection Reset 448
15.5 STATE TRANSITION DIAGRAM 449
Scenarios 450
CONTENTS xix
15.6 WINDOWS IN TCP 457
Send Window 457
Receive Window 458
15.7 FLOW CONTROL 459
Opening and Closing Windows 460
Shrinking of Windows 462
Silly Window Syndrome 463
15.8 ERROR CONTROL 465
Checksum 465
Acknowledgment 465
Retransmission 466
Out-of-Order Segments 467
FSMs for Data Transfer in TCP 467
Some Scenarios 468
15.9 CONGESTION CONTROL 473
Congestion Window 473
Congestion Policy 474
15.10 TCP TIMERS 478
Retransmission Timer 478
Persistence Timer 481
Keepalive Timer 482
TIME-WAIT Timer 482
15.11 OPTIONS 482
15.12 TCP PACKAGE 489
Transmission Control Blocks (TCBs) 490
Timers 491
Main Module 491
Input Processing Module 495
Output Processing Module 496
15.13 FURTHER READING 496
Books 496

237 | P a g e
RFCs 496
15.14 KEY TERMS 496
15.15 SUMMARY 497
15.16 PRACTICE SET 498
Exercises 498
Research Activities 501

Chapter 16 Stream Control Transmission Protocol (SCTP) 502


16.1 INTRODUCTION 503
16.2 SCTP SERVICES 504
Process-to-Process Communication 504
Multiple Streams 504
Multihoming 505
Full-Duplex Communication 506
Connection-Oriented Service 506
Reliable Service 506
xx CONTENTS
16.3 SCTP FEATURES 506
Transmission Sequence Number (TSN) 506
Stream Identifier (SI) 506
Stream Sequence Number (SSN) 507
Packets 507
Acknowledgment Number 509
Flow Control 509
Error Control 509
Congestion Control 510
16.4 PACKET FORMAT 510
General Header 510
Chunks 511
16.5 AN SCTP ASSOCIATION 519
Association Establishment 519
Data Transfer 521
Association Termination 524
Association Abortion 524
16.6 STATE TRANSITION DIAGRAM 525
Scenarios 526
16.7 FLOW CONTROL 529
Receiver Site 529
Sender Site 530
A Scenario 530
16.8 ERROR CONTROL 531
Receiver Site 532
Sender Site 532

238 | P a g e
Sending Data Chunks 534
Generating SACK Chunks 534
16.9 CONGESTION CONTROL 535
Congestion Control and Multihoming 535
Explicit Congestion Notification 535
16.10 FURTHER READING 535
Books 536
RFCs 536
16.11 KEY TERMS 536
16.12 SUMMARY 536
16.13 PRACTICE SET 537
Exercises 537
Research Activities 539

Part 4 Application Layer 541

Chapter 17 Introduction to the Application Layer 542


17.1 CLIENT-SERVER PARADIGM 543
Server 544
Client 544
Concurrency 544
CONTENTS xxi
Socket Interfaces 546
Communication Using UDP 554
Communication Using TCP 558
Predefined Client-Server Applications 564
17.2 PEER-TO-PEER PARADIGM 564
17.3 FURTHER READING 565
17.4 KEY TERMS 565
17.5 SUMMARY 565
17.6 PRACTICE SET 566
Exercises 566

Chapter 18 Host Configuration: DHCP 568


18.1 INTRODUCTION 569
Previous Protocols 569
DHCP 570
18.2 DHCP OPERATION 570
Same Network 570
Different Networks 571
UDP Ports 572
Using TFTP 572
Error Control 573

239 | P a g e
Packet Format 573
18.3 CONFIGURATION 576
Static Address Allocation 576
Dynamic Address Allocation 576
Transition States 576
Other Issues 578
Exchanging Messages 579
18.4 FURTHER READING 579
Books and RFCs 579
18.5 KEY TERMS 580
18.6 SUMMARY 580
18.7 PRACTICE SET 580
Exercises 580
Research Activities 581

Chapter 19 Domain Name System (DNS) 582


19.1 NEED FOR DNS 583
19.2 NAME SPACE 584
Flat Name Space 584
Hierarchical Name Space 584
Domain Name Space 585
Domain 587
Distribution of Name Space 587
19.3 DNS IN THE INTERNET 589
Generic Domains 589
Country Domains 590
xxii CONTENTS
Inverse Domain 591
Registrar 592
19.4 RESOLUTION 593
Resolver 593
Mapping Names to Addresses 593
Mapping Addresses to Names 593
Recursive Resolution 593
Iterative Resolution 594
Caching 594
19.5 DNS MESSAGES 595
Header 596
19.6 TYPES OF RECORDS 598
Question Record 598
Resource Record 599
19.7 COMPRESSION 600
19.8 ENCAPSULATION 604

240 | P a g e
19.9 REGISTRARS 604
19.10 DDNS 604
19.11 SECURITY OF DNS 605
19.12 FURTHER READING 605
Books 606
RFCs 606
19.13 KEY TERMS 606
19.14 SUMMARY 606
19.15 PRACTICE SET 607
Exercises 607
Research Activities 608

Chapter 20 Remote Login: TELNET and SSH 610


20.1 TELNET 611
Concepts 611
Time-Sharing Environment 611
Network Virtual Terminal (NVT) 613
Embedding 614
Options 615
Symmetry 618
Suboption Negotiation 618
Controlling the Server 618
Out-of-Band Signaling 620
Escape Character 620
Modes of Operation 621
User Interface 623
Security Issue 624
20.2 SECURE SHELL (SSH) 624
Versions 624
Components 624
Port Forwarding 625
Format of the SSH Packets 626
CONTENTS xxiii
20.3 FURTHER READING 626
Books 626
RFCs 627
20.4 KEY TERMS 627
20.5 SUMMARY 627
20.6 PRACTICE SET 628
Exercises 628
Research Activities 629

Chapter 21 File Transfer: FTP and TFTP 630

241 | P a g e
21.1 FTP 631
Connections 631
Communication 633
Command Processing 635
File Transfer 639
Anonymous FTP 642
Security for FTP 643
The sftp Program 643
21.2 TFTP 643
Messages 644
Connection 646
Data Transfer 647
UDP Ports 649
TFTP Example 650
TFTP Options 650
Security 651
Applications 651
21.3 FURTHER READING 652
Books 652
RFCs 652
21.4 KEY TERMS 652
21.5 SUMMARY 653
21.6 PRACTICE SET 653
Exercises 653
Research Activities 655

Chapter 22 World Wide Web and HTTP 656


22.1 ARCHITECTURE 657
Hypertext and Hypermedia 658
Web Client (Browser) 658
Web Server 659
Uniform Resource Locator (URL) 659
22.2 WEB DOCUMENTS 660
Static Documents 660
Dynamic Documents 660
Active Documents 663
22.3 HTTP 664
HTTP Transaction 664
xxiv CONTENTS
Conditional Request 670
Persistence 670
Cookies 672
Web Caching: Proxy Server 675

242 | P a g e
HTTP Security 675
22.4 FURTHER READING 676
Books 676
RFCs 676
22.5 KEY TERMS 676
22.6 SUMMARY 676
22.7 PRACTICE SET 677
Exercises 677
Research Activities 678

Chapter 23 Electronic Mail: SMTP, POP, IMAP,


and MIME 680
23.1 ARCHITECTURE 681
First Scenario 681
Second Scenario 682
Third Scenario 682
Fourth Scenario 683
23.2 USER AGENT 684
Services Provided by a User Agent 684
User Agent Types 685
Sending Mail 685
Receiving Mail 686
Addresses 686
Mailing List or Group List 686
23.3 MESSAGE TRANSFER AGENT: SMTP 687
Commands and Responses 687
Mail Transfer Phases 691
23.4 MESSAGE ACCESS AGENT: POP AND IMAP 693
POP3 694
IMAP4 695
23.5 MIME 695
MIME Headers 695
23.6 WEB-BASED MAIL 700
Case I 700
Case II 701
23.7 E-MAIL SECURITY 701
23.8 FURTHER READING 702
Books 702
RFCs 702
23.9 KEY TERMS 702
23.10 SUMMARY 702
23.11 PRACTICE SET 703
Exercises 703

243 | P a g e
Research Activities 704
CONTENTS xxv

Chapter 24 Network Management: SNMP 706


24.1 CONCEPT 707
Managers and Agents 707
24.2 MANAGEMENT COMPONENTS 708
Role of SNMP 708
Role of SMI 708
Role of MIB 709
An Analogy 709
An Overview 710
24.3 SMI 711
Name 711
Type 712
Encoding Method 713
24.4 MIB 715
Accessing MIB Variables 716
Lexicographic Ordering 718
24.5 SNMP 719
PDUs 719
Format 721
Messages 722
24.6 UDP PORTS 724
24.7 SECURITY 725
24.8 FURTHER READING 725
Books 725
RFCs 725
24.9 KEY TERMS 726
24.10 SUMMARY 726
24.11 PRACTICE SET 726
Exercises 726
Research Activity 727

Chapter 25 Multimedia 728


25.1 INTRODUCTION 729
25.2 DIGITIZING AUDIO AND VIDEO 730
Digitizing Audio 730
Digitizing Video 730
25.3 AUDIO AND VIDEO COMPRESSION 731
Audio Compression 731
Video Compression 731
25.4 STREAMING STORED AUDIO/VIDEO 736

244 | P a g e
First Approach: Using a Web Server 736
Second Approach: Using a Web Server with Metafile 737
Third Approach: Using a Media Server 738
Fourth Approach: Using a Media Server and RTSP 738
25.5 STREAMING LIVE AUDIO/VIDEO 739
25.6 REAL-TIME INTERACTIVE AUDIO/VIDEO 740
Characteristics 740
xxvi CONTENTS
25.7 RTP 744
RTP Packet Format 745
UDP Port 746
25.8 RTCP 746
Sender Report 746
Receiver Report 747
Source Description Message 747
Bye Message 747
Application-Specific Message 747
UDP Port 747
25.9 VOICE OVER IP 748
SIP 748
H.323 750
25.10 QUALITY OF SERVICE 752
Flow Characteristics 752
Flow Classes 753
Techniques to Improve QoS 753
Resource Reservation 757
Admission Control 758
25.11 INTEGRATED SERVICES 758
Signaling 758
Flow Specification 758
Admission 759
Service Classes 759
RSVP 759
Problems with Integrated Services 762
25.12 DIFFERENTIATED SERVICES 762
DS Field 762
25.13 RECOMMENDED READING 764
Books 764
RFCs 764
25.14 KEY TERMS 764
25.15 SUMMARY 765
25.16 PRACTICE SET 766
Exercises 766

245 | P a g e
Part 5 Next Generation 767

Chapter 26 IPv6 Addressing 768


26.1 INTRODUCTION 769
Notations 769
Address Space 772
Three Address Types 772
Broadcasting and Multicasting 773
26.2 ADDRESS SPACE ALLOCATION 773
Assigned and Reserved Blocks 775
26.3 GLOBAL UNICAST ADDRESSES 778
Three Levels of Hierarchy 779
CONTENTS xxvii
26.4 AUTOCONFIGURATION 781
26.5 RENUMBERING 782
26.6 FURTHER READING 782
Books 782
RFCs 782
26.7 KEY TERMS 783
26.8 SUMMARY 783
26.9 PRACTICE SET 783
Exercises 783

Chapter 27 IPv6 Protocol 786


27.1 INTRODUCTION 787
Rationale for Change 787
Reason for Delay in Adoption 787
27.2 PACKET FORMAT 788
Base Header 788
Flow Label 789
Comparison between IPv4 and IPv6 Headers 790
Extension Headers 790
Comparison between IPv4 and IPv6 795
27.3 TRANSITION FROM IPv4 TO IPv6 796
Dual Stack 796
Tunneling 797
Header Translation 797
27.4 FURTHER READING 798
Books 798
RFCs 798
27.5 KEY TERMS 798
27.6 SUMMARY 799

246 | P a g e
27.7 PRACTICE SET 799
Exercises 799
Research Activity 799

Chapter 28 ICMPv6 800


28.1 INTRODUCTION 801
28.2 ERROR MESSAGES 802
Destination-Unreachable Message 802
Packet-Too-Big Message 803
Time-Exceeded Message 803
Parameter-Problem Message 804
28.3 INFORMATIONAL MESSAGES 804
Echo-Request Message 804
Echo-Reply Message 805
28.4 NEIGHBOR-DISCOVERY MESSAGES 805
Router-Solicitation Message 805
Router-Advertisement Message 806
Neighbor-Solicitation Message 806
xxviii CONTENTS
Neighbor-Advertisement Message 807
Redirection Message 808
Inverse-Neighbor-Solicitation Message 808
Inverse-Neighbor-Advertisement Message 808
28.5 GROUP MEMBERSHIP MESSAGES 809
Membership-Query Message 809
Membership-Report Message 810
Functionality 810
28.6 FURTHER READING 812
Books 812
RFCs 812
28.7 KEY TERMS 812
28.8 SUMMARY 812
28.9 PRACTICE SET 813
Exercises 813
Research Activities 813

Part 6 Security 815

Chapter 29 Cryptography and Network Security 816


29.1 INTRODUCTION 817
Security Goals 817
Attacks 818
Services 819

247 | P a g e
Techniques 819
29.2 TRADITIONAL CIPHERS 820
Key 821
Substitution Ciphers 821
Transposition Ciphers 824
Stream and Block Ciphers 825
29.3 MODERN CIPHERS 826
Modern Block Ciphers 826
Data Encryption Standard (DES) 828
Modern Stream Ciphers 830
29.4 ASYMMETRIC-KEY CIPHERS 831
Keys 832
General Idea 832
RSA Cryptosystem 834
Applications 836
29.5 MESSAGE INTEGRITY 836
Message and Message Digest 836
Hash Functions 837
29.6 MESSAGE AUTHENTICATION 838
HMAC 838
29.7 DIGITAL SIGNATURE 839
Comparison 839
Process 840
CONTENTS xxix
Signing the Digest 841
Services 842
RSA Digital Signature Scheme 843
Digital Signature Standard (DSS) 844
29.8 ENTITY AUTHENTICATION 844
Entity versus Message Authentication 844
Verification Categories 845
Passwords 845
Challenge-Response 845
29.9 KEY MANAGEMENT 847
Symmetric-Key Distribution 847
Symmetric-Key Agreement 850
Public-Key Distribution 851
29.10 FURTHER READING 853
29.11 KEY TERMS 853
29.12 SUMMARY 854
29.13 PRACTICE SET 855
Exercises 855
Research Activities 856

248 | P a g e
Chapter 30 Internet Security 858
30.1 NETWORK LAYER SECURITY 859
Two Modes 859
Two Security Protocols 861
Services Provided by IPSec 864
Security Association 865
Internet Key Exchange (IKE) 868
Virtual Private Network (VPN) 868
30.2 TRANSPORT LAYER SECURITY 869
SSL Architecture 869
Four Protocols 872
30.3 APPLICATION LAYER SECURITY 875
E-mail Security 875
Pretty Good Privacy (PGP) 876
Key Rings 878
PGP Certificates 878
S/MIME 881
Applications of S/MIME 885
30.4 FIREWALLS 885
Packet-Filter Firewall 885
Proxy Firewall 886
30.5 RECOMMENDED READING 887
30.6 KEY TERMS 887
30.7 SUMMARY 888
30.8 PRACTICE SET 888
Exercises 888
Research Activities 889

249 | P a g e
Cours
IT 211 Introduction au Développement des Applications

1. Objectifs du cours
Introduction au développement d'applications et à la résolution de problèmes. Constructions de
programmation de base, y compris les structures de contrôle, les fonctions d'E / S et la
programmation par objet. Les projets comprennent des applications à petite échelle utilisant
des services Web, le traitement de fichiers, des bases de données et des logiciels d'application.
A la fin de cours :
 Les étudiants seront capables d'identifier le rôle de la programmation et de la
technologie.
 Créez des programmes capables de répondre aux questions de tous les jours.
 Rédiger des programmes qui incluent des constructions mathématiques.
 Diagnostiquer les problèmes de code informatique en traçant les états du programme
 Les étudiants doivent comprendre le rôle des programmes et des algorithmes pour
résoudre les problèmes scientifiques et identifier les limites de l'utilisation de la
technologie informatique pour résoudre les problèmes

2. Concepts technologiques couverts par le cours


 Présentation et installation du logiciel D2L Discussion Post due
 Utilisation de données numériques et de chaînes
 Génération de Nombres Aléatoires
 Plus avec des cordes
 Fichiers externes (si le temps le permet)
3. Pré-requis
CONDITIONS PRÉALABLES : IT 130

250 | P a g e
4. Proposition de découpage du cours

Week 1 Chapter 1 – Overview and Software installation D2L Discussion Post due
Week 2 Chapter 2 Using Numeric Data and Strings
Week 3 Chapter 4 4.1-4.8 & 4.12 Conditionals & Input Project 1
Week 4 Chapter 3 Functions Quiz
Week 5 Chapter 5 Functions 5.0 through 5.4 Project 2
Chapter 9.4 – Generating Random Numbers Chapter 9.6 – Counting
Week 6 Chapter 6 Iteration Mid Term Exam
Week 7 Chapter 7 More with Strings
Week 8 Chapter 8 Lists Quiz
Week 9 Chapter 9 Dictionaries Project 3
Week 10 External Files (time permitting)
Week 11 Final Exam

1. Manuels de cours
Manuel de référence
Allen B. Downey, Think Python, How to Think Like a Computer Scientist, O'Reilly, 2016.
Paperback: 292 pages
Publisher: O'Reilly Media; 2 edition (December 28, 2015)
Language: English
ISBN-10: 1491939362
ISBN-13: 978-1491939369

2. Sommaire du manuel de cours de référence

1 The way of the program 1


1.1 The Python programming language . . . . . . . . . . . . . . . . 1
1.2 What is a program? . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 What is debugging? . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4 Formal and natural languages . . . . . . . . . . . . . . . . . . . 6
1.5 The first program . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.6 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2 Variables, expressions and statements 11

251 | P a g e
2.1 Values and types . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2 Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.3 Variable names and keywords . . . . . . . . . . . . . . . . . . . 13
2.4 Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.5 Evaluating expressions . . . . . . . . . . . . . . . . . . . . . . . 15
2.6 Operators and operands . . . . . . . . . . . . . . . . . . . . . . 16
xx Contents
2.7 Order of operations . . . . .
4.7 Nested conditionals . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.8 The return statement . . . . . . . . . . . . . . . . . . . . . . . 40
4.9 Recursion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.10 Stack diagrams for recursive functions . . . . . . . . . . . . . . 42
4.11 Infinite recursion . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.12 Keyboard input . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.13 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
5 Fruitful functions 47
5.1 Return values . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
5.2 Program development . . . . . . . . . . . . . . . . . . . . . . . 48
5.3 Composition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
5.4 Boolean functions . . . . . . . . . . . . . . . . . . . . . . . . . . 52
5.5 More recursion . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.6 Leap of faith . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
5.7 One more example . . . . . . . . . . . . . . . . . . . . . . . . . 56
5.8 Checking types . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
5.9 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
6 Iteration 59

252 | P a g e
6.1 Multiple assignment . . . . . . . . . . . . . . . . . . . . . . . . 59
6.2 The while statement . . . . . . . . . . . . . . . . . . . . . . . . 60
6.3 Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
6.4 Two-dimensional tables . . . . . . . . . . . . . . . . . . . . . . 64
6.5 Encapsulation and generalization . . . . . . . . . . . . . . . . . 65
6.6 More encapsulation . . . . . . . . . . . . . . . . . . . . . . . . . 66
6.7 Local variables . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
6.8 More generalization . . . . . . . . . . . . . . . . . . . . . . . . . 68
6.9 Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
6.10 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
xxii Contents
7 Strings 71
7.1 A compound data type . . . . . . . . . . . . . . . . . . . . . . . 71
7.2 Length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
7.3 Traversal and the for loop . . . . . . . . . . . . . . . . . . . . . 72
7.4 String slices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
7.5 String comparison . . . . . . . . . . . . . . . . . . . . . . . . . 74
7.6 Strings are immutable . . . . . . . . . . . . . . . . . . . . . . . 75
7.7 A find function . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
7.8 Looping and counting . . . . . . . . . . . . . . . . . . . . . . . 76
7.9 The string module . . . . . . . . . . . . . . . . . . . . . . . . 77
7.10 Character classification . . . . . . . . . . . . . . . . . . . . . . . 78
7.11 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
8 Lists 81
8.1 List values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
8.2 Accessing elements . . . . . . . . . . . . . . . . . . . . . . . . . 82

253 | P a g e
8.3 List length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
8.4 List membership . . . . . . . . . . . . . . . . . . . . . . . . . . 84
8.5 Lists and for loops . . . . . . . . . . . . . . . . . . . . . . . . . 84
8.6 List operations . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
8.7 List slices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
8.8 Lists are mutable . . . . . . . . . . . . . . . . . . . . . . . . . . 86
8.9 List deletion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
8.10 Objects and values . . . . . . . . . . . . . . . . . . . . . . . . . 89
8.11 Aliasing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
8.12 Cloning lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
8.13 List parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
8.14 Nested lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Contents xxiii
8.15 Matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
8.16 Strings and lists . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
8.17 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
9 Tuples 95
9.1 Mutability and tuples . . . . . . . . . . . . . . . . . . . . . . . 95
9.2 Tuple assignment . . . . . . . . . . . . . . . . . . . . . . . . . . 96
9.3 Tuples as return values . . . . . . . . . . . . . . . . . . . . . . . 97
9.4 Random numbers . . . . . . . . . . . . . . . . . . . . . . . . . . 97
9.5 List of random numbers . . . . . . . . . . . . . . . . . . . . . . 98
9.6 Counting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
9.7 Many buckets . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
9.8 A single-pass solution . . . . . . . . . . . . . . . . . . . . . . . . 102
9.9 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

254 | P a g e
10 Dictionaries 105
10.1 Dictionary operations . . . . . . . . . . . . . . . . . . . . . . . . 106
10.2 Dictionary methods . . . . . . . . . . . . . . . . . . . . . . . . . 107
10.3 Aliasing and copying . . . . . . . . . . . . . . . . . . . . . . . . 108
10.4 Sparse matrices . . . . . . . . . . . . . . . . . . . . . . . . . . 108
10.5 Hints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
10.6 Long integers . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
10.7 Counting letters . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
10.8 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
11 Files and exceptions 115
11.1 Text files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
11.2 Writing variables . . . . . . . . . . . . . . . . . . . . . . . . . . 118
11.3 Directories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
xxiv Contents
11.4 Pickling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
11.5 Exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
11.6 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
12 Classes and objects 127
12.1 User-defined compound types . . . . . . . . . . . . . . . . . . . 127
12.2 Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
12.3 Instances as arguments . . . . . . . . . . . . . . . . . . . . . . . 129
12.4 Sameness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
12.5 Rectangles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
12.6 Instances as return values . . . . . . . . . . . . . . . . . . . . . 132
12.7 Objects are mutable . . . . . . . . . . . . . . . . . . . . . . . . 132
12.8 Copying . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133

255 | P a g e
12.9 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
13 Classes and functions 137
13.1 Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
13.2 Pure functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
13.3 Modifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
13.4 Which is better? . . . . . . . . . . . . . . . . . . . . . . . . . . 140
13.5 Prototype development versus planning . . . . . . . . . . . . . 141
13.6 Generalization . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
13.7 Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
13.8 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
14 Classes and methods 145
14.1 Object-oriented features . . . . . . . . . . . . . . . . . . . . . . 145
14.2 print Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
14.3 Another example . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Contents xxv
14.4 A more complicated example . . . . . . . . . . . . . . . . . . . 148
14.5 Optional arguments . . . . . . . . . . . . . . . . . . . . . . . . . 149
14.6 The initialization method . . . . . . . . . . . . . . . . . . . . . 150
14.7 Points revisited . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
14.8 Operator overloading . . . . . . . . . . . . . . . . . . . . . . . . 152
14.9 Polymorphism . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
14.10 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
15 Sets of objects 157
15.1 Composition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
15.2 Card objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
15.3 Class attributes and the str method . . . . . . . . . . . . . 159

256 | P a g e
15.4 Comparing cards . . . . . . . . . . . . . . . . . . . . . . . . . . 160
15.5 Decks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
15.6 Printing the deck . . . . . . . . . . . . . . . . . . . . . . . . . . 161
15.7 Shuffling the deck . . . . . . . . . . . . . . . . . . . . . . . . . . 163
15.8 Removing and dealing cards . . . . . . . . . . . . . . . . . . . . 164
15.9 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
16 Inheritance 167
16.1 Inheritance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
16.2 A hand of cards . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
16.3 Dealing cards . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
16.4 Printing a Hand . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
16.5 The Card Game class . . . . . . . . . . . . . . . . . . . . . . . . . 171
16.6 OldMaid Hand class . . . . . . . . . . . . . . . . . . . . . . . . . 171
16.7 OldMaid Game class . . . . . . . . . . . . . . . . . . . . . . . . . 173
16.8 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
xxvi Contents
17 Linked lists 179
17.1 Embedded references . . . . . . . . . . . . . . . . . . . . . . . . 179
17.2 The Node class . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
17.3 Lists as collections . . . . . . . . . . . . . . . . . . . . . . . . . 181
17.4 Lists and recursion . . . . . . . . . . . . . . . . . . . . . . . . . 182
17.5 Infinite lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
17.6 The fundamental ambiguity theorem . . . . . . . . . . . . . . . 184
17.7 Modifying lists . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
17.8 Wrappers and helpers . . . . . . . . . . . . . . . . . . . . . . . 185
17.9 The Linked List class . . . . . . . . . . . . . . . . . . . . . . . 186

257 | P a g e
17.10 Invariants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
17.11 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
18 Stacks 189
18.1 Abstract data types . . . . . . . . . . . . . . . . . . . . . . . . 189
18.2 The Stack ADT . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
18.3 Implementing stacks with Python lists . . . . . . . . . . . . . . 190
18.4 Pushing and popping . . . . . . . . . . . . . . . . . . . . . . . . 191
18.5 Using a stack to evaluate postfix . . . . . . . . . . . . . . . . . 192
18.6 Parsing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
18.7 Evaluating postfix . . . . . . . . . . . . . . . . . . . . . . . . . 193
18.8 Clients and providers . . . . . . . . . . . . . . . . . . . . . . . . 194
18.9 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
19 Queues 197
19.1 The Queue ADT . . . . . . . . . . . . . . . . . . . . . . . . . . 197
19.2 Linked Queue . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
19.3 Performance characteristics . . . . . . . . . . . . . . . . . . . . 199
Contents xxvii
19.4 Improved Linked Queue . . . . . . . . . . . . . . . . . . . . . . 199
19.5 Priority queue . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
19.6 The Golfer class . . . . . . . . . . . . . . . . . . . . . . . . . . 203
19.7 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
20 Trees 205
20.1 Building trees . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
20.2 Traversing trees . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
20.3 Expression trees . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
20.4 Tree traversal . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208

258 | P a g e
20.5 Building an expression tree . . . . . . . . . . . . . . . . . . . . 210
20.6 Handling errors . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
20.7 The animal tree . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
20.8 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
A Debugging 219
A.1 Syntax errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
A.2 Runtime errors . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
A.3 Semantic errors . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
B Creating a new data type 229
B.1 Fraction multiplication . . . . . . . . . . . . . . . . . . . . . . . 230
B.2 Fraction addition . . . . . . . . . . . . . . . . . . . . . . . . . . 232
B.3 Euclid’s algorithm . . . . . . . . . . . . . . . . . . . . . . . . . 232
B.4 Comparing fractions . . . . . . . . . . . . . . . . . . . . . . . . 233
B.5 Taking it further . . . . . . . . . . . . . . . . . . . . . . . . . . 234
B.6 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
xxviii Contents
C Recommendations for further reading 237
C.1 Python-related web sites and books . . . . . . . . . . . . . . . . 238
C.2 Recommended general computer science books . . . . . . . . . 239
D GNU Free Documentation License 241
D.1 Applicability and Definitions . . . . . . . . . . . . . . . . . . . 242
D.2 Verbatim Copying . . . . . . . . . . . . . . . . . . . . . . . . . 243
D.3 Copying in Quantity . . . . . . . . . . . . . . . . . . . . . . . . 243
D.4 Modifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
D.5 Combining Documents . . . . . . . . . . . . . . . . . . . . . . . 246
D.6 Collections of Documents . . . . . . . . . . . . . . . . . . . . . 247

259 | P a g e
D.7 Aggregation with Independent Works . . . . . . . . . . . . . . . 247
D.8 Translation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
D.9 Termination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
D.10 Future Revisions of This License . . . . . . . . . . . . . . . . . 248
D.11 Addendum: How to Use This License for Your Documents . . . 248

260 | P a g e
Cours
IT 231 Développement Web I

1. Objectifs du cours
Introduction au développement web basé sur le Framework. Les élèves créent des sites
Web interactifs et dynamiques en utilisant une architecture Web commune et un accès à la
base de données par objets. La programmation pour le développement Web comprend des
structures de contrôle, des objets, des fonctions et l'utilisation de types de données
composites.
À la fin du trimestre, les étudiants pourront :
Développer un site web dynamique
Expliquer les différents composants d'une application Web
Ecrire des scripts pour accéder à une base de données
Ecrire des modèles de page simples en utilisant des balises HTML, CSS et dynamiques
Concevoir et implémenter une application Web avec plusieurs tables et contrôle d'accès

2. Concepts technologiques couverts par le cours


 Installation de rails, Vue d'ensemble de MVC, création d'échafaudages
 Modèles, validation, console ORM et Rails
 Vue d'ensemble Ruby, tableaux, hachages ; ORM et exemples de console
 Ajout de contrôleurs simples et de vues, de dispositions, d’aides à la vue
 Formulaires, aides et paramètres
 Relations entre modèles de données, migrations
 Variables de session, authentification

3. Pré-requis
CONDITIONS PRÉALABLES : IT 130

261 | P a g e
4. Proposition de découpage du cours

Semaine Sujet Lecture requise

Semaine 1 Course overview, Rails installation, MVC Ch. 1 - 3


Overview, scaffold creation
Semaine 2 Models, validation, ORM and Rails console Ch. 18, pp. 265 - 271

Semaine 3 Ruby overview, arrays, hashes; ORM and Ch. 4, pp. 274 - 279
console examples
Semaine 4 Adding simple controllers and views, layouts, Revisit Ch. 2, pp. 333 - 335, 349 -
view helpers 354
Semaine 5 Midterm exam
Review

Semaine 6 Forms, Helpers and Parameters pp. 335 - 339

Semaine 7 Relations between data models, migrations pp. 272 - 273, Ch. 23

Semaine 8 Examples with relations and migrations Preliminary Project

Semaine 9 Session variables, authentication Ch. 20

Semaine 10 Other Framework, advanced topics Class notes Final Project

Semaine 11 Final Exam

5. Manuels de cours
Manuel de référence
Agile Web Development with Rails 5.1
By: Dave Thomas; David B. Copeland; Sam Ruby
Broché : 450 pages
Editeur : Pragmatic Bookshelf (5 décembre 2017)
Langue: Anglais
ISBN-10: 1680502514

262 | P a g e
ISBN-13: 978-1680502510

3. Sommaire du manuel de cours de référence

1. Part I. Getting Started


1. 1. Installing Rails
1. Installing on Cloud9
2. Installing on a Virtual Machine
3. Installing on Windows
4. Installing on Mac OS X
5. Installing on Linux
6. Choosing a Rails Version
7. Setting Up Your Development Environment
8. Rails and Databases
2. 2. Instant Gratification
1. Creating a New Application
2. Hello, Rails!
3. Linking Pages Together
4. When Things Go Wrong
3. 3. The Architecture of Rails Applications
1. Models, Views, and Controllers
2. Rails Model Support
3. Action Pack: The View and Controller
4. 4. Introduction to Ruby
1. Ruby Is an Object-Oriented Language
2. Data Types
3. Logic
4. Organizing Structures
5. Marshaling Objects
6. Pulling It All Together
7. Ruby Idioms
2. Part II. Building an Application
1. 5. The Depot Application
1. Incremental Development
2. What Depot Does
3. Let’s Code
2. 6. Task A: Creating the Application
1. Iteration A1: Creating the Product Maintenance Application
2. Iteration A2: Making Prettier Listings
3. 7. Task B: Validation and Unit Testing
1. Iteration B1: Validating!
2. Iteration B2: Unit Testing of Models

263 | P a g e
4. 8. Task C: Catalog Display
1. Iteration C1: Creating the Catalog Listing
2. Iteration C2: Adding a Page Layout
3. Iteration C3: Using a Helper to Format the Price
4. Iteration C4: Functional Testing of Controllers
5. Iteration C5: Caching of Partial Results
5. 9. Task D: Cart Creation
1. Iteration D1: Finding a Cart
2. Iteration D2: Connecting Products to Carts
3. Iteration D3: Adding a Button
6. 10. Task E: A Smarter Cart
1. Iteration E1: Creating a Smarter Cart
2. Iteration E2: Handling Errors
3. Iteration E3: Finishing the Cart
7. 11. Task F: Add a Dash of Ajax
1. Iteration F1: Moving the Cart
2. Iteration F2: Creating an Ajax-Based Cart
3. Iteration F3: Highlighting Changes
4. Iteration F4: Hiding an Empty Cart with a Custom Helper
5. Iteration F5: Broadcasting Updates with Action Cable
8. 12. Task G: Check Out!
1. Iteration G1: Capturing an Order
2. Iteration G2: Atom Feeds
9. 13. Task H: Entering Additional Payment Details
1. Iteration H1: Adding Fields Dynamically to a Form
2. Iteration H2: Testing Our JavaScript Functionality
10. 14. Task I: Processing Emails and Payments Efficiently
1. Iteration I1: Sending Confirmation Emails
2. Iteration I2: Connecting to a Slow Payment Processor with Active Job
11. 15. Task J: Logging In
1. Iteration J1: Adding Users
2. Iteration J2: Authenticating Users
3. Iteration J3: Limiting Access
4. Iteration J4: Adding a Sidebar, More Administration
12. 16. Task K: Internationalization
1. Iteration K1: Selecting the Locale
2. Iteration K2: Translating the Storefront
3. Iteration K3: Translating Checkout
4. Iteration K4: Adding a Locale Switcher
13. 17. Task L: Deployment and Production
1. Iteration L1: Deploying with Phusion Passenger and MySQL
2. Iteration L2: Deploying Remotely with Capistrano
3. Iteration L3: Checking Up on a Deployed Application

264 | P a g e
4. Iteration L4: Deploying with Fewer Steps on Heroku
14. 18. Depot Retrospective
1. Rails Concepts
2. Documenting What We’ve Done
3. Part III. Rails in Depth
1. 19. Finding Your Way Around Rails
1. Where Things Go
2. Naming Conventions
2. 20. Active Record
1. Defining Your Data
2. Locating and Traversing Records
3. Creating, Reading, Updating, and Deleting (CRUD)
4. Participating in the Monitoring Process
5. Transactions
3. 21. Action Dispatch and Action Controller
1. Dispatching Requests to Controllers
2. Processing of Requests
3. Objects and Operations That Span Requests
4. 22. Action View
1. Using Templates
2. Generating Forms
3. Processing Forms
4. Uploading Files to Rails Applications
5. Using Helpers
6. Reducing Maintenance with Layouts and Partials
5. 23. Migrations
1. Creating and Running Migrations
2. Anatomy of a Migration
3. Managing Tables
4. Advanced Migrations
5. When Migrations Go Bad
6. Schema Manipulation Outside Migrations
6. 24. Customizing and Extending Rails
1. Testing with RSpec
2. Creating HTML Templates with Slim
3. Serving CSS via Webpack
4. Customizing Rails in Other Ways

265 | P a g e
Cours
ORGC 201 Communication Professionnelle & Marketing

1. Objectifs du cours
Les employeurs exigent de fortes compétences en communication et en présentation. Pour
être compétitifs sur le marché du travail, les étudiants doivent acquérir et mettre en pratique
les compétences de communication écrite et orale nécessaires pour réussir leur entrevue.
En outre, en tant que professionnel, vous serez non seulement censé être un conférencier
confiant, mais aussi organiser et préparer des présentations claires, concises et
intéressantes. Vous devrez également communiquer efficacement tout en travaillant en tant
que membre d'une équipe ou dans d'autres contextes de groupe. En développant les
connaissances, les compétences et les compétences nécessaires pour communiquer
efficacement dans ces contextes et dans d'autres contextes, ce cours comprendra des
occasions de réflexion critique et de résolution de problèmes appliquée. (Anciennement
CMNS 201).

2. Concepts technologiques couverts par le cours

3. Pré-requis

4. Proposition de découpage du cours

5. Manuels de cours

6. Sommaire du manuel de cours de référence

266 | P a g e
Cours
ECT 360 Introduction à XML

267 | P a g e
1. Objectifs du cours
Une introduction au langage XML (Extensible Markup Language) et aux transformations
XML. Syntaxe XML, traitement et validation. Espaces de noms. Transformations utilisant
XSLT et XPath. Applications XML telles que XHTML, RDF, SVG, XSL.
Voici les objectifs minimums et les résultats attendus du cours.
• Démontrer la connaissance de XML, SGML et HTML.
• Recherchez et corrigez les erreurs de syntaxe dans les éléments et attributs XML.
• Créer et déclarer une définition de type de document (DTD) dans un fichier XML.
• Construire des schémas, des espaces de noms, des restrictions et des types de données
en XML.
• Effectuez des transformations à l'aide de XSL avancé et naviguez dans un document XML
avec XPath.

2. Concepts technologiques couverts par le cours


 Introduction au cours Exemples d'utilisation du XML défini par XML Analyse de
documents XML XML
 Eléments et attributs Recherche et correction des erreurs de syntaxe, vocabulaire XML
XHTML, espaces de noms XML et syntaxe associée, outils XML
 Validation XML, Validation XML, Schémas, DTD, Déclaration de l'utilisation de DTD
dans un fichier XML, Spécificités DTD, Entités
 Validation XML (suite), types de données XML, types définis par l'utilisateur Exemple
d'application XML : Scalable Vector Graphics
 XPath et XQuery
 Introduction aux transformations XML et XSLT
 Transformations XML (suite) Création et insertion de nœuds dans un document XML,
numérotation
 DOM et AJAX Lecture et écriture de documents XML. Manipulation de la structure du
document
3. Pré-requis
CONDITIONS PRÉALABLES : CSC 211 or CSC 241 or CSC 243

268 | P a g e
4. Proposition de découpage du cours

Week 1 Introduction to the Course XML Defined XML Use Cases Parsing XML XML
Document analysis

Week 2 Elements and Attributes Finding and fixing syntax errors, XML Vocabulary
XHTML, XML Namespaces and associated syntax, XML Tools

Week 3 XML Validation, XML Validation, Schemas, DTDs, Declaring use of DTD in an
XML file, DTD Specifics, Entities

Week 4 XML Validation (continued), XML data types, User-defined types XML
application example: Scalable Vector Graphics

Week 5 Midterm Exam, Style and Formatting

Week 6 XPath and XQuery

Week 7 Introduction to XML Transformations & XSLT

Week 8 XML transformations (continued) Creating & inserting nodes in an XML


document, Numbering

Week 9 DOM and AJAX Reading and writing XML documents. Manipulating document
structure

Week 10 XML Security, Resource description framework (RDF) and RDF Schema Final
exam preview

Week 11 Final Exam (No lecture)

5. Manuels de cours
New Perspectives on XML, Comprehensive 3rd Edition
by Patrick Carey (Author), Sasha Vodnik (Author)
Series: New Perspectives
Paperback: 768 pages
Publisher: Course Technology; 3 editions (December 2, 2014)
Language: English
ISBN-10: 128507582X

269 | P a g e
ISBN-13: 978-1285075822

6. Sommaire du manuel de cours de référence


Tutorial 1: Creating an XML Document.
Tutorial 2: Validating an XML Document.
Tutorial 3: Working with Basic Schemas.
Tutorial 4: Working with Advanced Schemas.
Tutorial 5: Working with XSLT and XPath.
Tutorial 6: Working with XSLT Functional Programming.
Tutorial 7: Creating Element Groups.
Tutorial 8: Combining XML and PHP.
Tutorial 9: Working with XML and Databases.
Tutorial 10: Using XML with Mobile Devices.

270 | P a g e
Cours
CSC 321 Conception et Analyse des Algorithmes

1. Objectifs du cours
Techniques de conception d'algorithmes incluant : analyse d'algorithmes (big-O, relations de
récurrence) et divide-and-conquer (quick sort, Mergesort). Sujets supplémentaires choisis
parmi : la méthode gourmande, la programmation dynamique, le retour arrière, la reliure et
la correspondance de chaînes.
A la fin de cours :
• Les étudiants pourront utiliser des structures algorithmiques de base pour la modélisation
Problèmes en informatique.
• Les étudiants apprendront les techniques de base pour concevoir et analyser des
ordinateurs
Algorithmes.
• Les étudiants seront exposés à un ensemble de problèmes fondamentaux qui ont
Applications dans plusieurs domaines de l'informatique.

2. Concepts technologiques couverts par le cours


 Croissance des fonctions et analyse d’algorithmes ; et des exemples de base de
recherche et de tri.
 Comptage et tri de base.
 Programmation dynamique.
 Algorithmes gourmands.
 Algorithmes de recherche de graphes et leurs applications (recherche en profondeur
d'abord, recherche en largeur, première, connectivité, tri topologique, etc.).
3. Pré-requis
CONDITIONS PRÉALABLES : (CSC 301 or CSC 393) and MAT140. MAT141 Recommandé

271 | P a g e
4. Proposition de découpage du cours

Week 1 Introduction; growth of functions and algorithm analysis; and basic examples of
searching and sorting. (Chapters 1, 2.)

Week 2 Divide and conquer. (Chapters 4, 5, 6.)

Week 3 Counting Sort & Radix Sort. (Chapter 6.)

Week 4 Dynamic programming. (Chapter 8.)

Week 5 Greedy algorithms. (Chapter 7.)

Week 6 Graph-search algorithms & their applications (depth-first search, breadth first search,
connectivity, topological sorting, etc.). (Chapter 4.)

Week 7 Other selected topics if time permits.

5. Manuels de cours
Manuel de référence
Algorithms by Johnsonbaugh, Richard, Schaefer, Marcus published
by Prentice Hall (2003)
Hardcover
Publisher: Prentice Hall
ASIN : B00E28RLMG

6. Sommaire du manuel de cours de référence

1 Introduction 1
1.1 Algorithms 1
1.2 Pseudocode for Algorithms 4
1.3 The Present 10
1.4 The Future 12
Notes 14
Chapter Exercises 14
2 Mathematics for Algorithms 17
2.1 Definitions, Notation, and Basic Results 17
2.2 Mathematic al Induction 3 2
2.3 Analysis of Algorithms 41
2.4 Récurrence Relations 55
2.5 Graphs 68
2.6 Trees 86

272 | P a g e
Notes 94
Chapter Exercises 94
3 Data Structures 99
3.1 Abstract Data Types 99
3.2 Stacks and Queues 101
3.3 Linked Lists 111
3.4 Binary Trees 120
3.5 Priority Queues, Binary Heaps, and Heapsort 133
3.6 Disjoint Sets 150
Notes 162
Chapter Exercises 162
4 Searching 165
4.1 Binary Search 165
4.2 Depth-First Search 172
4.3 Breadth-First Search 181
4.4 Topological Sort 188
4.5 Backtracking 195
Notes 209
Chapter Exercises 209
5 Divide and Conquer 213
5.1 A Tiling Problem 213
5.2 Mergesort 219
Chapter Exercises 423
1 0 PandNP 429
10.1 Polynomial Time 429
10.2 Nondeterministic Algorithms and NP 437
10.3 Reducibility and NP-Completeness 452
10.4 NP-Complete Problems 466
10.5 More on NP-Completeness 474
Notes 481
Chapter Exercises 482
1 1 Coping with NP-Completeness 493
11.1 Brute Force 495
11.2 Randomness 504
11.3 Approximation 511
11.4 Parameterization 526
11.5 Heuristics 541
Notes 551
12 Chapter Exercises 552

273 | P a g e
Parallel and Distributed Algorithms 559
12.1 Introduction 559
12.2 The Parallel Random Access Machine (PRAM)
12.3 Sorting Networks 587
12.4 Parallel Architectures 604
12.5 Distributed Algorithms 626
Notes 639
Chapter Exercises 640
5.3 Finding a Closest Pair of Points 225
5.4 Strassen's Matrix Product Algorithm 232
Notes 236
Chapter Exercises 236
6 Sorting and Selection 239
6.1 Insertion Sort 239
6.2 Quicksort 243
6.3 A Lower Bound for the Sorting Problem 254
6.4 Counting Sort and Radix Sort 257
6.5 Selection 262
Notes 268
Chapter Exercises 268
7 Greedy Algorithms 271
7.1 Coin Changing 271
7.2 Kruskal's Algorithm 275
7.3 Prim's Algorithm 284
7.4 Dijkstra's Algorithm 295
7.5 Huffman Codes 302
7.6 The Continuous-Knapsack Problem 313
Notes 319
Chapter Exercises 319
8 Dynamic Programming 323
8.1 Computing Fibonacci Numbers 323
8.2 Coin Changing Revisited 328
8.3 Multiplying Matrices 336
8.4 The Longest-Common-Subsequence Problem 342
8.5 The Algorithms of Floyd and Warshall 350
Notes 361
Chapter Exercises 361

274 | P a g e
9 Text Searching 367
9.1 Simple Text Search 368
9.2 The Rabin-Karp Algorithm 371
9.3 The Knuth-Morris-Pratt Algorithm 379
9.4 The Boyer-Moore-Horspool Algorithm 392
9.5 Approximate Pattern Matching 398
9.6 Regular Expression Matching 408
Notes 422

275 | P a g e
Cours
IT 373 Systems Concepts (Système d’Exploitation, gestion de
fichier et Serveur web)

1. Objectifs du cours
Présentation des concepts de simultanéité, de gestion de la mémoire et de système de
fichiers pour les systèmes d'exploitation et les serveurs Web. Application de concepts à
l'administration du système. Études de cas de systèmes d'exploitation communs.
Opérations du serveur Web Virtualisation.
A la fin de cours l’étudiant doit être capable de :
 Décrire les composants et fonctions nécessaires d'un système d'exploitation.
 Identifier les différences d'application / d'application pertinentes (par exemple, client
ou serveur).
 Expliquer la concurrence en ce qui concerne la planification des processus.
 Évaluer les restrictions imposées par des environnements matériels spécifiques.
 Identifier les avantages et les problèmes associés à la virtualisation.
 Explorer d'autres implémentations (par exemple, local, serveur, cloud).
 Sélectionner, installez et validez un système d'exploitation actuel (O / S complet de
la pile ; serveur préféré)
 Identifier les modifications à installer qui pourraient convenir à d’autres
environnements.

 Sélectionner, installer et configurer un serveur Web sur une pile de système


d'exploitation de serveur.
 Compare et contraster les piles Web complètes actuelles (par exemple, Apache, IIS,
nginx).

276 | P a g e
2. Concepts technologiques couverts par le cours
 Vue d'ensemble de l'architecture informatique
 Fils, processus et accès simultanés
 Gestion de la mémoire
 Systèmes de fichiers
 Études de cas de Windows, Linux et autres systèmes d'exploitation
 Opérations 'Web Server'

3. Pré-requis
CONDITIONS PRÉALABLES : IT 313 or CSC 300

4. Proposition de découpage du cours

Semaine Sujet

Semaines 1 à Overview of computer architecture


semaine 2 CPU: processor, memory, caches, I/O
Programs: instructions; fetch and execute cycles
File System: data representation
Hardware Independence/Dependence: virtual machines
Lab: Run specific system simulations (CARDIAC) and
OSTEP examples
Compare compiled code to uncompiled code (e.g. C
executable to C code; Java byte code to original Java code).

Semaine 3 Threads, processes and concurrency


Coordination: inter-process communication
Parallelization: thread synchronization
Management and Competition: scheduling policies
Lab: Configure and run systems with multiple threads; CPU,
Multi-Core, CPU/GPU
Monitor and compare system performance

277 | P a g e
Semaine 4 Memory management
Scope: virtual memory
Security: memory protection
Speed-Up: memory caching
Lab: Monitor memory usage (physical/virtual); Monitor cache
performance and page faults
Semaine 5 File systems
Schemes: file structure, representation, location dependence
Security: file permissions, ownership, backup file systems
Lab: Version control (Subversion, git)
Hash tables to Databases; the Impact of Persistence and
ORM

Semaine 6 Case studies of Windows, Linux and other operating


Windows – Importance of Windows APIs; impact of users;
Win 10 & Nano server
Linux – Custom Linux distributions; open source; server
heritage, not users; Android.
Other O/S's – Other CISC/RISC software stacks, and RTOS
derivatives; Docker.
Lab: Choose and set up system on virtual machine, create
user/admin/process accounts,
Install and validate web server(s) on virtual machine(s).

Semaine 7 'Web Server' operations (1 week)


Software Management: Install, Update, Extend and Evaluate
management approach.
Security Management: Logging and Analysis; SIEM;
Configuration Tuning
Process vs. Event servers; Blocking vs. Non-Blocking
Lab: Test and compare configured web servers for multiple
users (account permissions)
Analyze web server security environment; Compare HTTP vs
REST/Serverless

Semaine 9 Final Project: Choose or Design One

278 | P a g e
5. Manuels de cours
Manuel de référence
Operating System Concepts Essentials 1st Edition
by Abraham Silberschatz (Author), Peter B. Galvin (Author), Greg Gagne (Author)
Paperback: 725 pages
Publisher: Wiley; 1 edition (November 23, 2010)
Language : English
ISBN-10 : 0470889209
ISBN-13 : 978-0470889206

6. Sommaire du manuel de cours de référence

279 | P a g e
PART ONE OVERVIEW
Chapter 1 Introduction
1.1 What Operating Systems Do 3
1.2 Computer-System Organization 6
1.3 Computer-System Architecture 12
1.4 Operating-System Structure 18
1.5 Operating-System Operations 20
1.6 Process Management 23
1.7 Memory Management 24
1.8 Storage Management 25
1.9 Protection and Security 29
1.10 Distributed Systems 30
1.11 Special-Purpose Systems 31
1.12 Computing Environments 34
1.13 Open-Source Operating Systems 37
1.14 Summary 40
Exercises 42

Chapter 2 Operating-System Structures


2.1 Operating-System Services 47
2.2 User Operating-System Interface 50
2.3 System Calls 53
2.4 Types of System Calls 56
2.5 System Programs 64
2.6 Operating-System Design and
Implementation 66
2.7 Operating-System Structure 68
2.8 Virtual Machines 74
2.9 Operating-System Debugging 82
2.10 Operating-System Generation 86
2.11 System Boot 87
2.12 Summary 88
Exercises 89
PART TWO PROCESS MANAGEMENT
Chapter 3 Processes
3.1 Process Concept 99

280 | P a g e
3.2 Process Scheduling 103
3.3 Operations on Processes 108
3.4 Interprocess Communication 114
3.5 Examples of IPC Systems 121
3.6 Communication in Client –
Server Systems 126
3.7 Summary 132
Exercises 133

Chapter 4 Threads
4.1 Overview 145
4.2 Multithreading Models 149
4.3 Thread Libraries 151
4.4 Threading Issues 157
4.5 Operating-System Examples 163
4.6 Summary 166
Exercises 166

Chapter 5 CPU Scheduling


5.1 Basic Concepts 175
5.2 Scheduling Criteria 179
5.3 Scheduling Algorithms 180
5.4 Thread Scheduling 191
5.5 Multiple-Processor Scheduling 194
5.6 Operating System Examples 198
5.7 Algorithm Evaluation 205
5.8 Summary 210
Exercises 211

Chapter 6 Process Synchronization


6.1 Background 217
6.2 The Critical-Section Problem 219
6.3 Peterson’s Solution 221
6.4 Synchronization Hardware 223
6.5 Semaphores 226
6.6 Classic Problems of
Synchronization 232

281 | P a g e
6.7 Monitors 236
6.8 Synchronization Examples 245
6.9 Deadlocks 249
6.10 Summary 258
Exercises 259

PART THREE MEMORY MANAGEMENT

PART FOUR STORAGE MANAGEMENT

Chapter 9 File-System Interface


9.1 File Concept 383
9.2 Access Methods 392
9.3 Directory and Disk Structure 395
9.4 File-System Mounting 406
9.5 File Sharing 408
9.6 Protection 413
9.7 Summary 418
Exercises 419

Chapter 10 File-System Implementation

10.1 File-System Structure 423


10.2 File-System Implementation 426
10.3 Directory Implementation 432
10.4 Allocation Methods 433
10.5 Free-Space Management 441
10.6 Efficiency and Performance 444
10.7 Recovery 448
10.8 Summary 452
Exercises 453

Chapter 11 Mass-Storage Structure


11.1 Overview of Mass-Storage
Structure 457
11.2 Disk Structure 460
11.3 Disk Attachment 461

282 | P a g e
11.4 Disk Scheduling 462
11.5 Disk Management 468
11.6 Swap-Space Management 472
11.7 RAID Structure 474
11.8 Summary 483
Exercises 485

Chapter 12 I/O Systems


12.1 Overview 493
12.2 I/O Hardware 494
12.3 Application I/O Interface 503
12.4 Kernel I/O Subsystem 509
12.5 Transforming I/O Requests to
Hardware Operations 516
12.6 STREAMS 518
12.7 Performance 520
12.8 Summary 523
Exercises 524

PART FIVE PROTECTION AND SECURITY


Chapter 13 Protection
13.1 Goals of Protection 529
13.2 Principles of Protection 530
13.3 Domain of Protection 531
13.4 Access Matrix 536
13.5 Implementation of Access Matrix 540
13.6 Access Control 543
13.7 Revocation of Access Rights 544
13.8 Capability-Based Systems 545
13.9 Summary 548
Exercises 549

Chapter 14 Security
14.1 The Security Problem 553
14.2 Program Threats 557
14.3 System and Network Threats 565
14.4 Cryptography as a Security Tool 570

283 | P a g e
14.5 User Authentication 581
14.6 An Example: Windows 586
14.7 Summary 587
Exercises 588

PART SIX CASE STUDIES


Chapter 15 The Linux System
15.1 Linux History 595
15.2 Design Principles 600
15.3 Kernel Modules 603
15.4 Process Management 606
15.5 Scheduling 609
15.6 Memory Management 614
15.7 File Systems 623
15.8 Input and Output 629
15.9 Interprocess Communication 631
15.10 Network Structure 633
15.11 Security 635
15.12 Summary 637
Exercises 638

Chapter 16 Windows 7
16.1 History 641
16.2 Design Principles 643
16.3 System Components 650
16.4 Terminal Services and Fast User
Switching 674
16.5 File System 675
16.6 Networking 681
16.7 Programmer Interface 686
16.8 Summary 695
Exercises 696

284 | P a g e
Cours
CSC 301 Structure des Données avec Java II

1. Objectifs du cours
C'est le deuxième cours d'une séquence de deux cours sur les structures de données
utilisant Java. Le cours se concentre principalement sur les structures de données
suivantes, leur analyse et leurs applications : arbres (arbres de recherche, arbres de
recherche équilibrés), tas, tableaux associatifs, tables de hachage et structures de données
pour représenter les graphiques. La mise en œuvre des opérations de base sur chaque
structure de données est discutée et analysée en termes d'efficacité. Les applications
discutées mettent en évidence et exploitent les caractéristiques uniques des différentes
structures de données, et mettent l'accent sur la résolution de problèmes et la réflexion
récursive.
A la fin du cours l’étudiant doit être capable de :
 Développer une compréhension permanente de :
• Techniques de programmation OO de base
• Programmes de débogage et de test
• Analyser l'exactitude et la performance du programme
• Solutions itératives et récursives aux problèmes
• Recherche d'arbres, arbres de recherche équilibrés
• tables de hachage
• Structures de données graphiques
• Algorithmes de chaîne

2. Concepts technologiques couverts par le cours


 Arbres de recherche binaires
 Arbres de recherche binaires
 Arbres de recherche équilibrés
 Tables de hachage
 Graphes non dirigés
 Graphes dirigés
 Algorithmes de chaîne

285 | P a g e
3. Pré-requis
CONDITIONS PRÉALABLES : CSC 300 and MAT 140

4. Proposition de découpage du cours


Week 1 Symbol Tables (3.1, 3.5)
Week 2 Binary search trees (3.2)
Week 3 Binary search trees (3.2)
Week 4 Balanced search trees (3.3)
Week 5 Hash Tables (3.4)
Week 6 Review Midterm Exam
Week 7 Undirected Graphs (4.1)
Week 8 Directed Graphs (4.2)
Week 9 String Algorithms (5.1)
Week 10 Tries (5.2)
Week 11 Final exam

5. Manuels de cours
Manuel de reference
Algorithms, 4th Edition
Robert Sedgewick, Princeton University
Kevin Wayne, Princeton University
©2011
Addison-Wesley Professional
ISBN: 9780321573513)
https://goo.gl/jYarpS
https://goo.gl/FqNn2f
Manuel recommandé
Think Java, how to Think Like a Computer Scientist
Auteurs: Allen B. Downey, Chris Mayfield
Broché : 252 pages
Editeur : O'Reilly Media, Inc, USA (24 mai 2016)
Langue : Anglais
ISBN-10 : 1491929561
ISBN-13 : 978-1491929568

286 | P a g e
7. Sommaire du manuel de cours de référence

Chapter 1: Fundamentals introduces a scientific and engineering basis for comparing


algorithms and making predictions. It also includes our programming model.
Chapter 2: Sorting considers several classic sorting algorithms, including insertion sort,
Mergesort, and quicksort. It also features a binary heap implementation of a priority queue.
Chapter 3: Searching describes several classic symbol-table implementations, including
binary search trees, red–black trees, and hash tables.
Chapter 4: Graphs surveys the most important graph-processing problems, including depth-
first search, breadth-first search, minimum spanning trees, and shortest paths.
Chapter 5: Strings investigates specialized algorithms for string processing, including radix
sorting, substring search, tries, regular expressions, and data compression.
Chapter 6: Context

287 | P a g e
Cours
CSC 373 Programmation Systèmes I

1. Objectifs du cours
Un cours sur les systèmes informatiques, axé sur la programmation et l'architecture au
niveau machine et leur pertinence pour la programmation d'applications. Représentations
d'informations, langage d'assemblage, programmation C et débogueurs, architecture de
processeur.
A la fin de cours l’étudiant doit être capable de :
• développer des compétences de base en programmation en C ;
• développer une familiarité de base avec UNIX
• comprendre comment les entiers, les chaînes, les tableaux et d’autres structures sont
représentés et manipulés au
niveau de la machine ;
• comprendre comment les programmes sont représentés au niveau de la machine ;
• pouvoir lire, comprendre et déboguer le code de l’Assembly Intel 64 bits au format GAS
(Gnu ASembler)
• savoir tirer parti du parallélisme des processeurs modernes pour optimiser les
performances du programme

2. Concepts technologiques couverts par le cours


 Introduction aux systèmes informatiques, UNIX,
 Représentation automatique des données
 Arithmétique Integer
 Point flottant
 Introduction à la représentation automatique des programmes
 Représentation automatique des programmes
 Procédures
 Tableaux, structures de données
 Optimisation,
3. Pré-requis
CONDITIONS PRÉALABLES : (CSC 393 or CSC 300) and MAT 140

288 | P a g e
4. Proposition de découpage du cours
Week 1 Intro to Computer Systems, UNIX, C (BO 1, 2.1-2.1.2)
Week 2 Machine representation of data (BO 2.1 - 2.2)
Week 3 Integer Arithmetic (BO 2.3)
Week 4 Floating point (BO 2.4)
Week 5 Intro to machine representation of programs (BO 3.1-3.3) Midterm Exam
Week 6 Machine representation of programs (BO 3.4-3.5)
Week 7 Control (BO 3.6)
Week 8 Procedures (BO 3.7)
Week 9 Arrays, data structures (3.8,3.9)
Week 10 Optimization, review for final exam (5.6,5.8,5.9)
Week 11 Final Exam

5. Manuels de cours
Manuel de référence
Computer Systems: A Programmer's Perspective (3rd Edition)
3rd Edition
by Randal E. Bryant (Author), David R. O’Halloran (Author)
Hardcover: 1128 pages
Publisher: Pearson; 3 editions (March 12, 2015)
Language: English
ISBN-10: 013409266X
ISBN-13: 978-0134092669
Manuel recommandé
C Programming Language, 2nd Edition
by Brian W. Kernighan (Author), Dennis M. Ritchie (Author)
Paperback: 272 pages
Publisher: Prentice Hall; 2 editions (April 1, 1988)
Language: English
ISBN-10: 0131103628
ISBN-13: 978-0131103627

6. Sommaire du manuel de cours de référence


Part I: Program Structure and Execution
Chapter 1: A Tour of Computer Systems
Chapter 2: Representing and Manipulating Information
Chapter 3: Machine-Level Representation of Programs

289 | P a g e
Chapter 4: Processor Architecture
Chapter 5: Optimizing Program Performance
Chapter 6: The Memory Hierarchy

Part II: Running Programs on a System

Chapter 7: Linking

Chapter 8: Exceptional Control Flow

Chapter 9: Virtual Memory

Part III: Interaction and Communication Between Programs

Chapter 10: System-Level I/O

Chapter 11: Network Programming

Chapter 12 : Concurrent Programming

290 | P a g e
Cours
SE 325 Introduction au Génie Logiciel

1. Objectifs du cours
Ce cours initie les étudiants aux activités réalisées à chaque étape du processus de
développement afin qu'ils puissent comprendre le contexte de cycle de vie complet de
tâches spécifiques telles que le codage et les tests. Les sujets abordés comprennent les
processus de développement, la modélisation des domaines, la conception et l'analyse des
spécifications, la conception et l'analyse architecturales, la gestion des configurations, les
activités d'assurance qualité, y compris les tests d'acceptation des utilisateurs et les tests
unitaires. , la planification de la diffusion des projets et l'éthique du génie logiciel.

2. Concepts technologiques couverts par le cours

3. Pré-requis
CONDITIONS PRÉALABLES : CSC 301 or CSC 393

4. Proposition de découpage du cours

5. Manuels de cours
Manuel de référence
Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and
Iterative Development (3rd Edition)
by Craig Larman (Author)
Hardcover: 736 pages
Publisher: Prentice Hall; 3 edition (October 30, 2004)
Language : English
ISBN-10 : 0131489062
ISBN-13 : 978-01314890

6. Sommaire du manuel de cours de référence

291 | P a g e
PART I INTRODUCTION
1 Object-Oriented Analysis and Design 3
Applying UML and Patterns in OOA/D 3
Assigning Responsibilities 6
What Is Analysis and Design? 6
What Is Object-Oriented Analysis and Design? 7
An Example 7
The UML 10
Further Readings 11
2 Iterative Development and the Unified Process 13
The Most Important UP Idea: Iterative Development 14
Additional UP Best Practices and Concepts 18
The UP Phases and Schedule-Oriented Terms 19
The UP Disciplines (was Workflows) 20
Process Customization and the Development Case 23
The Agile UP 24
The Sequential "Waterfall" Lifecycle 25
You Know You Didn't Understand the UP When... 26
Further Readings 26
3 Case Study: The NextGen POS System 29
The NextGen POS System 29
Architectural Layers and Case Study Emphasis 30
The Book's Strategy: Iterative Learning and Development 31
PART II INCEPTION
4 Inception 35
Inception: An Analogy 36
Inception May Be Very Brief 36
What Artifacts May Start in Inception? 37
You Know You Didn't Understand Inception When... 38
5 Understanding Requirements 41
Types of Requirements
42 Further Readings 43
6 Use-Case Model: Writing Requirements in Context 45
Goals and Stories 46
Background 46
Use Cases and Adding Value 47

292 | P a g e
Use Cases and Functional Requirements 48
Use Case Types and Formats 49
Fully Dressed Example: Process Sale 50
Explaining the Sections 54
Coals and Scope of a Use Case 59
Finding Primary Actors, Goals, and Use Cases 63
Congratulations: Use Cases Have Been Written, and Are Imperfect 67
Write Use Cases in an Essential Ul-Free Style 68
Actors 70
Use Case Diagrams 71
Requirements in Context and Low-Level Feature Lists 73
Use Cases Are Not Object-Oriented 75
vii
TABLE OF CONTENTS
Use Cases Within the UP 75
Case Study: Use Cases in the NextGen Inception Phase 79
Further Readings 79
UP Artifacts and Process Context 81
7 Identifying Other Requirements 83
NextGen POS Examples 84
NextGen Example: (Partial) Supplementary Specification 84
Commentary: Supplementary Specification 88
NextGen Example: (Partial) Vision 91
Commentary: Vision 93
NextGen Example: A (Partial) Glossary 98
Commentary: Glossary (Data Dictionary) 99
Reliable Specifications: An Oxymoron? 100
Online Artifacts at the Project Website 101
Not Much UML During Inception? 101
Other Requirement Artifacts Within the UP 101
Further Readings 104
UP Artifacts and Process Context 105
8 From Inception to Elaboration 107
Checkpoint: What Happened in Inception? 108
On to Elaboration 109
Planning the Next Iteration 110
Iteration 1 Requirements and Emphasis: Fundamental OOA/D Skills 112

293 | P a g e
What Artifacts May Start in Elaboration? 118
You Know You Didn't Understand Elaboration When... 114
PART III ELABORATION ITERATION 1
9 Use-Case Model: Drawing System Sequence Diagrams 117
System Behavior 118
System Sequence Diagrams 118
Example of an SSD 119
Inter-System SSDs 120
SSDs and Use Cases 120
System Events and the System Boundary 120
Naming System Events and Operations 121
Showing Use Case Text 122
SSDs and the Glossary 122
SSDs Within the UP 123
Further Readings 124
UP Artifacts 125
10 Domain Model: Visualizing Concepts 127
Domain Models 128
Conceptual Class Identification 132
Candidate Conceptual Classes for the Sales Domain 136
Domain Modeling Guidelines 137
Resolving Similar Conceptual Classes—Register vs. "POST" 139
Modeling the Unreal World 140
Specification or Description Conceptual Classes 140
UML Notation, Models, and Methods: Multiple Perspectives 144
Lowering the Representational Gap 146
Example: The NextGen POS Domain Model 148
Domain Models Within the UP 148
Further Readings 150
viii
TABLE OF CONTENTS
UP Artifacts 151
11 Domain Model: Adding Associations 153
Associations 153
The UML Association Notation 154
Finding Associations—Common Associations List 155
Association Guidelines 157

294 | P a g e
Roles 157
How Detailed Should Associations Be? 159
Naming Associations 160
Multiple Associations Between Two Types 161
Associations and Implementation 161
NextGen POS Domain Model Associations 162
NextGen POS Domain Model 163
12 Domain Model: Adding Attributes 167
Attributes 167
UML Attribute Notation 168
Valid Attribute Types 168
Non-primitive Data Type Classes 170
Design Creep: No Attributes as Foreign Keys 172
Modeling Attribute Quantities and Units 173
Attributes in the NextGen Domain Model 174
Multiplicity from SalesLineltem to Item 175
Domain Model Conclusion 175
13 Use-Case Model: Adding Detail with Operation Contracts 177
Contracts 177
Example Contract: enterltem 178
Contract Sections 179
Post conditions 179
Discussion—enterltem Post conditions 182
Writing Contracts Leads to Domain Model Updates 183
When Are Contracts Useful? Contracts vs. Use Cases? 183
Guidelines: Contracts 184
NextGen POS Example: Contracts 185
Changes to the Domain Model 186
Contracts, Operations, and the UML 186
Operation Contracts Within the UP 188
Further Readings 191
14 From Requirements to Design in this Iteration 193
Iteratively Do the Right Thing, Do the Thing Right 193
Didn't That Take Weeks to Do? No, Not Exactly. 194 On
to Object Design 194
15 Interaction Diagram Notation 197
Sequence and Collaboration Diagrams 198 Example

295 | P a g e
Collaboration Diagram: make Payment 199 Example
Sequence Diagram: make Payment 200 Interaction
Diagrams Are Valuable 200 Common Interaction
Diagram Notation 201 Basic Collaboration Diagram
Notation 202 Basic Sequence Diagram Notation 208
16 GRASP: Designing Objects with Responsibilities 215
Responsibilities and Methods 216
Responsibilities and Interaction Diagrams
217 Patterns 218
TABLE OF CON T EN Ts
GRASP: Patterns of General Principles in Assigning Responsibilities 219
The UML Class Diagram Notation 220
Information Expert (or Expert) 221
Creator 226
Low Coupling '229
High Cohesion 232
Controller 237
Object Design and CRC Cards 245
Further Readings 246
17 Design Model: Use-Case Realizations with GRASP Patterns 247
Use-Case Realizations 248
Artifact Comments 249
Use-Case Realizations for the NextGen Iteration 2.52
Object Design: makeNewSale 253
Object Design: Enter-Item 255
Object Design: end Sale 260
Object Design: make Payment 264
Object Design: startup 269
Connecting the UI Layer to the Domain Layer 273
Use-Case Realizations Within the UP 276
Summary 278
18 Design Model: Determining Visibility 279
Visibility Between Objects 279
Visibility 280
Illustrating Visibility in the UML 284
19 Design Model: Creating Design Class Diagrams 285
When to Create DCDs 285

296 | P a g e
Example DCD 286
DCD and UP Terminology 286
Domain Model vs. Design Model Classes 287
Creating a NextGen POS BCD 287
Notation for Member Details 296
DCDs, Drawing, and CASE Tools 298
DCDs Within the UP 298
UP Artifacts 299
20 Implementation Model: Mapping Designs to Code 301
Programming and the Development Process 302
Mapping Designs to Code 304
Creating Class Definitions from DCDs 304
Creating Methods from Interaction Diagrams 307
Container/Collection Classes in Code 309
Exceptions and Error Handling 309
Defining the Sale--makeLineItem Method 310
Order of Implementation 311
Test-First Programming 311
Summary of Mapping Designs to Code 313
Introduction to the Program Solution 313
PART IV ELABORATION ITERATION 2
21 Iteration 2 and its Requirements 319
Iteration 2 Emphasis: Object Design and Patterns
319 From Iteration 1 to 2 319 Iteration
TABLE OF CONTENTS
Refinement of Analysis-oriented Artifacts in this Iteration 322
22 GRASP: More Patterns for Assigning Responsibilities 325
Polymorphism 326 Pure
Fabrication 329
Indirection 332
Protected Variations
334
23 Designing Use-Case Realizations with GoF Design Patterns 341
Adapter (GoF) 342
"Analysis" Discoveries During Design: Domain Model 345
Factory (GoF) 346
Singleton (GoF) 348

297 | P a g e
Conclusion of the External Services with Varying Interfaces Problem 352
Strategy (GoF) 353
Composite (GoF) and Other Design Principles 358
Facade (GoF) 368
Observer/Publish-Subscribe/Delegation Event Model (GoF) 372
Conclusion 380
Further Readings 380
PART V ELABORATION ITERATION 3
24 Iteration 3 and Its Requirements 383
Iteration 3 Requirements
383 Iteration 3 Emphasis
383
25 Relating Use Cases 385
The include Relationship 386
Terminology: Concrete, Abstract, Base, and Addition Use Cases 388
The extend Relationship 389
The generalize Relationship 390
Use Case Diagrams 391
26 Modeling Generalization 393
New Concepts for the Domain Model 393
Generalization 396
Defining Conceptual Super classes and Subclasses 397
When to Define a Conceptual Subclass 400
When to Define a Conceptual Superclass 403
NextGen POS Conceptual Class Hierarchies 403
Abstract Conceptual Classes 406
Modeling Changing States 408
Class Hierarchies and Inheritance in Software 409
27 Refining the Domain Model 411
Association Classes 411
Aggregation and Composition 414
Time Intervals and Product Prices—Fixing an Iteration 1 "Error" 418
Association Role Names 419
Roles as Concepts vs. Roles in Associations 420
Derived Elements 421
Qualified Associations 422
Reflexive Associations 423

298 | P a g e
Ordered Elements 423
Using Packages to Organize the Domain Model 423
28 Adding New SSDs and Contracts 431
New System Sequence Diagrams 431
New System Operations 433
New System Operation Contracts 434
29 Modeling Behavior in Statechart Diagrams 437
Events, States, and Transitions 437
Statechart Diagrams 438
Statechart Diagrams in the UP? 439
Use Case Statechart Diagrams 439
Use Case Statechart Diagrams for the POS Application 441
Classes that Benefit from Statechart Diagrams 441
Illustrating External and Internal Events 443
Additional Statechart Diagram Notation 444
Further Readings 446
30 Designing the Logical Architecture with Patterns 447
Software Architecture 448 Architectural
Pattern: Layers 450 The Model-View
Separation Principle 471 Further Readings
474
31 Organizing the Design and Implementation Model Packages 475
Package Organization Guidelines 476
More UML Package Notation 482
Further Readings 483
32 Introduction to Architectural Analysis and the SAD 485
Architectural Analysis 486
Types and Views of Architecture 488
The Science: Identification and Analysis of Architectural Factors
488
Example: Partial NextGen POS Architectural Factor Table 491
The Art: Resolution of Architectural Factors 493
Summary of Themes in Architectural Analysis 499
Architectural Analysis within the UP 500
Further Readings 505
33 Designing More Use-Case Realizations with Objects and Patterns
507

299 | P a g e
Failover to Local Services; Performance with Local Caching 507
Handling Failure 512
Failover to Local Services with a Proxy (GoF) 519 Designing for
Non-Functional or Quality Requirements 523 Accessing External
Physical Devices with Adapters; Buy vs. Build 523 Abstract Factory
(GoF) for Families of Related Objects 525 Handling Payments with
Polymorphism and Do It Myself 528 Conclusion 535
34 Designing a Persistence Framework with Patterns 537
The Problem: Persistent Objects 538
The Solution: A Persistence Service from a Persistence Framework 538
Frameworks 539
Requirements for the Persistence Service and Framework 540
Key Ideas 540
Pattern: Representing Objects as Tables 541
UML Data Modeling Profile 541
Pattern: Object Identifier 542
Accessing a Persistence Service with a Facade 543
Mapping Objects: Database Mapper or Database Broker Pattern 543
Framework Design with the Template Method Pattern 546
Materialization with the Template Method Pattern 546
Configuring Mappers with a Mapper Factory 552
Pattern: Cache Management 552
Consolidating and Hiding SQL Statements in One Class 553
xii
TABLE OF CONTENTS
29 Modeling Behavior in Statechart Diagrams 437
Events, States, and Transitions 437
Statechart Diagrams 438
Statechart Diagrams in the UP? 439
Use Case Statechart Diagrams 439
Use Case Statechart Diagrams for the POS Application 441
Classes that Benefit from Statechart Diagrams 441
Illustrating External and Interval Events 443
Additional Statechart Diagram Notation 444
Further Readings 446
30 Designing the Logical Architecture with Patterns 447
Software Architecture 448 Architectural

300 | P a g e
Pattern: Layers 450 The Model-View
Separation Principle 471 Further Readings
474
31 Organizing the Design and Implementation Model Packages 475
Package Organization Guidelines 476
More UML Package Notation 482
Further Readings 483
32 Introduction to Architectural Analysis and the SAD 485
Architectural Analysis 486
Types and Views of Architecture 488
The Science: Identification and Analysis of Architectural Factors
488
Example: Partial NextGen POS Architectural Factor Table 491
The Art: Resolution of Architectural Factors 493
Summary of Themes in Architectural Analysis 499
Architectural Analysis within the UP 500
Further Readings 505
33 Designing More Use-Case Realizations with Objects and Patterns
507
Failover to Local Services; Performance with Local Caching 507
Handling Failure 512
Failover to Local Services with a Proxy (GoF) 519 Designing for
Non-Functional or Quality Requirements 523 Accessing External
Physical Devices with Adapters; Buy vs. Build 523 Abstract Factory
(GoF) for Families of Related Objects 525 Handling Payments with
Polymorphism and Do It Myself 528 Conclusion 535
34 Designing a Persistence Framework with Patterns 537
The Problem: Persistent Objects 538
The Solution: A Persistence Service from a Persistence Framework 538
Frameworks 539
Requirements for the Persistence Service and Framework 540
Key Ideas 540
Pattern: Representing Objects as Tables 541
UML Data Modeling Profile 541
Pattern: Object Identifier 542
Accessing a Persistence Service with a Facade 543
Mapping Objects: Database Mapper or Database Broker Pattern 543

301 | P a g e
Framework Design with the Template Method Pattern 546
Materialization with the Template Method Pattern 546
Configuring Mappers with a MapperFactory 552
Pattern: Cache Management 552
Consolidating and Hiding SQL Statements in One Class 553
xii
TABLE OF CONTENTS
Transactional States and the State Pattern 554 Designing
a Transaction with the Command Pattern 556 Lazy
Materialization with a Virtual Proxy 559 How to Represent
Relationships in Tables 562 PersistentObject Superclass and
Separation of Concerns 563 Unresolved Issues 564
PART VI SPECIAL TOPICS
35 On Drawing and Tools 567
On Speculative Design and Visual Thinking 567
Suggestions for UML Drawing Within the Development Process 568
Tools and Sample Features 571
Example Two 573
36 Introduction to Iterative Planning and Project Issues 575
Ranking Requirements 576
Ranking Project Risks 579
Adaptive vs. Predictive Planning 579
Phase and Iteration Plans 581
Iteration Plan: What to Do in the Next Iteration? 582
Requirements Tracking Across Iterations 583
The (Invalidity of Early Estimates 585
Organizing Project Artifacts 585
Some Team Iteration Scheduling Issues 586
You Know You Didn't Understand Planning in the UP When... 588
Further Readings 588
37 Comments on Iterative Development and the UP 589
Additional UP Best Practices and Concepts 589
The Construction and Transition Phases 591
Other Interesting Practices 592
Motivations for Time boxing an Iteration 593
The Sequential "Waterfall" Lifecycle 593
Usability Engineering and User Interface Design 599

302 | P a g e
The UP Analysis Model 599
The RUP Product 600
The Challenge and Myths of Reuse 601
38 More UML Notation 603
General Notation 603
Implementation Diagrams 604
Template (Parameterized, Generic) Class 606
Activity Diagrams 607

303 | P a g e
Cours
IT 320 Système de Gestion de Contenu
1. Objectifs du cours
Conception et utilisation de systèmes de gestion de contenu (CMS) pour gérer les supports
numériques non structurés dans toute l'entreprise, simplifier la publication du contenu Web et
localiser et lier le contenu à tous les niveaux d'une organisation. La discussion portera sur les
utilisateurs clés, leurs rôles et responsabilités, le flux de travail collaboratif et la gestion des
versions. Les étudiants se familiariseront avec les systèmes de gestion de contenu disponibles,
concevront un site Web axé sur les bases de données, axé sur la séparation de la couche
sémantique du contenu et la mise en œuvre d'un système utilisant divers logiciels libres.
Les étudiants pourront :
 Définir les concepts de base des systèmes de gestion de contenu.
 Indiquez comment les CMS sont modifiés et améliorés grâce à des plug-ins, des
modèles et des modules.
 Expliquez comment utiliser les meilleures pratiques pour trouver, évaluer et installer les
plug-ins, modules et thèmes du CMS.
 Expliquer comment installer et gérer le contenu dans un environnement de CMS.
 Expliquez comment la sécurité basée sur les rôles fonctionne dans un environnement de
CMS.
 Maîtriser le clonage de sites WordPress et la migration de sites.
 Démontrer leur capacité à utiliser des techniques de conception de CMS pour créer du
contenu.
 Démontrer leur capacité à utiliser PHP et SQL pour créer et déployer des plugins
WordPress personnalisés fonctionnels.
 Démontrer la maîtrise de la taxonomie et du vocabulaire dans un environnement de
gestion de contenu.
 Expliquez comment les types de données personnalisés sont utilisés dans un système
CMS.
 Maîtriser les systèmes de gestion de contenu examinés dans cette classe.
 Maîtriser les paramètres de base de l’optimisation des moteurs de recherche (SEO) pour
les sites Web de la CMS.
 Maîtriser les techniques de base de la sécurité des sites CMS.
 Maîtriser les flux de données de base dans Drupal .
 Évaluer l’efficacité de différents systèmes de gestion de la configuration, en citant les
points forts et en formulant des recommandations sur le moment et la manière de les
utiliser.

304 | P a g e
2. Concepts technologiques couverts par le cours
 Création des environnements de développement WordPress et PHP
 Introduction à PHP : balises de début et de fin, variables, commentaires, terminateurs
d’instruction
 Dépannage des erreurs PHP
 Extension de WordPress via les plugins et les thèmes : FAQ, Google Maps, Formulaire
de contact
 Création de formulaires sur votre site WP
 Comment configurer et installer un plugin personnalisé WP
 Sécurité WordPress - Introduction
 SGBD phpMyAdmin –introduction et aperçu détaillé
 Importation de tables SQL - SGBDR phpMyAdmin et Bash en ligne de commande
 Langage de requête structurée (SQL): Introduction à SQL
 Instructions SQL: désactiver, insérer, mettre à jour et supprimer
 Introduction à Drupal 7
3. Pré-requis
CONDITIONS PRÉALABLES: CSC 241or IT 211 or IT 231 or IT 238 or CSC 243.

4. Proposition de découpage du cours

Semaine Sujet Lecture requise

305 | P a g e
Semaine 1 Module 1  Introduction to CMS – Core concepts defined
 What is content? What is data?
 Review of DePaul D2L (CMS) – Organization and
location of class materials
 Review of Assignement submission templates
 How to submit assignments in D2L
 Rubric review and how to confirm your grade
 How to select your domain and web host – Host
requirements and costs
 Signup for a free one year Site Ground web hosted
account
 Signup for free Cloud9 web account
 IT320 – Class overview of assignments, grading, due
dates, expectations.
 Getting help with class assignments
 Site Ground Web host how to demos (cPanel, One-
Click Install, File Manager, Database Manager,
Email)
 Site Ground – Demo on how to build an In-Directory
WordPress site
 Pantheon demo – WordPress site building demo
 Cloud9 how do demo: How to build WordPress &
PHP development environments
 Introduction to PHP: Start and end tags, Variables,
comments, statement terminators
Troubleshooting PHP errors on topics covered to date
Semaine 2 Module 2 Class Topics :
 WordPress – Review of WordPress
 Extending WordPress through Plugins and Themes:
FAQ, Google Maps, Contact Form
 WordPress plugins best practices
 PHP :
o String concatenation operator & HTML
formatted output
o Arithmetic operators
o Troubleshooting PHP errors on topics covered
to date

Semaine 3 Module 3  Extending WordPress with Themes and Plugins


continued
 WordPress SEO Settings

306 | P a g e
 WordPress site cloning and site migration best
practices
 PHP :
o Compare vs. Assign operator
o Change control statements (IF-THEN-ELSE)
o Functions (part1) format, syntax, calling and
testing

307 | P a g e
Semaine 4 Module 4  WordPress Plugins continued: Link list, Event
Calendar
 Creating Forms on your WP site
 WordPress security best practices
 PHP :
o Index arrays
o Iteration (for and for each for index arrays)
o Functions (Part 2) augments, optional
arguments, default arguments, handling
returns
o Prewritten functions : Gettype, Sizeof
o Introduction to Object Oriented PHP

Semaine 5  WordPress – How to configure and install a WP


Module 5 Custom Plugin
 WordPress Security – introduction
 WordPress Plugin : GitHub
 RDBMS phpMyAdmin –introduction & detailed
overview
 Importing SQL tables – RDBMS phpMyAdmin and
Bash command line
 Structured Query Language (SQL): Introduction to
SQL
 SQL Statements: Select, Insert, Update, and Delete
 PHP :
o Associative Arrays
o Iteration (for and for each for associative
arrays)
o Functions (part 3) pass by ref, pass by value
o Prewritten functions: Date, Trim, Money, Var
Export
o PHP Database examples in WordPress
custom plugin
o PHP: Object oriented PHP - Classes and
objects

Semaine 6 Module 6  Introduction to Drupal 7


 Creating Drupal 7 sites on SiteGround,
Codeanywhere and Cloud9 webhosts
 Understanding Drupal 7 Core
 The Drupal 7 Admin Interface

308 | P a g e
 Introduction to Drupal 7 themes and menus
 Review of the top free Drupal 7 responsive themes
 Introduction to creating Drupal 7 content
 Extending the Drupal 7 Admin menu through contrib.
modules.
 PHP : Prewritten Functions : Money

309 | P a g e
Semaine 7 Module 7  Understanding Drupal 7 Core and Contrib. Modules.
 Extending Drupal 7 images types adding type
adaptive.
 Introduction to Extending Drupal 7 using Contrib.
Modules
o Drupal 7 Frequently Asked Questions Module
(CONTRIB.)
o Drupal 7 Links Module
o Drupal 7 DownloadFIle Module
o Drupal 7 Simple Google Map Module
 Introduction to Extending Druapl7 using Core
modules
o Drupal 7 Contact Us Form (CORE)
 How to remove and delete Drupal7 Contib modules
 More on Drupal 7 menus

Semaine 8 Examples with  Introduction to Drupal 7 taxonomy, vocabulary, and


relations and terms
migrations  Introduction to Drupal Views
 Introduction to Drupal Security & Privacy
 How to add menu blocks to a Drupal 7 site
 How to configure secure file downloads with Drupal 7
PHP: (Real world examples) WordPress Custom
Dashboard Plugin
Semaine 9 Session variables,  How to extend the Drupal Admin Tool bar
authentication  How to verify that Registered/Authenticated Users
can log off your Drupal 7 site
 Drupal 7 Content (Node) Privacy
 How to Secure Drupal 7 Menu items
 How to Secure Drupal 7 File Downloads
 Introduction to Drupal 7 Custom Modules
 Drupal 7 Web Forms

Semaine 10 Other Framework,  The Cheat – How to build Drupal 7 sites quickly
advanced topics  Importing structures, views and data feed importers
 The Drupal 7 Backup and Migrate module

Semaine 11  No Class – office Hours only

 Final Project Due – Module 11 – Check D2L for due

310 | P a g e
dates and times

5. Manuels de cours
Aucun manuel n'est requis pour ce cours. L'instructeur fournira tout le matériel nécessaire.

6. Sommaire du manuel de cours de référence

Cours
IT 232 Développement Web II

311 | P a g e
1. Objectifs du cours
Développement Web intermédiaire basé sur un framework. Les étudiants conçoivent et
développent des applications Web prenant en charge le réseautage social, le partage de
contenu et la fonctionnalité pour répondre aux besoins de l'entreprise et de l'organisation.
Les concepts Web incluent AJAX, la mise en cache côté serveur et les menaces de
sécurité. Application de concepts orientés objet.
À la fin du cours, les étudiants pourront :

Concevoir et développer une application Web à l'aide de plusieurs tables


Implémenter des schémas communs pour l'authentification et l'autorisation des utilisateurs
Appliquer des principes orientés objet pour personnaliser un modèle de données
Créer des applications Internet riches en utilisant Ajax
Tester systématiquement une application Web
Identifier et résoudre les menaces de sécurité
Améliorer les performances de l'application
Déployer une application Web
Lire la documentation technique (API) pour apprendre de nouvelles méthodes

2. Concepts technologiques couverts par le cours


• MVC et ORM
• Base de données CRUD & échafaudage ; Plus de modélisation
• Rechercher des échafaudages améliorés ; Contrôleurs personnalisés
• Vues personnalisées à l'aide de contrôleurs personnalisés ; Tests, migrations et
déploiement de base
• Sessions, cookies et suivi des utilisateurs
• Autorisation et authentification améliorées
• Techniques d'authentification et d'autorisation tierces et complexes
• Formulaires et vues améliorées ; AJAX, JSON et les technologies d'interface utilisateur
associées
• Déploiement d'applications et hébergement ; Développement d'équipe et gestion des
révisions GITHUB

312 | P a g e
3. Pré-requis
CONDITIONS PRÉALABLES : IT 231 and IT 211

4. Proposition de découpage du cours


 Week 1 Design and develop a web application using multiple tables
 Week 2 Implement common schemes for user authentication and authorization
 Week 3 Apply object-oriented principles to customize a data model
 Week 4 Create rich internet applications using Ajax
 Week 5 Systematically test a web application
 Week 6 Identify and address security threats
 Week 7 Improve application performance
 Week 8 Deploy a web application
 Week 9 Read technical documentation (APIs) to learn new methods

5. Manuels de cours
Manuel de référence
Agile Web Development with Rails 5.1
By: Dave Thomas; David B. Copeland; Sam Ruby
Broché : 450 pages
Editeur : Pragmatic Bookshelf (5 décembre 2017)
Langue : Anglais
ISBN-10 : 1680502514
ISBN-13 : 978-1680502510

6. Sommaire du manuel de cours de référence

313 | P a g e
Getting Started

Installing Rails

Installing on Cloud9

Installing on a Virtual Machine

Installing on Windows

Installing on Mac OS X

Installing on Linux

Choosing a Rails Version

Setting Up Your Development Environment

Rails and Databases

Instant Gratification

Creating a New Application

Hello, Rails! excerpt

Linking Pages Together

When Things Go Wrong

The Architecture of Rails Applications

Models, Views, and Controllers

Rails Model Support

Action Pack: The View and Controller

Introduction to Ruby

Ruby Is an Object-Oriented Language

Data Types

Logic

Organizing Structures

314 | P a g e
Marshaling Objects

Pulling It All Together

Ruby Idioms

Building an Application

The Depot Application

Incremental Development

What Depot Does

Let’s Code

Task A: Creating the Application

Iteration A1: Creating the Product Maintenance Application

Iteration A2: Making Prettier Listings

Task B: Validation and Unit Testing

Iteration B1: Validating!

Iteration B2: Unit Testing of Models

Task C: Catalog Display

Iteration C1: Creating the Catalog Listing

Iteration C2: Adding a Page Layout

Iteration C3: Using a Helper to Format the Price

Iteration C4: Functional Testing of Controllers

Iteration C5: Caching of Partial Results

What We Just Did

Task D: Cart Creation

Iteration D1: Finding a Cart

Iteration D2: Connecting Products to Carts

315 | P a g e
Iteration D3: Adding a Button

Task E: A Smarter Cart

Iteration E1: Creating a Smarter Cart

Iteration E2: Handling Errors

Iteration E3: Finishing the Cart

Task F: Add a Dash of Ajax

Iteration F1: Moving the Cart

Iteration F2: Creating an Ajax-Based Cart

Iteration F3: Highlighting Changes

Iteration F4: Hiding an Empty Cart

Iteration F5: Broadcasting Updates with Action Cable

Task G: Check Out!

Iteration G1: Capturing an Order

Iteration G2: Atom Feeds

Task H: Entering Additional Payment Details excerpt

Iteration H1: Adding Fields Dynamically to a Form

Iteration H2: Testing our JavaScript Functionality

Task I: Sending Mail

Iteration I1: Sending Confirmation Emails

Iteration I2: Integration Testing of Applications

Task J: Logging In

Iteration J1: Adding Users

Iteration J2: Authenticating Users

Iteration J3: Limiting Access

316 | P a g e
Iteration J4: Adding a Sidebar, More Administration

Task K: Internationalization

Iteration K1: Selecting the Locale

Iteration K2: Translating the Storefront

Iteration K3: Translating Checkout

Iteration K4: Add a Locale Switcher

Task L: Deployment and Production

Iteration L1: Deploying with Phusion Passenger and MySQL

Iteration L2: Deploying Remotely with Capistrano

Iteration L3: Checking Up on a Deployed Application

Depot Retrospective

Rails Concepts

Documenting What We’ve Done

Rails in Depth

Finding Your Way Around Rails excerpt

Where Things Go

Naming Conventions

Active Record

Defining Your Data

Locating and Traversing Records

Creating, Reading, Updating, and Deleting (CRUD)

Participating in the Monitoring Process

Transactions

Action Dispatch and Action Controller

317 | P a g e
Dispatching Requests to Controllers

Processing of Requests

Objects and Operations That Span Requests

Action View

Using Templates

Generating Forms

Processing Forms

Uploading Files to Rails Applications

Using Helpers

Reducing Maintenance with Layouts and Partials

Migrations

Creating and Running Migrations

Anatomy of a Migration

Managing Tables

Advanced Migrations

When Migrations Go Bad

Schema Manipulation Outside Migrations

Nonbrowser Applications

A Stand-Alone Application Using Active Record

A Library Function Using Active Support

Rails’ Dependencies

Generating XML with Builder

Generating HTML with ERB

Managing Dependencies with Bundler

318 | P a g e
Interfacing with the Web Server with Rack

Automating Tasks with Rake

Survey of Rails’ Dependencies

Rails Plugins

Credit Card Processing with Active Merchant

Beautifying Our Markup with Haml

Pagination

Additional Plugins worth Exploring

319 | P a g e
Cours
MGT 201 Développement Personnel

1. Objectifs du cours
L’objectif global est le sentiment de se réaliser pleinement, d’être bien en soi, de progresser
vers les objectifs que l’on s’est soi-même fixé. En cela, le développement personnel est une
démarche d’auto-construction où la personne prend en charge de façon volontaire son
propre perfectionnement :
• soit en autonomie totale (lectures, écriture, réflexions…),
• soit en se faisant accompagner (coach, club de perfectionnement…).

2. Concepts technologiques couverts par le cours

3. Pré-requis

4. Proposition de découpage du cours

5. Manuels de cours

6. Sommaire du manuel de cours de référence

320 | P a g e
Cours
MGT 202 Micro – Economie

1. Objectifs du cours
Ce cours d’initiation à la micro-économie vise à doter l’étudiant des outils analytiques
nécessaires pour comprendre le fonctionnement concret des marchés, de la coordination
micro-économique et son analyse par les économistes. Il compare les types de
comportements micro-économiques et les principales institutions de l’économie de marché.
Il analyse l’efficacité et les risques inhérents à la coordination économique par les marchés
ainsi que les principales justifications et limites de la régulation et de l’intervention publiques
sur ces marchés.

2. Concepts technologiques couverts par le cours

3. Pré-requis

4. Proposition de découpage du cours

5. Manuels de cours

6. Sommaire du manuel de cours de référence

321 | P a g e
TROISIEME ANNEE

322 | P a g e
Cours
CSC 374 Programmation Systèmes II

1. Objectifs du cours
Un cours sur les systèmes informatiques, axé sur les composants des systèmes
d'exploitation et leur pertinence pour la programmation d'applications. Mise en cache,
hiérarchie de mémoire, optimisation des performances, liaison, processus, mémoire
virtuelle, allocation de mémoire dynamique, E / S au niveau du système.

2. Concepts technologiques couverts par le cours

3. Pré-requis
CONDITIONS PRÉALABLES : CSC 373

5. Proposition de découpage du cours

323 | P a g e
Semaine Sujet

Semaines 1 For next class: Read Sections 8.1 - 8.4.2 (pp. 701 - 723)
Lecture Quiz Questions
D2L Quizzes: quiz1
Lecture Notes
Remember to take quiz1 on D2L
Lecture Notes
Semaine 2 Reading: Sections 8.4.3 - 8.5.4
Lecture Notes
shell lab intro notes
Semaine 3 Todo: Git and Bitbucket
shell lab step 2

Lab1 intro step due 


Lab1 step 2 due: 
Lab1 hard deadline: 
Some git commands

Semaine 4 Quiz Questions


D2L Quizzes: quiz 2
shell lab step 3
Lecture Notes

Semaine 5 Lecture Notes


Reading: 9.1 - 9.4
Reading: 9.5 - 9.6

Semaine 6 Midterm Review 


Midterm Review Answers
Online midterm will be posted:
Reading: 9.9.1 - 9.9.6
Semaine 7 Reading: 9.9.1 - 9.9.6
Online Midterm Exam 

Problems Next class: 9.11, 9.12, 9.13, 9.15 (not turned in)


Lecture Notes

Semaine 8 Midterm Results

324 | P a g e
Quiz Questions
D2L Quizzes: quiz 3
Semaine 9 Midterm solutions
lab2 tar file
lab2 implementation guide
Step 1: to keep on track (push to bitbucket)
Hints on writing the lab2 macros
Remember quiz 3:
Reading: sections 9.8 and 9.9
Finish and submit (push) step1, start step2 of lab2
Semaine 10 Malloc Lab Tools, etc. Online Quiz 4 
Check your answers for quiz4 New!

Reading today's lecture: Chapter 10


Remaining course reading: chapter 11, 12.1 and 12.3
Lecture Notes
Lecture Notes
Semaine 11 Exam Review

5. Manuels de cours
Manuel de référence

Computer Systems: A Programmer's Perspective (3rd Edition)


3rd Edition
by Randal E. Bryant (Author), David R. O’Halloran (Author)
Hardcover: 1128 pages
Publisher: Pearson; 3 edition (March 12, 2015)
Language: English
ISBN-10: 013409266X
ISBN-13: 978-0134092669
Manuels recommandés

Programming in C (4th Edition) (Developer's Library) 4th Edition


by Stephen G. Kochan (Author)
Series: Developer's Library

325 | P a g e
Paperback: 544 pages
Publisher: Addison-Wesley Professional; 4 edition (August 28, 2014)
Language : English
ISBN-10 : 0321776410
ISBN-13 : 978-0321776419

326 | P a g e
6.Sommaire du manuel de cours de référence
1
A Tour of Computer Systems 1
1.1 Information Is Bits + Context 3
1.2 Programs Are Translated by Other Programs into Different Forms 4
1.3 It Pays to Understand How Compilation Systems Work 6
1.4 Processors Read and Interpret Instructions Stored in Memory 7
1.4.1 Hardware Organization of a System 7
1.4.2 Running the hello Program 10
1.5 Caches Matter 12
1.6 Storage Devices Form a Hierarchy 13
1.7 The Operating System Man
2.1.4 Addressing and Byte Ordering 39
2.1.5 Representing Strings 46
2.1.6 Representing Code 47
2.1.7 Introduction to Boolean Algebra 48
2.1.8 Bit-Level Operations in C 51
2.1.9 Logical Operations in C 54
2.1.10 Shift Operations in C 54
2.2 Integer Representations 56
2.2.1 Integral Data Types 57
2.2.2 Unsigned Encodings 58
2.2.3 Two’s-Complement Encodings 60
2.2.4 Conversions Between Signed and Unsigned 65
2.2.5 Signed vs. Unsigned in C 69
2.2.6 Expanding the Bit Representation of a Number 71
2.2.7 Truncating Numbers 75
2.2.8 Advice on Signed vs. Unsigned 76
2.3 Integer Arithmetic 79
2.3.1 Unsigned Addition 79
2.3.2 Two’s-Complement Addition 83
2.3.3 Two’s-Complement Negation 87
2.3.4 Unsigned Multiplication 88
2.3.5 Two’s-Complement Multiplication 89
2.3.6 Multiplying by Constants 92
2.3.7 Dividing by Powers of Two 95

327 | P a g e
2.3.8 Final Thoughts on Integer Arithmetic 98
2.4 Floating Point 99
2.4.1 Fractional Binary Numbers 100
2.4.2 IEEE Floating-Point Representation 103
2.4.3 Example Numbers 105
2.4.4 Rounding 110
2.4.5 Floating-Point Operations 113
2.4.6 Floating Point in C 114
2.5 Summary 118
Bibliographic Notes 119
Homework Problems 119
Solutions to Practice Problems 134
3
Machine-Level Representation of Programs 153
3.1 A Historical Perspective 156
3.2 Program Encodings 159
Contents ix
3.2.1 Machine-Level Code 160
3.2.2 Code Examples 162
3.2.3 Notes on Formatting 165
3.3 Data Formats 167
3.4 Accessing Information 168
3.4.1 Operand Specifiers 169
3.4.2 Data Movement Instructions 171
3.4.3 Data Movement Example 174
3.5 Arithmetic and Logical Operations 177
3.5.1 Load Effective Address 177
3.5.2 Unary and Binary Operations 178
3.5.3 Shift Operations 179
3.5.4 Discussion 180
3.5.5 Special Arithmetic Operations 182
3.6 Control 185
3.6.1 Condition Codes 185
3.6.2 Accessing the Condition Codes 187
3.6.3 Jump Instructions and Their Encodings 189
3.6.4 Translating Conditional Branches 193
3.6.5 Loops 197

328 | P a g e
3.6.6 Conditional Move Instructions 206
3.6.7 Switch Statements 213
3.7 Procedures 219
3.7.1 Stack Frame Structure 219
3.7.2 Transferring Control 221
3.7.3 Register Usage Conventions 223
3.7.4 Procedure Example 224
3.7.5 Recursive Procedures 229
3.8 Array Allocation and Access 232
3.8.1 Basic Principles 232
3.8.2 Pointer Arithmetic 233
3.8.3 Nested Arrays 235
3.8.4 Fixed-Size Arrays 237
3.8.5 Variable-Size Arrays 238
3.9 Heterogeneous Data Structures 241
3.9.1 Structures 241
3.9.2 Unions 244
3.9.3 Data Alignment 248
3.10 Putting It Together: Understanding Pointers 252
3.11 Life in the Real World: Using the gdb Debugger 254
3.12 Out-of-Bounds Memory References and Buffer Overflow 256
3.12.1 Thwarting Buffer Overflow Attacks 261
x Contents
3.13 x86-64: Extending IA32 to 64 Bits 267
3.13.1 History and Motivation for x86-64 268
3.13.2 An Overview of x86-64 270
3.13.3 Accessing Information 273
3.13.4 Control 279
3.13.5 Data Structures 290
3.13.6 Concluding Observations about x86-64 291
3.14 Machine-Level Representations of Floating-Point Programs 292
3.15 Summary 293
Bibliographic Notes 294
Homework Problems 294
Solutions to Practice Problems 308
4
Processor Architecture 333

329 | P a g e
4.1 The Y86 Instruction Set Architecture 336
4.1.1 Programmer-Visible State 336
4.1.2 Y86 Instructions 337
4.1.3 Instruction Encoding 339
4.1.4 Y86 Exceptions 344
4.1.5 Y86 Programs 345
4.1.6 Some Y86 Instruction Details 350
4.2 Logic Design and the Hardware Control Language HCL 352
4.2.1 Logic Gates 353
4.2.2 Combinational Circuits and HCL Boolean Expressions 354
4.2.3 Word-Level Combinational Circuits and HCL Integer
Expressions 355
4.2.4 Set Membership 360
4.2.5 Memory and Clocking 361
4.3 Sequential Y86 Implementations 364
4.3.1 Organizing Processing into Stages 364
4.3.2 SEQ Hardware Structure 375
4.3.3 SEQ Timing 379
4.3.4 SEQ Stage Implementations 383
4.4 General Principles of Pipelining 391
4.4.1 Computational Pipelines 392
4.4.2 A Detailed Look at Pipeline Operation 393
4.4.3 Limitations of Pipelining 394
4.4.4 Pipelining a System with Feedback 398
4.5 Pipelined Y86 Implementations 400
4.5.1 SEQ+: Rearranging the Computation Stages 400
Contents xi
4.5.2 Inserting Pipeline Registers 401
4.5.3 Rearranging and Relabeling Signals 405
4.5.4 Next PC Prediction 406
4.5.5 Pipeline Hazards 408
4.5.6 Avoiding Data Hazards by Stalling 413
4.5.7 Avoiding Data Hazards by Forwarding 415
4.5.8 Load/Use Data Hazards 418
4.5.9 Exception Handling 420
4.5.10 PIPE Stage Implementations 423
4.5.11 Pipeline Control Logic 431

330 | P a g e
4.5.12 Performance Analysis 444
4.5.13 Unfinished Business 446
4.6 Summary 449
4.6.1 Y86 Simulators 450
Bibliographic Notes 451
Homework Problems 451
Solutions to Practice Problems 457
5
Optimizing Program Performance 473
5.1 Capabilities and Limitations of Optimizing Compilers 476
5.2 Expressing Program Performance 480
5.3 Program Example 482
5.4 Eliminating Loop Inefficiencies 486
5.5 Reducing Procedure Calls 490
5.6 Eliminating Unneeded Memory References 491
5.7 Understanding Modern Processors 496
5.7.1 Overall Operation 497
5.7.2 Functional Unit Performance 500
5.7.3 An Abstract Model of Processor Operation 502
5.8 Loop Unrolling 509
5.9 Enhancing Parallelism 513
5.9.1 Multiple Accumulators 514
5.9.2 Reassociation Transformation 518
5.10 Summary of Results for Optimizing Combining Code 524
5.11 Some Limiting Factors 525
5.11.1 Register Spilling 525
5.11.2 Branch Prediction and Misprediction Penalties 526
5.12 Understanding Memory Performance 531
5.12.1 Load Performance 531
5.12.2 Store Performance 532
xii Contents
5.13 Life in the Real World: Performance Improvement Techniques 539
5.14 Identifying and Eliminating Performance Bottlenecks 540
5.14.1 Program Profiling 540
5.14.2 Using a Profiler to Guide Optimization 542
5.14.3 Amdahl’s Law 545
5.15 Summary 547

331 | P a g e
Bibliographic Notes 548
Homework Problems 549
Solutions to Practice Problems 552
6
The Memory Hierarchy 559
6.1 Storage Technologies 561
6.1.1 Random-Access Memory 561
6.1.2 Disk Storage 570
6.1.3 Solid State Disks 581
6.1.4 Storage Technology Trends 583
6.2 Locality 586
6.2.1 Locality of References to Program Data 587
6.2.2 Locality of Instruction Fetches 588
6.2.3 Summary of Locality 589
6.3 The Memory Hierarchy 591
6.3.1 Caching in the Memory Hierarchy 592
6.3.2 Summary of Memory Hierarchy Concepts 595
6.4 Cache Memories 596
6.4.1 Generic Cache Memory Organization 597
6.4.2 Direct-Mapped Caches 599
6.4.3 Set Associative Caches 606
6.4.4 Fully Associative Caches 608
6.4.5 Issues with Writes 611
6.4.6 Anatomy of a Real Cache Hierarchy 612
6.4.7 Performance Impact of Cache Parameters 614
6.5 Writing Cache-friendly Code 615
6.6 Putting It Together: The Impact of Caches on Program Performance 620
6.6.1 The Memory Mountain 621
6.6.2 Rearranging Loops to Increase Spatial Locality 625
6.6.3 Exploiting Locality in Your Programs 629
6.7 Summary 629
Bibliographic Notes 630
Homework Problems 631
Solutions to Practice Problems 642
Contents xiii
Part II Running Programs on a System
7

332 | P a g e
Linking 653
7.1 Compiler Drivers 655
7.2 Static Linking 657
7.3 Object Files 657
7.4 Relocatable Object Files 658
7.5 Symbols and Symbol Tables 660
7.6 Symbol Resolution 663
7.6.1 How Linkers Resolve Multiply Defined Global Symbols 664
7.6.2 Linking with Static Libraries 667
7.6.3 How Linkers Use Static Libraries to Resolve References 670
7.7 Relocation 672
7.7.1 Relocation Entries 672
7.7.2 Relocating Symbol References 673
7.8 Executable Object Files 678
7.9 Loading Executable Object Files 679
7.10 Dynamic Linking with Shared Libraries 681
7.11 Loading and Linking Shared Libraries from Applications 683
7.12 Position-Independent Code (PIC) 687
7.13 Tools for Manipulating Object Files 690
7.14 Summary 691
Bibliographic Notes 691
Homework Problems 692
Solutions to Practice Problems 698
8
Exceptional Control Flow 701
8.1 Exceptions 703
8.1.1 Exception Handling 704
8.1.2 Classes of Exceptions 706
8.1.3 Exceptions in Linux/IA32 Systems 708
8.2 Processes 712
8.2.1 Logical Control Flow 712
8.2.2 Concurrent Flows 713
8.2.3 Private Address Space 714
8.2.4 User and Kernel Modes 714
8.2.5 Context Switches 716
xiv Contents
8.3 System Call Error Handling 717

333 | P a g e
8.4 Process Control 718
8.4.1 Obtaining Process IDs 719
8.4.2 Creating and Terminating Processes 719
8.4.3 Reaping Child Processes 723
8.4.4 Putting Processes to Sleep 729
8.4.5 Loading and Running Programs 730
8.4.6 Using fork and execve to Run Programs 733
8.5 Signals 736
8.5.1 Signal Terminology 738
8.5.2 Sending Signals 739
8.5.3 Receiving Signals 742
8.5.4 Signal Handling Issues 745
8.5.5 Portable Signal Handling 752
8.5.6 Explicitly Blocking and Unblocking Signals 753
8.5.7 Synchronizing Flows to Avoid Nasty Concurrency Bugs 755
8.6 Nonlocal Jumps 759
8.7 Tools for Manipulating Processes 762
8.8 Summary 763
Bibliographic Notes 763
Homework Problems 764
Solutions to Practice Problems 771
9
Virtual Memory 775
9.1 Physical and Virtual Addressing 777
9.2 Address Spaces 778
9.3 VM as a Tool for Caching 779
9.3.1 DRAM Cache Organization 780
9.3.2 Page Tables 780
9.3.3 Page Hits 782
9.3.4 Page Faults 782
9.3.5 Allocating Pages 783
9.3.6 Locality to the Rescue Again 784
9.4 VM as a Tool for Memory Management 785
9.5 VM as a Tool for Memory Protection 786
9.6 Address Translation 787
9.6.1 Integrating Caches and VM 791
9.6.2 Speeding up Address Translation with a TLB 791

334 | P a g e
9.6.3 Multi-Level Page Tables 792
9.6.4 Putting It Together: End-to-end Address Translation 794
9.7 Case Study: The Intel Core i7/Linux Memory System 799
Contents xv
9.7.1 Core i7 Address Translation 800
9.7.2 Linux Virtual Memory System 803
9.8 Memory Mapping 807
9.8.1 Shared Objects Revisited 807
9.8.2 The fork Function Revisited 809
9.8.3 The execve Function Revisited 810
9.8.4 User-level Memory Mapping with the mmap Function 810
9.9 Dynamic Memory Allocation 812
9.9.1 The malloc and free Functions 814
9.9.2 Why Dynamic Memory Allocation? 816
9.9.3 Allocator Requirements and Goals 817
9.9.4 Fragmentation 819
9.9.5 Implementation Issues 820
9.9.6 Implicit Free Lists 820
9.9.7 Placing Allocated Blocks 822
9.9.8 Splitting Free Blocks 823
9.9.9 Getting Additional Heap Memory 823
9.9.10 Coalescing Free Blocks 824
9.9.11 Coalescing with Boundary Tags 824
9.9.12 Putting It Together: Implementing a Simple Allocator 827
9.9.13 Explicit Free Lists 835
9.9.14 Segregated Free Lists 836
9.10 Garbage Collection 838
9.10.1 Garbage Collector Basics 839
9.10.2 Mark&Sweep Garbage Collectors 840
9.10.3 Conservative Mark&Sweep for C Programs 842
9.11 Common Memory-Related Bugs in C Programs 843
9.11.1 Dereferencing Bad Pointers 843
9.11.2 Reading Uninitialized Memory 843
9.11.3 Allowing Stack Buffer Overflows 844
9.11.4 Assuming that Pointers and the Objects They Point to Are the
Same Size 844
9.11.5 Making Off-by-One Errors 845

335 | P a g e
9.11.6 Referencing a Pointer Instead of the Object It Points to 845
9.11.7 Misunderstanding Pointer Arithmetic 846
9.11.8 Referencing Nonexistent Variables 846
9.11.9 Referencing Data in Free Heap Blocks 847
9.11.10 Introducing Memory Leaks 847
9.12 Summary 848
Bibliographic Notes 848
Homework Problems 849
Solutions to Practice Problems 853
xvi Contents
Part III Interaction and Communication Between
Programs
10
System-Level I/O 861
10.1 Unix I/O 862
10.2 Opening and Closing Files 863
10.3 Reading and Writing Files 865
10.4 Robust Reading and Writing with the Rio Package 867
10.4.1 Rio Unbuffered Input and Output Functions 867
10.4.2 Rio Buffered Input Functions 868
10.5 Reading File Metadata 873
10.6 Sharing Files 875
10.7 I/O Redirection 877
10.8 Standard I/O 879
10.9 Putting It Together: Which I/O Functions Should I Use? 880
10.10 Summary 881
Bibliographic Notes 882
Homework Problems 882
Solutions to Practice Problems 883
11
Network Programming 885
11.1 The Client-Server Programming Model 886
11.2 Networks 887
11.3 The Global IP Internet 891
11.3.1 IP Addresses 893
11.3.2 Internet Domain Names 895
11.3.3 Internet Connections 899

336 | P a g e
11.4 The Sockets Interface 900
11.4.1 Socket Address Structures 901
11.4.2 The socket Function 902
11.4.3 The connect Function 903
11.4.4 The open_clientfd Function 903
11.4.5 The bind Function 904
11.4.6 The listen Function 905
11.4.7 The open_listenfd Function 905
11.4.8 The accept Function 907
11.4.9 Example Echo Client and Server 908
Contents xvii
11.5 Web Servers 911
11.5.1 Web Basics 911
11.5.2 Web Content 912
11.5.3 HTTP Transactions 914
11.5.4 Serving Dynamic Content 916
11.6 Putting It Together: The Tiny Web Server 919
11.7 Summary 927
Bibliographic Notes 928
Homework Problems 928
Solutions to Practice Problems 929
12
Concurrent Programming 933
12.1 Concurrent Programming with Processes 935
12.1.1 A Concurrent Server Based on Processes 936
12.1.2 Pros and Cons of Processes 937
12.2 Concurrent Programming with I/O Multiplexing 939
12.2.1 A Concurrent Event-Driven Server Based on I/O
Multiplexing 942
12.2.2 Pros and Cons of I/O Multiplexing 946
12.3 Concurrent Programming with Threads 947
12.3.1 Thread Execution Model 948
12.3.2 Posix Threads 948
12.3.3 Creating Threads 950
12.3.4 Terminating Threads 950
12.3.5 Reaping Terminated Threads 951
12.3.6 Detaching Threads 951

337 | P a g e
12.3.7 Initializing Threads 952
12.3.8 A Concurrent Server Based on Threads 952
12.4 Shared Variables in Threaded Programs 954
12.4.1 Threads Memory Model 955
12.4.2 Mapping Variables to Memory 956
12.4.3 Shared Variables 956
12.5 Synchronizing Threads with Semaphores 957
12.5.1 Progress Graphs 960
12.5.2 Semaphores 963
12.5.3 Using Semaphores for Mutual Exclusion 964
12.5.4 Using Semaphores to Schedule Shared Resources 966
12.5.5 Putting It Together: A Concurrent Server Based on
Prethreading 970
12.6 Using Threads for Parallelism 974
xviii Contents
12.7 Other Concurrency Issues 979
12.7.1 Thread Safety 979
12.7.2 Reentrancy 980
12.7.3 Using Existing Library Functions in Threaded Programs 982
12.7.4 Races 983
12.7.5 Deadlocks 985
12.8 Summary 988
Bibliographic Notes 989
Homework Problems 989
Solutions to Practice Problems 994

338 | P a g e
Cours
CSC 376 Les Systèmes Répartis

1. Objectifs du cours
Une introduction aux systèmes distribués. Les sujets peuvent inclure : l'architecture des
systèmes distribués ; la mise en réseau ; protocoles orientés datagramme et orientés flux ;
programmation réseau (par exemple, l'API sockets); appel de procédure à distance et
invocation de méthode à distance; processus et threads; migration de code; agents logiciels;
nommage d'entités non mobiles et mobiles; cryptographie et sécurité.

2. Concepts technologiques couverts par le cours


 Systèmes distribués en action ; examen de la programmation Java de base
 Programmation de sockets synchrones
 Programmation de sockets synchrones
 Comment Internet fonctionne
 Protocoles réseau : IP, TCP et UDP
 Programmation asynchrone
 Invocation de méthode à distance
 Protocoles au niveau de l'application : http ; Protocoles de niveau d’application :
 Evolutivité et grands systèmes
 Applications peer to peer: BitTorrent,
 Injection SQL de sécurité ; Sécurité

3. Pré-requis
CONDITIONS PRÉALABLES : (CSC 301 or CSC 383 or CSC 393) and CSC 374.

339 | P a g e
Week Topics
Week 1 Distributed systems in action; review of basic Java programming
Synchronous sockets programming
Week 2 Synchronous sockets programming (cont.);
Application Level Protocols intro;
networking basics and tools
Networking basics and tools (cont.); local networks
Week 3 How the Internet Works; discussion on group projects
How the Internet Works (cont.); discussion on group projects
Week 4 Networking protocols: IP, TCP, and UDP; discussion on group
projects
Asynchronous programming: Threading and concurrency,
selecting on a socket, asynchronous I/O; Data Streams;
discussion on group projects
Week 5 Asynchronous programming: selecting on a socket, asynchronous
I/O (cont.); NAT and firewalls; discussion on group projects
NAT and firewalls (cont.); discussion on group projects
Week 6 Remote Method Invocation(RMI); review for Midterm Exam
Midterm Exam
Week 7 Application Level Protocols: HTTP; Application Level Protocols:
Wire protocol for a database server; discussion on group projects
Application Level Protocols: Wire protocol for a database server
(cont.); discussion on group projects
Week 8 Scalability and large systems: failover and disk arrays; content
servers: Akamai; cloud computing; discussion on group projects
Cloud computing (cont.); Peer to Peer Applications: BitTorrent,
WebRTC; discussion on group projects
Week9 Peer to Peer Applications: BitTorrent, WebRTC (cont.)
Non-IP based distributed systems: Cellular data; discussion on
group projects
Week 10 Security SQL Injection; Security: HTML and Cross Site Scripting
(XSS)
Final lecture: Security: Authentication and Public Key
Infrastructure; discussion on group projects

340 | P a g e
5. Manuels de cours
Manuel de référence
Java Network Programming, 4th Edition
By Elliotte Harold
Broché : 502 pages
Editeur: O′Reilly; Édition: 4th Revised edition (11 octobre 2013)
Langue : Anglais
ISBN-10 : 1449357679
ISBN-13 : 978-1449357672

6. Sommaire du manuel de cours de référence


1. Chapter 1 Basic Network Concepts
1. NETWORKS
2. THE LAYERS OF A NETWORK
3. IP, TCP, AND UDP
4. THE INTERNET
5. THE CLIENT/SERVER MODEL
6. INTERNET STANDARDS

2. Chapter 2 Stream

1. OUTPUT STREAMS
2. INPUT STREAMS
3. FILTER STREAMS
4. READERS AND WRITERS

3. Chapter 3 Threads
1. RUNNING THREADS
2. RETURNING INFORMATION FROM A THREAD
3. SYNCHRONIZATION
4. DEADLOCK
5. THREAD SCHEDULING
6. THREAD POOLS AND EXECUTORS

4. Chapter 4 Internet Adresses


1. THE INETADDRESS CLASS
2. INET4ADDRESS AND INET6ADDRESS
3. THE NETWORKINTERFACE CLASS

341 | P a g e
4. SOME USEFUL PROGRAMS

5. Chapter 5 URLs and URIs


1. URIS
2. THE URL CLASS
3. THE URI CLASS
4. X-WWW-FORM-URLENCODED
5. PROXIES
6. COMMUNICATING WITH SERVER-SIDE PROGRAMS THROUGH GET
7. ACCESSING PASSWORD-PROTECTED SITES

6. Chapter 6 HTTP
1. THE PROTOCOL
2. HTTP METHODS
3. THE REQUEST BODY
4. COOKIES

7. Chapter 7 URLConnections
1. OPENING URLCONNECTIONS
2. READING DATA FROM A SERVER
3. READING THE HEADER
4. CACHES
5. CONFIGURING THE CONNECTION
6. CONFIGURING THE CLIENT REQUEST HTTP HEADER
7. WRITING DATA TO A SERVER
8. SECURITY CONSIDERATIONS FOR URLCONNECTIONS
9. GUESSING MIME MEDIA TYPES
10. HTTPURLCONNECTION

8. Chapter 8 Sockets for Clients


1. USING SOCKETS
2. CONSTRUCTING AND CONNECTING SOCKETS
3. GETTING INFORMATION ABOUT A SOCKET
4. SETTING SOCKET OPTIONS
5. SOCKET EXCEPTIONS
6. SOCKETS IN GUI APPLICATIONS

9. Chapter 9 Sockets for Servers


1. USING SERVERSOCKETS

342 | P a g e
2. LOGGING
3. CONSTRUCTING SERVER SOCKETS
4. GETTING INFORMATION ABOUT A SERVER SOCKET
5. SOCKET OPTIONS
6. HTTP SERVERS

10.Chapter 10 Secure Sockets


1. SECURE COMMUNICATIONS
2. CREATING SECURE CLIENT SOCKETS
3. CHOOSING THE CIPHER SUITES
4. EVENT HANDLERS
5. SESSION MANAGEMENT
6. CLIENT MODE
7. CREATING SECURE SERVER SOCKETS
8. CONFIGURING SSLSERVERSOCKETS

11.Chapter 11 Nonblocking I/O


1. AN EXAMPLE CLIENT
2. AN EXAMPLE SERVER
3. BUFFERS
4. CHANNELS
5. READINESS SELECTION

12.Chapter 12 UDP
1. THE UDP PROTOCOL
2. UDP CLIENTS
3. UDP SERVERS
4. THE DATAGRAMPACKET CLASS
5. THE DATAGRAMSOCKET CLASS
6. SOCKET OPTIONS
7. SOME USEFUL APPLICATIONS
8. DATAGRAMCHANNEL

13.Chapter 13 IP Multicast


1. MULTICASTING
2. WORKING WITH MULTICAST SOCKETS
3. TWO SIMPLE EXAMPLES

343 | P a g e
344 | P a g e
Cours
SE 350 Développement d’Applications avec la Programmation
Orientée Objet

1. Objectifs du cours

Principes, techniques et outils de modélisation orientée objet, conception, implémentation et


test de systèmes logiciels à grande échelle. Les sujets abordés comprennent les modèles
de conception, les cadres d'application, la conception architecturale et les applications dans
le processus de développement logiciel pour améliorer l'extensibilité, la maintenabilité et la
fiabilité des systèmes logiciels.

2. Concepts technologiques couverts par le cours


 UML (diagrammes de classes et diagrammes de séquence)
 Polymorphisme et héritage
 Modèles de conception
 Multi-threading
 Modèle d'objet Java
 Modèles de conception

3. Pré-requis
CONDITIONS PRÉALABLES : CSC 301

4. Proposition de découpage du cours


Week 1 Course Introduction Basic UML (Class diagrams and Sequence Diagrams)
Review Horstman Chapter 1

Week 2 Horstman Chapter 2, Chapter 3 section 3.1-3.4

Week 3 Polymorphism and Inheritance


Chapter 3.5 to end, Chapter 4 Sec 4.1- 4.5

345 | P a g e
Week 4 n Chapter 4.6 to end

Week 5 Readings to be assigned as order of design patterns is determined.

Week 6 Midterm exam

Week 7 Design Patterns (continued)

Week 8 Multi-threading

Week 9 Java Object Model

Week 10 Design Patterns (continued)

Week 11 Final

5. Manuels de cours
Manuel de référence
Head First Design Patterns: A Brain-Friendly Guide 1st Edition
by Eric Freeman (Author), Bert Bates (Author), Kathy Sierra (Author), Elisabeth Robson
(Author)
Series: Head First
Paperback: 694 pages
Publisher: O'Reilly Media; 1st edition (October 2004)
Language: English
ISBN-10: 0596007124
ISBN-13: 978-0596007126
Manuels recommandés
Livre1
Design Patterns Explained: A New Perspective on Object Oriented Design, 2nd Edition
by Alan Shalloway (Author), James R. Trott (Author)
Series: Software Patterns
Paperback: 480 pages
Publisher: Addison-Wesley; 2nd edition (October 22, 2004)
Language: English
ISBN-10: 0321247140

346 | P a g e
ISBN-13: 978-0321247148
Livre2
Object–Oriented Design and Patterns
De Cay S. Horstmann (Auteur)
Broché : 476 pages
Editeur : John Wiley & Sons ; Édition : 2nd Edition (15 juillet 2005)
Langue : Anglais
ISBN-10 : 0471744875
ISBN-13 : 978-0471744870
6. Sommaire du manuel de cours de référence

Chapter 1 Intro to Design Patterns: Welcome to Design Patterns

It started with a simple SimUDuck app

But now we need the ducks to FLY

But something went horribly wrong...

Joe thinks about inheritance...

How about an interface?

What would you do if you were Joe?

The one constant in software development

Zeroing in on the problem...

Separating what changes from what stays the same

Designing the Duck Behaviors

Implementing the Duck Behaviors

Integrating the Duck Behavior

More integration...

Testing the Duck code

Setting behavior dynamically

The Big Picture on encapsulated behaviors

347 | P a g e
The power of a shared pattern vocabulary

How do I use Design Patterns?

Tools for your Design Toolbox

Chapter 2 The Observer Pattern: Keeping your Objects in the know

The Weather Monitoring application overview

Unpacking the WeatherData class

What do we know so far?

Taking a first, misguided SWAG at the Weather Station

What’s wrong with our implementation?

Meet the Observer Pattern

Publishers + Subscribers = Observer Pattern

A day in the life of the Observer Pattern

Five-minute drama: a subject for observation

Two weeks later...

The Observer Pattern defined

The Observer Pattern defined: the class diagram

The power of Loose Coupling

Cubicle conversation

Designing the Weather Station

Implementing the Weather Station

Implementing the Subject interface in WeatherData

Now, let’s build those display elements

Power up the Weather Station

Using Java’s built-in Observer Pattern

348 | P a g e
How Java’s built-in Observer Pattern works

Reworking the Weather Station with the built-in support

Running the new code

The dark side of java.util.Observable

Other places you’ll find the Observer Pattern in the JDK

And the code...

Tools for your Design Toolbox

Chapter 3 The Decorator Pattern: Decorating Objects

Welcome to Starbuzz Coffee

The Open-Closed Principle

Meet the Decorator Pattern

Constructing a drink order with Decorators

The Decorator Pattern defined

Decorating our Beverages

Cubicle Conversation

New barista training

Writing the Starbuzz code

Coding beverages

Coding condiments

Serving some coffees

Real World Decorators: Java I/O

Decorating the java.io classes

Writing your own Java, I/O Decorator

Test out your new Java I/O Decorator

349 | P a g e
Tools for your Design Toolbox

Chapter 4 The Factory Pattern: Baking with OO Goodness

Identifying the aspects that vary

But the pressure is on to add more pizza types

Encapsulating object creation

Building a simple pizza factory

Reworking the PizzaStore class

The Simple Factory defined

Franchising the pizza store

A framework for the pizza store

Allowing the subclasses to decide

Let’s make a PizzaStore

Declaring a factory method

We’re just missing one thing: PIZZA!

You’ve waited long enough. Time for some pizzas!

It’s finally time to meet the Factory Method Pattern

Another perspective: parallel class hierarchies

Factory Method Pattern defined

A very dependent PizzaStore

Looking at object dependencies

The Dependency Inversion Principle

Applying the Principle

Inverting your thinking...

A few guidelines to help you follow the Principle...

350 | P a g e
Meanwhile, back at the PizzaStore...

Families of ingredients...

Building the ingredient factories

Building the New York ingredient factory

Reworking the pizzas...

Reworking the pizzas, continued...

Revisiting our pizza stores

What have we done?

More pizza for Ethan and Joel...

Abstract Factory Pattern defined

Factory Method and Abstract Factory compared

Tools for your Design Toolbox

A very dependent PizzaStore

Chapter 5 The Singleton Pattern: One of a Kind Objects

The Little Singleton

Dissecting the classic Singleton Pattern implementation

The Chocolate Factory

Singleton Pattern defined

Houston, Hershey, PA we have a problem...

Dealing with multithreading

Can we improve multithreading?

Meanwhile, back at the Chocolate Factory...

Congratulations!

Tools for your Design Toolbox

351 | P a g e
Chapter 6 The Command Pattern: Encapsulating Invocation

Free hardware! Let’s check out the Remote Control...

Taking a look at the vendor classes

Cubicle Conversation

Meanwhile, back at the Diner..., or, A brief introduction to the Command Pattern

Let’s study the interaction in a little more detail...

The Objectville Diner roles and responsibilities

From the Diner to the Command Pattern

Our first command object

Using the command object

Creating a simple test to use the Remote Control

The Command Pattern defined

The Command Pattern defined: the class diagram

Assigning Commands to slots

Implementing the Remote Control

Implementing the Commands

Putting the Remote Control through its paces

Time to write that documentation...

What are we doing?

Time to QA that Undo button!

Using state to implement Undo

Adding Undo to the CeilingFan commands

Get ready to test the ceiling fan

Testing the ceiling fan...

352 | P a g e
Every remote needs a Party Mode!

Using a macro command

The Command Pattern means lots of command classes

Simplifying the Remote Control with lambda expressions

Simplifying even more with method references

Test the remote control with lambda expressions

More uses of the Command Pattern: queuing requests

More uses of the Command Pattern: logging requests

Tools for your Design Toolbox

Chapter 7 The Adapter and Facade Patterns: Being Adaptive

Adapters all around us

Object-oriented adapters

If it walks like a duck and quacks like a duck, then it must might be a duck turkey
wrapped with a duck adapter...

Test drive the adapter

The Adapter Pattern explained

Adapter Pattern defined

Object and class adapters

Real-world adapters

Adapting an Enumeration to an Iterator

And now for something different...

Home Sweet Home Theater

Watching a movie (the hard way)

Lights, Camera, Facade!

Constructing your home theater facade

353 | P a g e
Implementing the simplified interface

Time to watch a movie (the easy way)

Facade Pattern defined

The Principle of Least Knowledge

How NOT to Win Friends and Influence Objects

The Facade and the Principle of Least Knowledge

Tools for your Design Toolbox

Chapter 8 The Template Method Pattern: Encapsulating Algorithms

It’s time for some more caffeine

Whipping up some coffee and tea classes (in Java)

And now the Tea...

Sir, may I abstract your Coffee, Tea?

Taking the design further...

Abstracting prepareRecipe ()

What have we done?

Meet the Template Method

Let’s make some tea...

What did the Template Method get us?

Template Method Pattern defined

Hooked on Template Method...

Using the hook

Let’s run the Test Drive

The Hollywood Principle

The Hollywood Principle and Template Method

354 | P a g e
Template Methods in the Wild

Sorting with Template Method

We’ve got some ducks to sort...

What is compareTo ()?

Comparing Ducks and Ducks

Let’s sort some Ducks

The making of the sorting duck machine

Swingin’ with Frames

Applets

Tools for your Design Toolbox

Chapter 9 The Iterator and Composite Patterns: Well-Managed Collections

Breaking News: Objectville Diner and Objectville Pancake House Merge

Check out the Menu Items

Lou and Mel’s Menu implementations

What’s the problem with having two different menu representations?

What now?

Can we encapsulate the iteration?

Meet the Iterator Pattern

Adding an Iterator to Diner Menu

Reworking the Diner Menu with Iterator

Fixing up the Waitress code

Testing our code

What have we done so far?

What we have so far...

355 | P a g e
Making some improvements...

Cleaning things up with java.util.Iterator

We are almost there...

What does this get us?

Iterator Pattern defined

Single Responsibility

Taking a look at the Café Menu

Reworking the Café Menu code

Adding the Café Menu to the Waitress

Breakfast, lunch AND dinner

What did we do?

We decoupled the Waitress....

... and we made the Waitress more extensible

But there’s more!

Iterators and Collections

Is the Waitress ready for prime time?

Just when we thought it was safe...

What do we need?

The Composite Pattern defined

Designing Menus with Composite

Implementing the Menu Component

Implementing the Menu Item

Implementing the Composite Menu

Getting ready for a test drive...

356 | P a g e
Now for the test drive...

Getting ready for a test drive...

Flashback to Iterator

The Composite Iterator

The Null Iterator

Give me the vegetarian menu

The magic of Iterator & Composite together...

Tools for your Design Toolbox

Chapter 10 The State Pattern: The State of Things

Jawva Breakers

Cubicle Conversation

State machines 101

Writing the code

In-house testing

You knew it was coming... a change request!

The messy STATE of things...

The new design

Defining the State interfaces and classes

Implementing our State classes

Reworking the Gumball Machine

Now, let’s look at the complete GumballMachine class...

Implementing more states

Let’s take a look at what we’ve done so far...

The State Pattern defined

357 | P a g e
We still need to finish the Gumball 1 in 10 game

Finishing the game

Demo for the CEO of Mighty Gumball, Inc.

Sanity check...

We almost forgot!

Tools for your Design Toolbox

Chapter 11 The Proxy Pattern: Controlling Object Access

Coding the Monitor

Testing the Monitor

The role of the ‘remote proxy’

Adding a remote proxy to the Gumball Machine monitoring code

Remote methods 101

Java RMI, the Big Picture

How does the client get the stub object?

Back to our GumballMachine remote proxy

Getting the GumballMachine ready to be a remote service

Registering with the RMI registry...

Now for the GumballMonitor client...

Writing the Monitor test drive

Another demo for the CEO of Mighty Gumball...

The Proxy Pattern defined

Get ready for Virtual Proxy

Displaying CD covers

Designing the CD cover Virtual Proxy

358 | P a g e
Writing the Image Proxy

Testing the CD Cover Viewer

What did we do?

Using the Java API’s Proxy to create a protection proxy

Matchmaking in Objectville

The PersonBean implementation

Five-minute drama: protecting subjects

Big Picture: creating a Dynamic Proxy for the PersonBean

Step one: creating Invocation Handlers

Creating Invocation Handlers continued...

Step two: creating the Proxy class and instantiating the Proxy object

Testing the matchmaking service

Running the code...

The Proxy Zoo

Tools for your Design Toolbox

The code for the CD Cover Viewer

Chapter 12 Compound Patterns: Patterns of Patterns

Working together

Duck reunion

What did we do?

A duck’s eye view: the class diagram

The King of Compound Patterns

Meet the Model-View-Controller

A closer look...

359 | P a g e
Looking at MVC through patterns-colored glasses

Using MVC to control the beat...

Putting the pieces together

Building the pieces

Now let’s have a look at the concrete BeatModel class

The View

Implementing the View

Implementing the View, continued...

Now for the Controller

Putting it all together...

Exploring Strategy

Adapting the Model

Now we’re ready for a HeartController

And now for a test run...

MVC and the Web

Model 2: DJ’ing from a cell phone

Step one: the model

Step two: the controller servlet

Now we need a view...

Putting Model 2 to the test...

Design Patterns and Model 2

Observer

Tools for your Design Toolbox

Exercise Solutions

360 | P a g e
Chapter 13 Better Living with Patterns: Patterns in the Real World

Design Pattern defined

Looking more closely at the Design Pattern definition

So you wanna be a Design Patterns writer

Organizing Design Patterns

Pattern Categories

Thinking in Patterns

Your Mind on Patterns

Don’t forget the power of the shared vocabulary

Cruisin’ Objectville with the Gang of Four

Your journey has just begun...

The Patterns Zoo

Annihilating evil with Anti-Patterns

Tools for your Design Toolbox

Leaving Objectville...

Boy, it’s been great having you in Objectville.

Appendix Leftover Patterns

Bridge

Why use the Bridge Pattern?

Builder

Why use the Builder Pattern?

Chain of Responsibility

How to use the Chain of Responsibility Pattern

Flyweight

361 | P a g e
Why use the Flyweight Pattern?

Interpreter

How to implement an interpreter

Mediator

Mediator in action...

Memento

The Memento at work

Prototype

Prototype to the rescue

Visitor

The Visitor drops by

362 | P a g e
Cours
CSC 360 Architecture & Développement de l’Interface Utilisateur

1. Objectifs du cours
Ce cours couvre la conception et le développement d'applications Web à une seule page et
leur interaction avec les services Web. Les sujets possibles comprennent : HTML;
JavaScript / Type Script; RxJS; Cadres tels que Agular et / ou Réagir; Node.js; modèles de
programmation et de sécurité pour les navigateurs; applications Web côté client avec
stockage local; HTTP, proxy et mise en cache.

2. Concepts technologiques couverts par le cours


 XML défini Cas d'utilisation XML
 Analyse de documents XML
 Éléments et attributs
 Recherche et correction des erreurs de syntaxe, vocabulaire XML
 XHTML, espaces de noms XML et syntaxe associée, outils XML
 Validation XML, Schémas, DTD, Déclaration de l’utilisation de
DTD dans un fichier XML, DTD Specifics, Entities
 Types de données XML, types définis par l'utilisateur
 XPath et XQuery
 Introduction aux transformations XML et XSLT
  Transformations XML (suite)
 Création et insertion de nœuds dans un document XML, numérotation
DOM et AJAX
 Lecture et écriture de documents XML. Manipulation de document
Structure
 Sécurité XML, cadre de description de ressources (RDF) et RDF
3. Pré-requis
CONDITIONS PRÉALABLES : CSC 347 and CSC 376

363 | P a g e
4. Proposition de découpage du cours

Week 1
 Introduction to the Course
 XML Defined
 XML Use Cases
 Parsing XML
 XML Document analysis
Week 2
 Elements and Attributes
 Finding and fixing syntax errors, XML Vocabulary
 XHTML, XML Namespaces and associated syntax, XML Tools
Week 3
 XML Validation, XML Validation, Schemas, DTDs, Declaring use of
 DTD in an XML file, DTD Specifics, Entities
Week 4
 XML Validation (continued), XML data types, User-defined types
 XML application example: Scalable Vector Graphics
Week 5
 Midterm Exam, Style and Formatting
Week 6
 XPath and XQuery
Week 7
 Introduction to XML Transformations & XSLT
Week 8
 XML transformations (continued)
 Creating & inserting nodes in an XML document, Numbering
Week 9
 DOM and AJAX
 Reading and writing XML documents. Manipulating document structure
Week 10
 XML Security, Resource description framework (RDF) and RDF
Week 11
 Final Exam (No lecture)

5. Manuels de cours
Manuel de référence

364 | P a g e
Designed for Use: Create Usable Interfaces for Applications and the Web
De Lukas Mathis (Auteur)
Broché: 344 pages
Editeur : O′Reilly (15 juillet 2011)
Langue : Anglais
ISBN-10 : 1934356751
ISBN-13 : 978-1934356753
Manuels recommandés
Livre1
JavaScript : The Good Parts
De D Crockford (Auteur)
Broché : 170 pages
Editeur : O′Reilly; Édition : 1 (16 mai 2008)
Langue : Anglais
ISBN-10 : 0596517742
ISBN-13 : 978-0596517748

6. Sommaire du manuel de cours de référence

I Research 17

1 User Research 19

2 Job Shadowing and Contextual Interviews 23

2.1 Observing Your Audience . . . . . . . . . . . . . . . . 24

2.2 Job Shadowing . . . . . . . . . . . . . . . . . . . . . 24

2.3 Contextual Interviews . . . . . . . . . . . . . . . . . . 25

2.4 Remote Shadowing . . . . . . . . . . . . . . . . . . . 26

2.5 Limitations of Contextual Interviews . . . . . . . . . 26

3 Personas 30

3.1 Problems with Personas . . . . . . . . . . . . . . . . 31

3.2 Creating Personas . . . . . . . . . . . . . . . . . . . . 32

365 | P a g e
3.3 Working with Personas . . . . . . . . . . . . . . . . . 33

3.4 Personas Do Not Replace User Research . . . . . . . 34

4 Activity-Centered Design 37

5 Time to Start Working on Documentation 40

5.1 The Manual . . . . . . . . . . . . . . . . . . . . . . . 41

5.2 Blog Posts . . . . . . . . . . . . . . . . . . . . . . . . 41

5.3 Screencasts . . . . . . . . . . . . . . . . . . . . . . . 42

5.4 Press Releases . . . . . . . . . . . . . . . . . . . . . . 42

5.5 Talk About Tasks . . . . . . . . . . . . . . . . . . . . 43

www.it-ebooks.info

CONTENTS 7

6 Text Usability 46

6.1 Why Words Matter . . . . . . . . . . . . . . . . . . . . 46

6.2 People Don’t Want to Read . . . . . . . . . . . . . . . 47

6.3 Say Less . . . . . . . . . . . . . . . . . . . . . . . . . 48

6.4 Make Text Scannable . . . . . . . . . . . . . . . . . . 49

6.5 No Fluff . . . . . . . . . . . . . . . . . . . . . . . . . . 49

6.6 Sentences Should Have One Obvious Interpretation 50

6.7 Talk Like a Human, Not Like a Company . . . . . . 51

6.8 Illustrate Your Points . . . . . . . . . . . . . . . . . . 52

6.9 Use Words People Understand . . . . . . . . . . . . . 53

6.10 Test Your Text . . . . . . . . . . . . . . . . . . . . . . 54

6.11 Display Legible Text . . . . . . . . . . . . . . . . . . . 55

7 Hierarchies in User Interface Design 58

366 | P a g e
7.1 Creating Hierarchical Structure Visually . . . . . . . 59

8 Card Sorting 63

8.1 Designing Hierarchies . . . . . . . . . . . . . . . . . 64

8.2 Preparing for a Card Sort . . . . . . . . . . . . . . . . 65

8.3 Participants . . . . . . . . . . . . . . . . . . . . . . . 66

8.4 Running a Card Sort . . . . . . . . . . . . . . . . . . 67

8.5 Running a Remote Card Sort . . . . . . . . . . . . . 69

8.6 Evaluating the Results . . . . . . . . . . . . . . . . . 70

8.7 Guidelines for Creating Usable Hierarchies . . . . . 71

9 The Mental Model 77

9.1 What People Think . . . . . . . . . . . . . . . . . . . 77

9.2 Three Different Models . . . . . . . . . . . . . . . . . 79

9.3 Hiding Implementation Details . . . . . . . . . . . . 79

9.4 Leaky Abstractions . . . . . . . . . . . . . . . . . . . 82

9.5 Designing for Mental Models . . . . . . . . . . . . . . 83

II Design 93

10 Sketching and Prototyping 95

10.1 Designing the Structure . . . . . . . . . . . . . . . . 96

10.2 Flow Diagrams . . . . . . . . . . . . . . . . . . . . . . 96

10.3 Storyboards . . . . . . . . . . . . . . . . . . . . . . . 97

10.4 Sketching . . . . . . . . . . . . . . . . . . . . . . . . . 97

10.5 Wireframes . . . . . . . . . . . . . . . . . . . . . . . . 99

10.6 Mock-ups . . . . . . . . . . . . . . . . . . . . . . . . . 99

10.7 Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

367 | P a g e
Report erratum

www.it-ebooks.info this copy is (P1.1a printing, July 2011)

CONTENTS 8

11 Paper Prototype Testing 104

11.1 Guerilla Paper Prototype Testing . . . . . . . . . . . 105

11.2 Running Full Usability Tests with Paper Prototypes 107

12 Realism 120

12.1 Symbols . . . . . . . . . . . . . . . . . . . . . . . . . . 121

12.2 Virtual Versions of Real-World Objects . . . . . . . . 123

12.3 Replicating Physical Constraints in Digital Products 126

13 Natural User Interfaces 130

13.1 Avoid Gesture Magic . . . . . . . . . . . . . . . . . . 131

13.2 Recognizing Gestures . . . . . . . . . . . . . . . . . . 132

13.3 Accidental Input . . . . . . . . . . . . . . . . . . . . . 134

13.4 Conventions . . . . . . . . . . . . . . . . . . . . . . . 135

14 Fitts’s Law 138

14.1 Screen Edges Have Infinite Size . . . . . . . . . . . . 139

14.2 Radial Context Menus Decrease Average Distance . 140

14.3 Small Targets Need Margins . . . . . . . . . . . . . . 143

14.4 Sometimes, Smaller Is Better . . . . . . . . . . . . . 143

15 Animations 145

15.1 Explaining State Changes . . . . . . . . . . . . . . . 145

15.2 Directing User Attention . . . . . . . . . . . . . . . . 146

15.3 Avoid Unimportant Animations . . . . . . . . . . . . 148

368 | P a g e
15.4 Help Users Form Suitable Mental Models . . . . . . 148

15.5 Learning from Cartoons . . . . . . . . . . . . . . . . 150

16 Consistency 155

16.1 Identifying Archetypes . . . . . . . . . . . . . . . . . 155

16.2 Behavioral Consistency . . . . . . . . . . . . . . . . . 156

17 Discoverability 159

17.1 What to Make Discoverable . . . . . . . . . . . . . . 159

17.2 When to Make Things Discoverable . . . . . . . . . . 161

17.3 How to Make Things Discoverable . . . . . . . . . . 162

18 Don’t Interrupt 165

18.1 Make Decisions for Your User . . . . . . . . . . . . . 166

18.2 Front Load Decisions . . . . . . . . . . . . . . . . . . 167

18.3 Interrupt Users Only For Truly Urgent Decisions . . 168

Report erratum

www.it-ebooks.info this copy is (P1.1a printing, July 2011)

CONTENTS 9

19 Instead of Interrupting, Offer Undo 171

19.1 Let Users Undo Their Actions . . . . . . . . . . . . . 172

19.2 Temporary Undo . . . . . . . . . . . . . . . . . . . . . 173

20 Modes 175

20.1 Nonobvious Modes . . . . . . . . . . . . . . . . . . . 176

20.2 Unexpected Modes . . . . . . . . . . . . . . . . . . . 180

20.3 Sticky Modes . . . . . . . . . . . . . . . . . . . . . . . 180

20.4 Modes Are Not Always Bad . . . . . . . . . . . . . . . 181

369 | P a g e
20.5 Quasimodes . . . . . . . . . . . . . . . . . . . . . . . 181

21 Have Opinions Instead of Preferences 183

21.1 Why Preferences Are Bad . . . . . . . . . . . . . . . . 185

21.2 How to Avoid Preferences . . . . . . . . . . . . . . . . 186

21.3 If You Can’t Avoid Preferences . . . . . . . . . . . . . 187

22 Hierarchies, Space, Time, and How We Think About the

World 189

22.1 Hierarchies . . . . . . . . . . . . . . . . . . . . . . . . 190

22.2 Space . . . . . . . . . . . . . . . . . . . . . . . . . . . 191

22.3 Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193

22.4 A Better Hierarchical System . . . . . . . . . . . . . 194

23 Speed 198

23.1 Responsiveness . . . . . . . . . . . . . . . . . . . . . 199

23.2 Progress Feedback . . . . . . . . . . . . . . . . . . . 199

23.3 Perceived Speed . . . . . . . . . . . . . . . . . . . . . 201

23.4 Slowing Down . . . . . . . . . . . . . . . . . . . . . . 202

24 Avoiding Features 205

24.1 Remember the User’s Goals . . . . . . . . . . . . . . 206

24.2 The Five Whys . . . . . . . . . . . . . . . . . . . . . . 206

24.3 Instead of Adding a New Feature, Make an Existing

Feature More Usable . . . . . . . . . . . . . . . . . . 208

24.4 Solve Several Problems with One Change . . . . . . 208

24.5 Consider the Cost . . . . . . . . . . . . . . . . . . . . 209

24.6 Make It Invisible . . . . . . . . . . . . . . . . . . . . . 209

370 | P a g e
24.7 Provide an API and a Plug-in Architecture . . . . . . 209

24.8 Listen to Your Users . . . . . . . . . . . . . . . . . . 210

24.9 But Don’t Listen to Your Users Too Much . . . . . . 211

24.10 Not All Users Need to Be Your Users . . . . . . . . . 212

Report erratum

www.it-ebooks.info this copy is (P1.1a printing, July 2011)

CONTENTS 10

25 Removing Features 215

25.1 Do the Research . . . . . . . . . . . . . . . . . . . . . 216

25.2 Inform Your Users . . . . . . . . . . . . . . . . . . . . 217

25.3 Provide Alternatives . . . . . . . . . . . . . . . . . . . 217

25.4 It’s Your Product . . . . . . . . . . . . . . . . . . . . . 218

26 Learning from Video Games 220

26.1 What’s Fun? . . . . . . . . . . . . . . . . . . . . . . . 220

26.2 Why Your Product Is Not Like a Game . . . . . . . . 222

26.3 What We Can Learn from Games . . . . . . . . . . . 225

26.4 Fun vs. Usability . . . . . . . . . . . . . . . . . . . . 231

III Implementation 233

27 Guerilla Usability Testing 235

27.1 How Often to Test . . . . . . . . . . . . . . . . . . . . 236

27.2 Preparing for the Test . . . . . . . . . . . . . . . . . . 237

27.3 How Do You Find Testers? . . . . . . . . . . . . . . . 237

27.4 How Many Testers . . . . . . . . . . . . . . . . . . . . 237

27.5 Running the Test . . . . . . . . . . . . . . . . . . . . 238

371 | P a g e
27.6 The Results . . . . . . . . . . . . . . . . . . . . . . . . 238

28 Usability Testing 240

28.1 Usability Tests Don’t Have to Be Expensive . . . . . 241

28.2 How Often to Test . . . . . . . . . . . . . . . . . . . . 242

28.3 How Many Testers . . . . . . . . . . . . . . . . . . . . 243

28.4 Who Should Test Your Product? . . . . . . . . . . . 244

28.5 How to Find Testers . . . . . . . . . . . . . . . . . . . 246

28.6 Different Types of Tests . . . . . . . . . . . . . . . . 246

28.7 Preparing for the Test . . . . . . . . . . . . . . . . . . 247

28.8 Running the Test . . . . . . . . . . . . . . . . . . . . 248

29 Testing in Person 250

29.1 Running the Test . . . . . . . . . . . . . . . . . . . . 250

30 Remote Testing 257

30.1 Moderated Remote Testing . . . . . . . . . . . . . . . 258

30.2 Unmoderated Remote Testing . . . . . . . . . . . . . 266

Report erratum

www.it-ebooks.info this copy is (P1.1a printing, July 2011)

CONTENTS 11

31 How Not to Test: Common Mistakes 268

31.1 Don’t Use Words That Appear in the User Interface 268

31.2 Don’t Influence the Tester . . . . . . . . . . . . . . . 269

31.3 Avoid Stressful Situations . . . . . . . . . . . . . . . 270

32 User Error Is Design Error 272

32.1 Don’t Blame Your Users in Your Error Messages . . 273

372 | P a g e
32.2 No Error, No Blame . . . . . . . . . . . . . . . . . . . 275

33 A/B Testing 279

33.1 When to Do A/B Testing . . . . . . . . . . . . . . . . 281

33.2 What’s Success? . . . . . . . . . . . . . . . . . . . . . 281

33.3 Preparing for the Test . . . . . . . . . . . . . . . . . . 282

33.4 Running the Test . . . . . . . . . . . . . . . . . . . . 282

33.5 Interpreting the Results . . . . . . . . . . . . . . . . 283

33.6 Keep in Mind . . . . . . . . . . . . . . . . . . . . . . . 283

34 Collecting Usage Data 287

34.1 Measure Speed . . . . . . . . . . . . . . . . . . . . . 287

34.2 Exit Points . . . . . . . . . . . . . . . . . . . . . . . . 288

34.3 Measure Failure . . . . . . . . . . . . . . . . . . . . . 289

34.4 User Behavior . . . . . . . . . . . . . . . . . . . . . . 289

35 Dealing with User Feedback 292

35.1 Unexpected Uses . . . . . . . . . . . . . . . . . . . . 292

35.2 Bad Feedback . . . . . . . . . . . . . . . . . . . . . . 293

373 | P a g e
Cours
SE 352 Développement d’Applications de Classe Entreprise
avec la Programmation Orientée Objet

1. Objectifs du cours
Ce cours se concentre sur l'application de techniques orientées objet dans la conception et
le développement de systèmes logiciels pour les applications d'entreprise. Les sujets
incluent l'architecture des composants, tels que Java Beans et Enterprise Java Beans,
composants d'interface graphique tels que Swing, connectivité de bases de données et
référentiels d'objets, intégration de serveurs utilisant des technologies telles que servlets,
Java Server Pages, JDBC et RMI, sécurité et internationalisation.

2. Concepts technologiques couverts par le cours


 HTML, java
 JDBC, SQL,
 Servlet et configuration du serveur JSP et HTML
 Servlet et JSP
 Gestion de session (état Web)
 Sécurité MVC

3. Pré-requis
CONDITIONS PRÉALABLES : CSC 301

374 | P a g e
4. Proposition de découpage du cours

Week Topics
Week 1 Basic/Overview (CSC212/224 in a Day)
HTML, java,1, 2, 3
Week 2 JDBC, SQL, and persistence 11, 12, 13 SE452-MS1
Week 3 Servlet and JSP – Session 1 Server setup and HTML
4, 5, 6 SE352-HW1
Week 4 Servlet and JSP – Session 2, JSTL 8, 9, 10 SE352-HW2
SE452-MS2
Week 5 Midterm
Week 6 Session Management (Web State) 7, 18 SE452-MS3
Week 7 Security MVC
15, 16, 17 SE352-HW3
Week 8 Listeners and Filters and Headers 19, 20 SE452-MS4
Week9 Java Web Framework – JSF 21
Week 10 Java Web Framework - Spring SE352-HW4 SE452–
Week 11 Final submission

5. Manuels de cours
Manuel de référence
Murach's Java Servlets and JSP, 3rd Edition
by Joel Murach (Author), Michael Urban (Author)
Series: Murach: Training & Reference (Book 3)
Paperback: 758 pages
Publisher: Mike Murach & Associates; 3rd edition (June 9, 2014)
Language : English
ISBN-10 : 1890774782
ISBN-13 : 978-1890774783
6. Sommaire du manuel de cours de référence
Section 1 Get started right
Chapter 1 An introduction to web applications
Chapter 2 How to structure a web application with the MVC pattern
Chapter 3 How to use NetBeans and Tomcat
Section 2 Essential servlet and JSP skills
Chapter 4 A crash course in HTML5 and CSS3
Chapter 5 How to develop servlets
Chapter 6 How to develop JavaServer Pages
Chapter 7 How to work with sessions and cookies
Chapter 8 How to use EL
Chapter 9 How to use JSTL

375 | P a g e
Chapter 10 How to use custom JSP tags
Section 3 Essential database skills
Chapter 11 How to use a MySQL database
Chapter 12 How to use JDBC to work with a database
Chapter 13 How to use JPA to work with a database
Section 4 Advanced servlet and JSP skills
Chapter 14 How to use JavaMail to send mail
Chapter 15 How to use SSL to work with a secure connection
Chapter 16 How to restrict access to a web resource
Chapter 17 More security skills
Chapter 18 How to work with HTTP requests and responses
Chapter 19 How to work with listeners
Chapter 20 How to work with fliters
Chapter 21 How to work with JavaServer Faces
Section 5 The Music Store website
Chapter 22 An introduction to the Music Store website
Chapter 23 The applications of the website

376 | P a g e
Chapter 1 An introduction to web applications
Chapter 2 How to structure a web application with the MVC pattern
Chapter 3 How to use NetBeans and Tomcat
Section 2 Essential servlet and JSP skills
Chapter 4 A crash course in HTML5 and CSS3
Chapter 5 How to develop servlets
Chapter 6 How to develop JavaServer Pages
Chapter 7 How to work with sessions and cookies
Chapter 8 How to use EL
Chapter 9 How to use JSTL
Chapter 10 How to use custom JSP tags
Section 3 Essential database skills
Chapter 11 How to use a MySQL database
Chapter 12 How to use JDBC to work with a database
Chapter 13 How to use JPA to work with a database
Section 4 Advanced servlet and JSP skills
Chapter 14 How to use JavaMail to send mail
Chapter 15 How to use SSL to work with a secure connection
Chapter 16 How to restrict access to a web resource
Chapter 17 More security skills
Chapter 18 How to work with HTTP requests and responses
Chapter 19 How to work with listeners
Chapter 20 How to work with fliters
Chapter 21 How to work with JavaServer Faces
Section 5 The Music Store website
Chapter 22 An introduction to the Music Store website
Chapter 23 The applications of the website

377 | P a g e
Cours
CSC 372 Mobile Application Development For Android

1. Objectifs du cours

Ce cours présente les principaux problèmes liés au développement d'applications pour les
appareils mobiles utilisant la plateforme Android. Les étudiants apprendront l'IDE Eclipse,
les frameworks, les éléments et l'architecture des interfaces utilisateur, des graphiques, et
plus encore. Les étudiants seront exposés à l'architecture du système Android, y compris
les vues, les widgets, les ressources, les adaptateurs, les intentions et les activités. Les
sujets incluront également la compréhension et la gestion des discussions, des événements
multi-touch, des gestes et des événements de mouvement.

A la fin de ce cours, vous allez :


 Appréciez les capacités et les défis des applications mobiles.
 Avoir une compréhension de base de l’historique Android.
 avoir une bonne compréhension du système d'exploitation Android.
 être capable de créer une application Android et comprendre :
 Stockage
 Messagerie
 Partage de données
 Création de mises en page et d'interface utilisateur
 Activités de construction
 Services de construction
 Création de fournisseurs de contenu
 Autorisations
 Sécurité

378 | P a g e
2. Concepts technologiques couverts par le cours
 Cycle de vie, Données passantes / persistantes dans l'activité, Ressources, Inflater,
Fragments
 Application, Contexte, Zygote, Boucleur, Vues, Layouts, Attributs, Adaptateurs,
RecyclerView
 Messagerie, IPC, récepteurs de diffusion, intentions, local, global / sécurité
 Services, Intention Servies, Planificateur, Alarme, Autorisations, Protections,
"Processus"
 Dialogues, Toasts, Spannable, Canvas, SurfaceView, Webviews, ChromecustomTabs
3. Pré-requis
CONDITIONS PRÉALABLES : (CSC 301 or CSC 383 or CSC 393) and CSC 374

4. Proposition de découpage du cours

Week Topics
Week 1
Android overview. DEX/ART, APK, IDE. Tools
Week 2 Package, Android Studio, Build Tools, Logging, Manifest and
Build.gradle. Main thread, Backstack
Week 3 Activity, Lifecycle, Passing/persisting data in activity, Resources,
Inflater, Fragments
Week 4 Application, Context, Zygote, Looper, Views, Layouts, Attributes,
Adapters, RecyclerView
Week 5 Messaging, IPC, Broadcast Receivers, Intents, Local,
Global/security
Week 6 Unit tests / Midterm
Week 7 Project discussion, Background, Asynctask, Threading, Executer,
Looper/communication, Handler
Week 8 Persistence, Shared Pref, SQLLite, Keystore, Content Providers
Week9 ● Services, Intent Servies, Scheduler, Alarm, Permissions,
Protections, ‘process’

Week 10 Dialogs, Toasts, Spannable, Canvas, SurfaceView, Webviews,


ChromecustomTabs
Week 11 Final Projects

379 | P a g e
5. Manuels de cours
Manuel de référence
Android Internals: Power User's View
by Jonathan Levin (Author)
Series: Android Internals
Paperback: 250 pages
Publisher: Jonathan Levin; 1st edition (January 20, 2015)
Language : English
ISBN-10 : 0991055527
ISBN-13 : 978-0991055524

6. Sommaire du manuel de cours de référence

1. Introduction

Android version history


Cupcake
Donut
Éclair
Froyo
Gingerbread
Honeycomb
Ice Cream Sandwich
JellyBean
KitKat
Lollipop
M (Preview)
Android vs. Linux
Not just another Linux Distribution
And then came Android.
Commonalities and Divergences from Linux
The Android Frameworks

380 | P a g e
The Dalvik Virtual Machine
JNI
Native Binaries
Bionic
Android Native Libraries
External Native Libraries
Hardware Abstraction Layer
The Linux Kernel
2 Android Derivatives
Google offshoots
Non-Google ports
Pondering the Way Ahead
64-Bit compatibility
Android RunTime (ART)
Split-Screen
Android as a desktop OS
Android and Project ARA
2. Partitions & File Systems..................................................
Partitions
The need for separate partitions
The GUID Partition Table
Flash Storage Systems
File Systems
Android Device Partitions
Android File system Contents
The root file system
/system
/data

381 | P a g e
/cache
/vendor
The SD card
Protected File systems
OBB - Opaque Binary Blobs
ASec - Android Secure Storage
The Linux pseudo-File systems
functionfs (/dev/usb-ffs/adb)
procfs (/proc)
pstore (/sys/fs/pstore)
selinuxfs (/sys/fs/selinux)
sysfs (/sys)
3. Boot, Backup & Recovery
Android Images
The Boot Loader
Boot Images
The Kernel
The RAM disk
System and Data Partitions
The Boot Process
Firmware Boot
Kernel Boot
Shutdown & Reboot
Application Backup & Restore
Command line tools
Local backups
Monitoring backup operations
System Recovery & Updates

382 | P a g e
Over-The-Air (OTA) Updates
Customizing images
Resources for image modding
4. Init..............................................................................
The roles and responsbilities of init
System Properties
The .rc Files
Putting it all together: The flow of JOJU
Init and USB
The Other Roles of init
ueventd
watchdogd
5. Daemons
Core Services
adbd
servicemanager
healthd
lmkd (L)
logd (L)
vold
Network Services
netd
mdnsd
mtpd
racooon
Graphics and Media Services
surfaceflinger
bootanimation

383 | P a g e
mediaserver
drmserver
Other Services
installd
keystore
debuggerd
sdcard
zygote[64]
6. The Framework Service Architecture
Revisiting servicemanager
The Service Calling Pattern
Advantages and Disadvantages
Serialization and AIDL
The Binder
A Little History
So what, exactly, is Binder?
Using Binder
Tracing Binder
system_server
Startup and Flow
Modifying startup behavior
7. Android Through a Linux Lens
/proc, revisited
The symlinks: cwd, exe, root
status
User mode memory management
Virtual Memory classification and lifecycle
Memory statistics

384 | P a g e
Out Of Memory conditions
Tracing system calls
The UPPMCPYQT tool
wchan and syscall
The TUSBDF utility
8. Security
Threat Modeling Mobile Security
Security at the Linux Level
Linux Permissions
Linux Capabilities
SELinux
Other noteworthy features
Security at the Dalvik Level
Dalvik Level Permissions
Dalvik Code Signing
User Level Security
The Lock Screen
Multi-User Support
Key Management
Certificate Management
Secret and Private Key Management
Storage Security
/data Encryption
Secure Boot
Rooting Android
Boot-To-Root
Rooting via Exploiting
Security Aspects of Rooting

385 | P a g e
Cours
CSC 355 DataBase Systems

1. Objectifs du cours
Une introduction aux systèmes de bases de données modernes ; le cours couvre les
concepts et techniques traditionnels des systèmes de bases de données incluant le modèle
relationnel, SQL, index et normalisation ainsi qu'une sélection de sujets avancés tels que
contraintes et déclencheurs, transactions, programmation de bases de données, données
semi-structurées et SQL récursif.

2. Concepts technologiques couverts par le cours


 Introduction, modèle relationnel
 SQL
 Conception de base de données relationnelle
 Contraintes et déclencheurs, vues et index, programmation de base de données

3. Pré-requis
CONDITIONS PRÉALABLES : CSC 301 or CSC 393

386 | P a g e
4. Proposition de découpage du cours

Week Topics
Week 1  Introduction to Databases
 RelationalModel
 SQL DDL

Week 2  Action Statements


 Basic SQL

Week 3 Intermediate SQL


Week 4 Advanced SQL
Week 5  Transactions
 Relational Design Theory I

Week 7  Relational Design TheoryII

Week 8  Constraints and Triggers


 Views

Week 10  Indexes
 Datanase Programming

5. Manuels de cours
Manuel de référence
Fundamentals of Database Systems (6th Edition)
by Ramez Elmasri (Author), Shamkant B. Navathe (Author)
Hardcover: 1200 pages
Publisher: Pearson; 6 edition (April 9, 2010)
Language : English
ISBN-10 : 0136086209
ISBN-13 : 978-0136086208
6. Sommaire du manuel de cours de référence

Part 1: Introduction to Databases

Chapter 1: Databases and Database Users

Chapter 2: Database Systems Concepts and Architecture

387 | P a g e
Part 2: Conceptual Data Modeling and Database Design

Chapter 3: Data Modeling Using the Entity Relationship (ER) Model

Chapter 4: The Enhanced Entity Relationship (EER) Model

Part 3: The Relational Data Model and SQL

Chapter 5: The Relational Data Model and Relational Database Constraints

Chapter 6: Basic SQL

Chapter 7: More SQL: Complex Queries, Triggers, Views, and Schema Modification

Chapter 8: The Relational Algebra and Relational Calculus

Chapter 9: Relational Database Design by ER- and EER-to-Relational Mapping

Part 4: Database Programming Techniques

Chapter 10: Introduction to SQL Programming Techniques

Chapter 11: Web Database Programming Using PHP

Part 5: Object, Object-Relational, and XML: Concepts, Models, Languages, and


Standards

Chapter 12: Object and Object-Relational Databases

Chapter 13: XLM: Extensible Markup Language

Part 6: Database Design Theory and Normalization

Chapter 14: Basics of Functional Dependencies and Normalization for Relational


Databases

Chapter 15: Relational Database Design Algorithms and Further Dependencies

Part 7: File Structures, Hashing, Indexing, and Physical Database Design

Chapter 16: Disc Storage, Basic File Structures, Hashing, and Modern Storage
Architectures

Chapter 17: Indexing Structures for Files and Physical Database Design

Part 8: Query Processing and Optimization

388 | P a g e
Chapter 18: Strategies for Query Processing

Chapter 19: Query Optimization

Part 9: Transaction Processing, Concurrency Control, and Recovering

Chapter 20: Introduction to Transaction Processing Concepts and Theory

Chapter 21: Concurrency Control Techniques

Chapter 22: Database Recovery Techniques

Part 10: Distributed Databases, NOSQL Systems, Cloud Computing, and Big Data

Chapter 23: Distributed Database Concepts

Chapter 24: NOSQL Databases and Big Data Storage Systems

Chapter 25: Big Data Technologies Based on MapReduce and Hadoop

Part 11: Advanced Database Models, Systems, and Applications

Chapter 26: Enhanced Data Models: Introduction to Active, Temporal, Spatial,


Multimedia, and Deductive Databases

Chapter 27: Introduction to Information Retrieval and Web Search

Chapter 28: Data Mining Concepts

Chapter 29: Overview of Data Warehousing and OLAP

Part 12: Additional Database Topics: Security

Chapter 30: Database Security

389 | P a g e
Cours
MMAD Certified Master Mobile Application Developer

1. Objectifs du cours
Les smartphones et les tablettes changent notre façon de communiquer, d'accéder à
l'information et de faire des affaires. Classiquement, un développeur d’applications mobiles
devrait choisir la plate-forme mobile pour laquelle il développe (Android, iOS ou d’autres plates-
formes). L'examen MMAD valide ces programmeurs d'applications ou développeurs Web
possédant les compétences nécessaires pour développer des applications Android et iOS, ainsi
que des compétences génériques pouvant être appliquées à toutes les plateformes (y compris
la gestion de projet
Cet examen est destiné à un programmeur d’application ou à un développeur Web relativement
novice.
Les objectifs sont :
 Développer des applications Android et iOS. Le candidat a de l'expérience sur un
ordinateur exécutant Windows 10 ou Mac OS X et le développement d'applications
utilisant des langages et des outils de programmation orientés objet.
 Le candidat possèdera également des compétences de base en gestion de projet et de
l'expérience.
2. Concepts technologiques couverts par le cours
 Développement d'applications Android
 Développement des applications iOS
 Développement d'applications Windows Store

390 | P a g e
 Gestion de projets de développement d'applications de base

3. Pré-requis
CSC 372
4. Proposition de découpage du cours

5. Manuels de cours

6. Sommaire du manuel de cours de référence

Cours
SE 359 Agile Software Development

391 | P a g e
1. Objectifs du cours
Ce cours se concentre sur les principes fondamentaux, les principes, les outils et les
techniques de développement de logiciels agiles. Les étudiants acquerront des expériences
pratiques dans le développement de logiciels agiles grâce à des projets traitant de divers
aspects du développement agile, y compris la planification, la construction, les tests et
l'intégration. Les étudiants seront en mesure de participer efficacement et de gérer le
développement de logiciels agiles à la suite de leur réussite à ce cours.
Les objectifs de ce cours sont pour vous de :
 Comprendre les méthodologies de développement Agile courantes et leur
comparaison avec les approches plus traditionnelles.
 Travaillez avec certaines techniques courantes de développement Agile, notamment
l'estimation, l'IC et la gestion des versions.
 Écrire des épopées, des récits d'utilisateurs et des tâches ; estimer leur complexité ;
et participer à la planification du sprint.
 Analysez ce qui rend le développement Agile réussi ou non dans différents
environnements.

2. Concepts technologiques couverts par le cours

3. Pré-requis
CONDITIONS PRÉALABLES : SE 350

4. Proposition de découpage du cours

La présentation finale de l’équipe aura lieu la 10e semaine de classe


5. Manuels de cours

6. Sommaire du manuel de cours de référence


Pas de manuel de cours

392 | P a g e
Cours
CSC 343 Introduction aux Systèmes d’Exploitation

1. Objectifs du cours
Un cours avancé sur la conception et la mise en œuvre du système d'exploitation. La
gestion des processus et la planification, la gestion de la mémoire, les systèmes de fichiers,
les pilotes de périphériques, le contrôle d'accès et la virtualisation seront couverts. L'accent
du cours sera sur la mise en œuvre des composants d'un système d'exploitation
fonctionnel.
À la fin du cours, les étudiants devraient être capables de :
• Comprendre les problèmes de conception de la prise en charge du multithreading, de la
mémoire virtuelle et des systèmes de fichiers.
• implémenter des parties d’un système d’exploitation (par exemple, un package de threads
au niveau utilisateur et / ou un noyau) ;
niveau threads).
• Comprendre le mécanisme des appels système et la manière de mettre en œuvre un
appel système.
• Comprendre la synchronisation et les problèmes connexes dans le système d'exploitation.

Concepts technologiques couverts par le cours


 Introduction générale, Introduction aux processus
 Processus : IPC
 Processus : planification, implémentation de MINIX
 Processus : Récapitulatif Entrée / Sortie : Général
 Entrée / sortie : périphérique de bloc
 Entrée / Sortie : Périphériques de bouclage / caractères
 Introduction à la gestion de la mémoire
 Gestion de la mémoire : pagination / segmentation et MM dans Minix
 Systèmes de fichiers : général
 Systèmes de fichiers : Sécurité et MINIX

393 | P a g e
3. Pré-requis
CONDITIONS PRÉALABLES : CSC 301 and CSC 373 and CSC 374

4. Proposition de découpage du cours

Reading
Week topic
material
1 General introduction, Introduction to processes Chp. 1, Sec. 2.1
2 Processes: IPC Sec. 2.2-2.3
3 Processes: Scheduling, MINIX implementation Sec. 2.4-2.7
4 Processes: Wrap up Input/Output: General Sec. 2.7-2.8 Sec. 3.1-3.3
5 Input/Output: Block Device Sec. 3.4-3.7
Input/Output: Wrap up / Character Devices
6 Sec 3.8, 4.1-4.4
Intro to Memory Management
7 Memory Management: Paging/Segmentation & MM in Minix Sec. 4.5-4.8
8 File Systems: General Sec. 5.1-5.3
9 File Systems: Security & MINIX Sec. 5.4-5.5
10 File Systems in Minix: Implementation Sec. 5.6-5.7

5. Manuels de cours
Manuel de référence
Thomas W. Doeppner, Operating Systems in Depth, Hardcover:
ISBN 978-04-471-68723-8
Ebook : ISBN 978-0-470-57131-6
6. Sommaire du manuel de cours de référence
1 Introduction

Operating Systems.
A Brief History of Operating Systems.
A Simple OS.
Beyond a Simple OS.
Conclusions.
Exercises.
References.
Multithreaded Programming.
Why Threads?

394 | P a g e
Programming with Threads.
Conclusions.
Exercises.
References.
Basic Concepts.
Context Switching.
Input/output Architectures.
Dynamic Storage Allocation.
Linking and Loading.
Booting.
Conclusions.
Exercises.
References.
Operating-System Design.
A Simple System.
Rethinking Operating-System Structure.
Conclusions.
Exercises.
References.
Processor Management.
Threads Implementations.
Interrupts.
Scheduling.
Conclusions.
Exercises.
References.
File Systems.
The Basics of File Systems.
Crash Resiliency.
Directories and Naming.
Multiple Disks.

395 | P a g e
Flash Memory.
Case Studies.
Conclusions.
Exercises.
References.
Memory Management.
Memory Management in the Early Days.
Hardware Support for Virtual Memory.
Operating-System Issues.
Conclusions.
Exercises.
References.
Security.
Security Goals.
Security Architectures.
Conclusions.
Exercises.
References.
Introduction to Networking.
Network Basics.
Remote Procedure Call Protocols.
Conclusions.
Exercises.
References.
Distributed File Systems.
The Basics.
NFS Version 2.
Common Internet File System (CIFS).
DFS.
NFS Version 4.
Conclusions.

396 | P a g e
Exercises.

Cours
CSC 308 Frameworks pour le Développement d’Application Web

397 | P a g e
1. Objectifs du cours
Ce cours présente des concepts, des techniques, des technologies et des API pour le
développement d'applications Web. L'objectif principal du cours porte sur le modèle de
conception Model-View-Controller utilisé par les frameworks Web full-stack modernes. Les
concepts et techniques couverts comprennent la programmation client / serveur, les API
d'abstraction de base de données et le JavaScript asynchrone. Les exemples de framework
MVC full-stack incluent Ruby-on-Rails (écrit en Ruby), Django et TurboGears (écrit en
Python).

2. Concepts technologiques couverts par le cours


 Structures Push vs Pull,
 Conception Model-View-Controller,
 Gestion de la concurrence, gestion de l'état, persistance des couches de données
(session, base de données, cache),
 Bases des bases de données relationnelles, tests unitaires et tests fonctionnels,
création un analyseur simple, création d’une application web complète,
 Des problèmes de sécurité communs et comment les éviter
 Commandes Python
3. Pré-requis
CONDITIONS PRÉALABLES : CSC 374

4. Proposition de découpage du cours


Week 1
 Intro to the Python Programming Language

Week 2
 Installing Web2py - A first application

Week 3
 Understanding the Model - View - Controller design

Week 4
 More on Cookies, Sessions, Cache

Week 5
 More on Models and the Database Abstraction Layer

Week 6
 More on Controllers and Application Control Flow

398 | P a g e
Week 7
 More on Views/Template language

Week 8
 Overview of other MVC frameworks

Week 9
 Advanced topics: Effects/Ajax

Week 10
 Advanced topics: Web Services and Scheduler

5. Manuels de cours
Manuel de référence
SBN 9780578120218
Copyright Massimo Di Pierro (Standard Copyright License)
Edition 5th Edition
Publisher Experts4Solutions
Published March 12, 2013
Language English
Pages 61
Product ID 20745116

Manuels recommandés
o Livre1
Python Web Programming by Steve Holden Publisher:
Sams (January 18, 2002)
ISBN-10: 0735710902
ISBN-13: 978-0735710900
o Livre2

6. Sommaire du manuel de cours de référence


1 Introduction
Principles
Web frameworks
Model-View-Controller
Why web2py
Security

399 | P a g e
In the box
About this book
Support
Contribute
Elements of style
License
Acknowledgments
2 The Python language
About Python
Types
About indentation
for...in
while if...elif...else
try...except...else...finally
def...return
lambda
class
Special attributes, methods and operators
File input/output
exec, eval
import
3. Overview
Startup
Simple examples
Say hello
Debugging toolbar
Let’s count
Say my name
Postbacks
Internationalization
An image blog
1 Adding authentication
Adding grids
Configuring the layout
A simple wiki
On date, datetime and time format
The built-in web2py wiki

400 | P a g e
MARKMIN basics
Oembed protocol
Referencing wiki content.
Wiki menus
Service functions
Extending the auth. wiki feature
Components
More on admin
Site
About
Design
Errors
Mercurial
Application Wizard (experimental)
Configuring admin
Mobile admin
More on appadmin
4. The core
Command line options
Workflow
Dispatching
Libraries
Applications
API
1 Accessing the API from Python modules
Requests
Response
Session
Separate sessions
Cache
URL
Absolute URLs
Digitally signed
HTTP and redirect
Internationalization, and Pluralization with T
Determining the language
Translating variables

401 | P a g e
Cookies
Application init
URL rewrite.
Running tasks in the background.
Third party modules
Execution environment
Cooperation
Logging
WSGI
5 The views
Basic syntax
HTML helpers
BEAUTIFY.
Server-side DOM and parsing
Page layout
Functions in views
Blocks in views
6 The database abstraction layer
Dependencies
Connection strings.
Reserved keywords
DAL, Table, Field
Record representation
Migrations
Fixing broken migrations
insert
commit and rollback
Raw SQL
drop
Indexes
databases and keyed tables
Distributed transaction
More on uploads
Query, Set, Rows
select
Other methods
Computed fields

402 | P a g e
Virtual fields.
One to many relations
Many to many
list: and contains
Other operators
Generating raw sql
Exporting and importing data
Caching selects
Self-Reference and aliases
Advanced features
7 Forms and validators
FORM
SQLFORM
Other types of Forms
CRUD
Custom forms
Validators
Widgets
SQLFORM.grid and SQLFORM.smartgrid
8 Emails and SMS
Setting up email
Sending emails
Sending SMS messages
Using the template system to generate messages
Sending messages using a background task
Reading and managing email boxes (Experimental)
9 Access Control
Authentication
Authorization
Central Authentication Service
10 Services
Rendering a dictionary
Remote procedure calls
Low level API and other recipes
Restful Web Services
Services and Authentication.
11. jQuery and Ajax

403 | P a g e
web2py_ajax.html
jQuery effects
The ajax function
12 Components and plugins
Components
Plugins
13 Deployment recipes
anyserver.py
Linux and Unix
Windows
Securing sessions and admin
Efficiency and scalability
Deploying on Python Anywhere
Deploying on Heroku
Deploying on EC2
Deploying on Google App Engine
14 Other recipes
Upgrading
How to distribute your applications as binaries?
Wing IDE, Rad2Py, and Eclipse
SQLDesigner
Publishing a folder
Functional testing
Building a minimalist web2py
Fetching an external URL
Pretty dates
Geocoding
Pagination
httpserver.log and the Log File Format
Populating database with dummy data
Accepting credit card payments
14.15Dropbox API
Twitter API
Streaming virtual files

404 | P a g e
Cours
SE 333 Tests de Logiciels

1. Objectifs du cours

Ce cours est conçu pour le professionnel en génie logiciel afin d'acquérir une meilleure
compréhension des ingrédients clés dans la création et / ou la gestion d'un programme de
test réussi pour répondre aux besoins du projet. Les sujets traités comprennent la
planification du cycle de vie des tests, la conception des tests et l'analyse de la couverture,
la complexité, les niveaux de tests tels que l'unité, l'intégration, le système, les
performances et les tests de stress. Les stratégies de meilleures pratiques dans les tests de
logiciels tels que la vérification et la validation, les tests précoces du cycle de vie, les tests
basés sur les risques et l'automatisation seront également examinées, y compris l'exposition
aux méthodes et outils d'automatisation des tests.
À l'issue de ce cours, l'étudiant sera capable de :
 Définir les tests en boîte blanche et en boîte noire
 Décrire les tests statiques et dynamiques
 Décrire l’importance des conditions aux limites
 Et partitionnement d'équivalence
 Décrire les différentes normes et directives de codage,
 Et leur rôle dans la qualité des logiciels
 Décrire le but des tests unitaires
 Décrivez le but des tests non fonctionnels
 Décrire diverses techniques pour effectuer des opérations non fonctionnelles
 Décrire le contenu d'un plan de test logiciel
 Définir les spécifications de conception de test, les cas de test et les tests
Procédures
 Décrire divers outils de test de logiciels, et
Automatisation des tests logiciels
 Définir le cycle de vie d'un bug logiciel

405 | P a g e
 Acquérir des compétences de test logiciel en concevant,
 Documenter et exécuter des cas de test pour plusieurs
Systèmes logiciels

2. Concepts technologiques couverts par le cours


 Introduction aux tests de logiciels
 Processus de développement logiciel
 Axiomes de test de logiciel
 Précision et exactitude
 Vérification ET VALIDATION
 Tests statiques et dynamiques
 Analyse de la valeur limite
 Test de table de décision
 Essais combinatoires
 Automatisation des tests logiciels

3. Pré-requis
CONDITIONS PRÉALABLES : CSC 383 or SE 330 or CSC 301

4. Proposition de découpage du cours

Week Topics
Week 1 Introduction to Software Testing
Software Development Process.
Software Testing axioms
Precision and accuracy
Verification and validation
Textbook Chapters 1 & 2
Week 2 Static and dynamic testing
White box, black box, and gray box testing
Static & Dynamic with Black Box & White Box
Equivalence partitioning
Textbook Chapters 10, 18 & 19

406 | P a g e
Week 3 Boundary value analysis
Decision table testing
Combinatorial Testing
State-based testing.
Risk-based testing.
Textbook Chapters 3, 11 & 12
Week 4 Types of Testing
Unit Testing
Integration Testing
Functional & System Testing
Acceptance Testing
Regression Testing
Beta testing
Test Plan Development
Textbook Chapters 21 & 22
Week 5 MIDTERM EXAM
Week 6 Planning and Documenting the Test Effort
Test Plans
Test Design Specifications
Test Cases and Test Procedures
Textbook Chapters 17 & 20
Week 7 Testing Non-functional Requirements
Performance, Load, and Stress Testing
Rollout Testing
Security Testing
Usability Testing
Textbook Chapters 4 & 15
Week 8 Automated Testing
Test Tools (JUnit)
Software Test Automation
Test Case Tracking and Reporting
Textbook Chapter 23
Week 9 Bug Reporting
Metrics
Software Quality Assurance
Textbook Chapter 24
Week 10 Topics in Software Testing Final Exam

407 | P a g e
5. Manuels de cours
Manuel de référence
Software Testing and Analysis:
Process, Principles and Techniques,
by Mauro Pezze, Michal Young, Wiley,
April 2007

6. Sommaire du manuel de cours de référence

Part I - Fundamentals of Test and Analysis

Chapter 1 -Software Test and Analysis in a Nutshell


Chapter 2 -A Framework for Test and Analysis
Chapter 3 -Basic Principles
Chapter 4 - Test and Analysis Activities Within a Software Process

Part II - Basic Techniques

Chapter 5 - Finite Models


Chapter 6 - Dependence and Data Flow Models
Chapter 7 -Symbolic Execution and Proof of Properties Chapter 8 - Finite State
Verification
Part III - Problems and Methods

Chapter 9 - Test Case Selection and Adequacy


Chapter 10 - Functional Testing
Chapter 11 -Combinatorial Testing
Chapter 12 -Structural Testing
Chapter 13 - Data Flow Testing
Chapter 14 - Model-Based Testing
Chapter 15 - Testing Object-Oriented Software
Chapter 16 - Fault-Based Testing
Chapter 17 - Test Execution
Chapter 18 - Inspection
Chapter 19 - Program Analysis

Part IV – Process

Chapter 20 - Planning and Monitoring the Process

408 | P a g e
Chapter 21 - Integration and Component-based Software Testing
Chapter 22 -System, Acceptance, and Regression Testing
Chapter 23 -Automating Analysis and Test
Chapter 24 - Documenting Analysis and Test

409 | P a g e
Cours
CSC 394 Projet de Fin d’Etude - Stage

1. Objectifs du cours
Les étudiants bénéficieront d'une expérience dans la conception d'équipe, la mise en œuvre
et le test d'un grand projet de logiciel.

2. Concepts technologiques couverts par le cours

3. Pré-requis
CONDITIONS PRÉALABLES : CSC 301 or CSC 393 or ISM 360

4. Proposition de découpage du cours

Project Assignment grades


Concept Demo (due W3)
Requirements (due W5)
Architecture (due W6)
System Plan (due W7)
Project Preview Demo (due W9)
Final Project Presentation (due W11)
Final Project Documentation (due W11)
Individual Assessment of project contribution (due W11)
Weekly Individual Project Logs (due weekly)
5. Manuels de cours
Manuels optionnels
o Livre1
The IT Project Management Answer Book

410 | P a g e
by David Pratt 2012 ISBN:9781567263770

o Livre2
The Project Management Question and Answer Book
by Michael W. Newell & Marina N. Grashina 2004
ISBN:9780814471647

o Livre3
Agile Project Management for Dummies
by Mark C. Layton 2012 ISBN:9781118026243

6. Sommaire du manuel de cours de référence

411 | P a g e
Cours
MGT 301 Entreprenariat

1. Objectifs du cours
Ce cours d’introduction à l’entrepreneuriat vise à développer le sens de l’initiative et l’esprit
d’entreprise chez l’étudiant, afin de lui faire découvrir et exploiter son plein potentiel
entrepreneurial.

2. Concepts technologiques couverts par le cours

3. Pré-requis

4. Proposition de découpage du cours

5. Manuels de cours

6. Sommaire du manuel de cours de référence

412 | P a g e
Cours
MGT 302 Gestion des projets

1. Objectifs du cours
La licence professionnelle management de projets forme des cadres capables de conduire
des projets d’entreprise de toute sorte (projets tertiaires d’organisation, projets industriels,
projets socioculturels). Elle vise à développer la compréhension de l’entreprise et à acquérir
des connaissances théoriques et pratiques du management de projets (notion de démarche
projet, outils de gestion et de pilotage, communication, encadrement des équipes).
Selon les établissements de formation, la licence professionnelle management de projets
s’intitule de différentes façons : licence pro management de projets dans le tertiaire, licence
pro déploiement des systèmes de management et efficience des processus, licence pro
gestion et pilotage de projets.

2. Concepts technologiques couverts par le cours

3. Pré-requis

4. Proposition de découpage du cours

5. Manuels de cours

6. Sommaire du manuel de cours de référence

413 | P a g e

Vous aimerez peut-être aussi