CEG 2136 Computer Architecture I (3 units)

Design a digital computer to execute a given instruction set. Design of digital computers. Register transfer and microoperations. Designing the instruction set, CPU and CPU control. Basic machine language programming. Using pipelines for CPU design. Designing the memory unit. Designing Imput-Output subsystem.

Course Component: Discussion Group, Laboratory, Lecture

Prerequisite: ITI 1100.

CEG 2536 Architecture des ordinateurs I (3 crédits)

Conception d'ordinateurs numériques. Transfert de données entre les registres et microopérations. Conception de l'ensemble des instructions, description et commande de l'unité de commande (PU). Programmation de base en langage machine. Conception série Pipeline de l'unité de commande. Conception de l'unité de mémoire. Conception des unités d'entrée et de sortie.

Volet : Tutoriel, Laboratoire, Cours magistral

Préalable : ITI 1500.

CEG 3136 Computer Architecture II (3 units)

Microprocessors and their general architecture. CISC and RISC architectures. Microcontrollers. Embedded systems. Designing computers using microprocessors. Introduction to computer hardware software codesign.

Course Component: Laboratory, Lecture, Tutorial

Prerequisite: CEG 2136.

CEG 3155 Digital Systems II (3 units)

Concepts of Sequential Logic: Finite State Machine model, state transition tables and state diagrams, Mealy and Moore models. Sequential circuits design: state reduction and assignment; implementation with D or JK flip-flops. Incompletely specified sequential circuits. Alternative State Machine representations: Algorithmic State Machines (ASM) and Hardware Description Languages (e.g., VHDL.). Synchronous sequential logic design with programmable logic (PLD, ROM, FPGA). Applications in designing computer interfaces and controllers. Asynchronous circuits. Hazards.

Course Component: Tutorial, Laboratory, Lecture

Prerequisite: CEG 2136.

CEG 3156 Computer Systems Design (3 units)

Computer design representations, levels of abstraction, systems specification and design. Models and architectures. Designing with a hardware description language (HDL) (e.g. VHDL). Advanced processor design methodologies. Memory hierarchies and interconnecting I/O devices to the processor. Estimating the design quality and evaluating the performance. Generic design methodologies.

Course Component: Laboratory, Lecture, Tutorial

Prerequisite: CEG 3155.

CEG 3185 Introduction to Data Communications and Networking (3 units)

Overview of computer networking, communication and transmission systems. Physical layer: introduction to Fourier analysis and signal impairments; basics of information theory, channel capacity, analog and digital data transmission, signal encoding. Data link layer protocols and multiplexing. Medium Access Control, framing, error control, flow/congestion control and their algorithms. Network layer: circuit vs. packet switching, asynchronous transfer mode, routing algorithms. Internet architectures and protocols. LAN architectures. Introduction to Wireless LANs.

Course Component: Laboratory, Lecture, Tutorial

MAT2377 or (MAT2371 and MAT2375) or ELG3126 are corequisite to CEG3185.

CEG 3536 Architecture d'ordinateurs II (3 crédits)

Microprocesseurs et leur architecture générale. Architectures CISC et RISC. Micro-contrôleurs. Systèmes inclus. Conception des ordinateurs à base de microprocesseurs. Introduction à la co-conception logiciel- matériel.

Volet : Tutoriel, Laboratoire, Cours magistral

Préalable : CEG 2536.

CEG 3555 Systèmes numériques II (3 crédits)

Concepts de la logique séquentielle : machines à états finis, tables de transition d'états, diagrammes d'états, modèles de Mealy et de Moore. Conception de circuits séquentiels : réduction d'états et affectation, implémentation à l'aide de bascules D ou JK. Circuits séquentiels partiellement spécifiés. Représentations alternatives de machines à états finis : machines à états algorithmiques (ASM), langages de description de circuits logiques (p.ex. VHDL). Conception de circuits logiques séquentiels synchrones à l'aide de circuits logiques programmables (PLD, ROM, FPGA). Applications à la conception d'interfaces et de contrôleurs informatiques. Circuits asynchrones. Hasards.

Volet : Laboratoire, Cours magistral, Tutoriel

Préalable : CEG 2536.

CEG 3556 Conception avancée des systèmes informatiques (3 crédits)

Représentations de conceptions informatiques, niveaux d'abstraction, spécifications de systèmes et leur conception. Modèles et architectures. Conception à l'aide d'un langage de description de matériel (p.ex. VHDL). Méthodologies avancées pour la conception de processeurs. Hiérarchies de mémoires. Interconnexion entre le processeur et les périphériques d'entrée/sortie. Estimation de qualité de conception et évaluation de la performance. Méthodologies de conception générique.

Volet : Laboratoire, Cours magistral, Tutoriel

Préalable : CEG 3555.

CEG 3585 Introduction à la communication de données et au réseautage (3 crédits)

Vue d'ensemble du réseautage d'ordinateurs et des systèmes de communication et de transmission. Couche physique : introduction à l'analyse de Fourier et à la détérioration de signaux; fondements de la théorie de l'information, capacité d'un canal, transmission de données analogue et numérique, codage de signaux. Protocoles de la couche liaison et multiplexage. Contrôle d'accès au support, mise en trame, contrôle d'erreur, contrôle de flux/congestion et leurs algorithmes. Couche réseau : commutation de circuits et de paquets, mode de transfert asynchrone, algorithmes de routage. Architectures et protocoles de l'Internet. Architectures de réseau local. Introduction aux réseaux locaux sans fil.

Volet : Laboratoire, Cours magistral, Tutoriel

MAT2777 ou (MAT2771 et MAT2775), ou ELG3526 sont concomitants à CEG3585.

CEG 4110 Topics in Computer Engineering I (3 units)

Specialized topics in Computer Engineering.

Course Component: Lecture

CEG 4112 Topics in Computer Engineering II (3 units)

Specialized topics in Computer Engineering.

Course Component: Lecture

CEG 4136 Computer Architecture III (3 units)

Multiprocessor systems: vector processors, array processors, SIMD, MIMD systems. Interconnection networks. Multiprocessor architecture and programming. Multiprocessing control and algorithms. The PRAM model and algorithms. Message-passing models and algorithms. Scheduling and arbitration algorithms. Parallel virtual machine. Message passing interface. Performance measures for multiprocessor systems.

Course Component: Laboratory, Lecture, Tutorial

Prerequisite: CEG 3136.

CEG 4140 Digital Control Systems (3 units)

Linear discrete dynamic systems. The z-transform. Sampled data systems. Sample rate selection. Quantization effects. Discrete equivalents of continuous transfer functions; the digital filter. Design of digital control systems using state-space models. System identification. Application and practice of digital control.

Course Component: Discussion Group, Laboratory, Lecture

Prerequisites: ELG 3155, MAT 2384.

CEG 4158 Computer Control in Robotics (3 units)

Evolution of robotics, mobile and manipulator robots, coordinate systems, kinematic models of manipulators, position, velocity and force control, sensors and actuators, robotic vision, workspace modeling, task and path planning, industrial robots, manufacturing and autonomous systems, robot programming.

Course Component: Tutorial, Laboratory, Lecture

Prerequisites: CEG 2136, ELG 3155.

CEG 4166 Real-Time Systems Design (3 units)

Definition of real-time systems; examples. Characteristics of real-time systems. Analysis frameworks and tools. Elements of real-time system structure. Reliability and fault tolerance. Exceptions and exception handling. Concurrency and concurrent programming in real-time systems. Synchronisation and communication, resource control, and scheduling in real-time systems. Real-time systems design methodologies. Computer assisted design of real-time systems

Course Component: Laboratory, Lecture, Tutorial

Prerequisite: CSI 3131.

CEG 4186 Wireless Networks (3 units)

Principles of wireless mobile networks. Cellular wireless networks. Multiple access protocols. Channel allocation algorithms. Data communications in wireless networks. Mobility and location management algorithms. Transport layer in wireless networks. Security; data management. Wireless Internet access protocols. Ad hoc and sensor networks, routing algorithms and protocols.

Course Component: Tutorial, Laboratory, Lecture

Prerequisite: CEG 3185. The courses CEG 4186, ELG 4179 cannot be combined for credits.

CEG 4187 Optical Networks (3 units)

Introduction to optical networking. Optical Switching components and systems. Wavelength Division Multiplexing. WDM networks. Optical ring networks Vs optical mesh networks. Optical network control architecture. Routing and wavelength assignment algorithms. Protection and restoration mechanisms in optical networks. Optical networks case studies.

Course Component: Discussion Group, Laboratory, Lecture

Prerequisite: CEG 3185.

CEG 4188 Higher Layer Network Protocols (3 units)

Communication services, protocols and software. Internet Protocols and IP addressing. Transport protocols: TCP, UDP, Quality of Service, connection management, flow and congestion control. Session, presentation and application protocols, such as DNS, Security, SNMP, HTTP. Performance issues. Fundamental concepts of computer network design.

Course Component: Laboratory, Lecture, Tutorial

Prerequisites: CEG 3185, CSI 3150.

CEG 4190 Computer Network Design (3 units)

Computer network design goals. Hierarchical design. LAN models and design, VLANs. Internet technologies; Internetworking principles and design. WAN design. Mobile wireless networks. Medium Access Control protocols. Quality of Service control. Traffic flow measurement and management.

Course Component: Laboratory, Lecture, Tutorial

Prerequisite: CEG 3185.

CEG 4198 Distributed Systems Design (3 units)

Hardware/software architectures for distributed computing environments. Design issues for distributed systems and distributed computing. Protocols for process communications. Time and coordination; algorithms. Design of distributed systems memory; shared memory. Replication mechanisms and architectures. Design of distributed system services: File, Naming, Security and Transactions Services in distributed systems. Recovery and fault tolerance. Performance of distributed systems. Designing distributed computing environments.

Course Component: Discussion Group, Laboratory, Lecture

Prerequisites: SEG 2106, CEG 3185.

CEG 4316 Digital Image Processing (3 units)

Introduction to image processing. Two and three-dimensional signals and systems. Linear filters and Fourier Transforms. Image sampling and quantization. Color spaces. Image representations: block transforms and subband/wavelet representations. Image transformations and filtering, image restoration. Source coding methods: entropy coding, quantization, predictive, transform and subband coding, application to lossless and lossy image and video coding.

Course Component: Discussion Group, Laboratory, Lecture

Prerequisite: ELG 3125.

CEG 4396 Computer Network Management (3 units)

Foundations of network and system management. Management architectures. Information model, organizational model, communication model, Functional model; SNMP network management; OSI network management, CMIP; Internet management.

Course Component: Lecture, Laboratory, Tutorial

Prerequisite: CEG 3185.

CEG 4399 Design of Secure Computer Systems (3 units)

Security policies. Security mechanisms. Physical security. Security awareness. User authentication. Application security mechanisms. Encryption. External and internal firewalls. Security of operating systems and software. Security of e-commerce applications. Design of security system and components. Devices for security analysis; sniffers, attack detectors. Information warfare. Ethical issues in computer security.

Course Component: Laboratory, Lecture, Tutorial

CEG 4510 Sujets spéciaux en génie informatique I (3 crédits)

Sujets spéciaux dans le domaine de génie informatique.

Volet : Cours magistral

CEG 4512 Sujets spéciaux en génie informatique II (3 crédits)

Sujets spéciaux dans le domaine de génie informatique.

Volet : Cours magistral

CEG 4536 Architecture des ordinateurs III (3 crédits)

Systèmes à processeurs multiples: processeurs vectoriels, systèmes SIMD et MIMD. Interconnexion en réseaux. Programmation de systèmes à processeurs multiples et algorithmes. Modèle PRAM et algorithmes. Modèles à échange de messages et algorithmes. Algorithmes d'ordonnancement et d'arbitration. Machine parallèle virtuelle. L'interface pour l'échange de messages. Mesures de performance des systèmes à processeurs multiples.

Volet : Laboratoire, Cours magistral, Tutoriel

Préalable : CEG 3536.

CEG 4540 Systèmes de commandes numériques (3 crédits)

Systèmes linéaires discrets. Transformée en Z. Systèmes à échantillonnage. Sélection de la fréquence d'échantillonnage. Effets de la quantification. Équivalents numériques de fonctions de transfert continues; transformation numérique. Conception de systèmes de commande numériques à l'aide de la représentation d'état. Identification des systèmes. Application et pratique de la commande numérique.

Volet : Groupe de discussion, Laboratoire, Cours magistral

Préalables : ELG 3555, MAT 2784.

CEG 4558 Commande par ordinateur en robotique (3 crédits)

Évolution de la robotique, robots mobiles et manipulateurs, systèmes de coordonnées, modèles cinématiques des manipulateurs, commande en position, vitesse et force, capteurs et actionneurs, vision robotique, modélisation de l'espace de travail, planification de tâche et de trajectoire, robots industriels, systèmes manufacturiers et autonomes, programmation des robots.

Volet : Cours magistral, Groupe de discussion, Laboratoire

Préalables : CEG 2536, ELG 3555.

CEG 4566 Conception de systèmes informatiques en temps réel (3 crédits)

Définition des systèmes en temps réel; exemples. Caractéristiques de systèmes en temps réel. Outils et techniques d'analyse. Structure de systèmes en temps réel. Fiabilités et tolérance de défaillances. Prise en charge d'exceptions. Simultanéité d'exécution et programmation simultanée de système en temps réel. Synchronisation et communication, contrôle et ordonnancement de ressources dans de systèmes en temps réel. Méthodologies de conception de systèmes en temps réel. Conception assistée par ordinateur de systèmes en temps réel.

Volet : Laboratoire, Cours magistral, Tutoriel

Préalable : CSI 3531.

CEG 4586 Réseaux sans fil (3 crédits)

Principes de base des réseaux sans fil mobiles. Réseaux sans fil cellulaires. Protocoles à accès multiple. Algorithmes d'allocation des canaux. Communication des données aux réseaux sans fil. Algorithmes de mobilité et de gestion de location. La couche transport aux réseaux sans fil. Sécurité; gestion des données. Protocoles Internet sans fil. Réseaux temporaires et sensoriels; algorithmes et protocoles de routage.

Volet : Groupe de discussion, Laboratoire, Cours magistral

Préalable : CEG 3585. Les cours CEG 4586, ELG 4579 ne peuvent être combinés pour l'obtention de crédits.

CEG 4587 Réseaux optiques (3 crédits)

Introduction aux réseaux optiques. Composants et systèmes pour commutation optique. Multiplexage en longueur d'onde. Réseaux WDM. Réseaux optiques en anneaux vs réseaux maillés optiques. Architecture de contrôle pour réseaux optiques. Algorithmes de routage et d'allocation de longueur d'onde. Mécanismes de protection et de restauration pour réseaux optiques. Études de cas en réseaux optiques.

Volet : Groupe de discussion, Laboratoire, Cours magistral

Préalable : CEG 3585.

CEG 4588 Protocoles de haut niveau (3 crédits)

Services, protocoles et logiciels de communication. Protocoles Internet et adressage IP. Protocoles de la couche transport : TCP, UDP, qualité de service, gestion de connexions, contrôle de flux et de congestion. Protocoles des couches session, présentation, et application : DNS, sécurité, SNMP, et HTTP. Problèmes de performance. Concepts de base en conception de réseaux d'ordinateurs.

Volet : Groupe de discussion, Laboratoire, Cours magistral

Préalable : CEG 3585.

CEG 4590 Conception des réseaux informatiques (3 crédits)

Buts de conception des réseaux. Conception hiérarchique. Modèles et conception de réseaux locaux (LAN, VLAN). Technologies Internet. Principes d'interréseautage et conception. Conception des réseaux étendus (WAN). Réseaux mobiles sans fil. Protocoles de contrôle d'accès au support. Contrôle de la qualité de service. Mesures et gestion d'écoulement du trafic.

Volet : Groupe de discussion, Laboratoire, Cours magistral

Préalable : CEG 3585.

CEG 4598 Conception de systèmes distribués (3 crédits)

Architectures matérielles et logicielles pour environnements informatiques distribués. Problématique de la conception de systèmes informatiques distribués. Protocoles pour la communication des processus. Algorithmes de coordination et de synchronisation. Conception de systèmes à mémoire distribuée, partage de mémoire. Mécanismes de réplication et architectures. Conception de services dans les systèmes distribués: fichier, sécurité et services de transactions. Recouvrement et tolérance aux erreurs. Performance des systèmes distribués. Conception d'environnements informatiques distribués.

Volet : Cours magistral, Groupe de discussion, Laboratoire

Préalables : SEG 2506, CEG 3585.

CEG 4716 Traitement numérique des images (3 crédits)

Introduction au traitement des images. Signaux et systèmes à deux et à trois dimensions. Filtres linéaires et transformée de fourier. Échantillonnage et numérisation des images. Espaces de couleurs. Représentation des images: transformation et filtrage des images, restauration des images. Méthodes de compression: codage basé sur l'entropie, quantification, codage prédictif, codage par transformée, et codage sous-bande. Application au codage sans pertes et avec pertes des images et des signaus vidéo.

Volet : Groupe de discussion, Laboratoire, Cours magistral

Préalable : ELG 3525.

CEG 4796 Gestion de réseaux informatiques (3 crédits)

Notions fondamentales de gestion de réseaux et de systèmes. Architectures de gestion. Modèle d'information, modèle organisationnel, modèle de communication, modèle fonctionnel. Gestion de réseaux SNMP, gestion de réseaux OSI, CMIP. Gestion de l'Internet.

Volet : Cours magistral, Groupe de discussion, Laboratoire

Préalable : CEG 3585.

CEG 4799 Conception de systèmes informatiques sécuritaires (3 crédits)

Politiques de sécurité. Mécanismes de sécurité. Sécurité physique. Conscience de la sécurité. Authentification d'utilisateur. Application des mécanismes de sécurité. Codage. "Firewalls" internes et externes. Sécurité des systèmes d'opération et des logiciels. Sécurité des applications de commerce électronique. Conception de systèmes et composantes de sécurité. Dispositifs pour l'analyse de la sécurité, renifleurs, détecteurs d'attaque. Guerre de l'information. Aspects éthiques de la sécurité informatique.

Volet : Groupe de discussion, Laboratoire, Cours magistral

Préalable : CEG 3585 ou SEG 3555.

CEG 4912 Projet de conception en génie informatique I / Computer Engineering Design Project I (3 crédits / 3 units)

Applying previously acquired theoretical and experimental knowledge and skills from mathematics, basic sciences, engineering sciences and complementary studies, a team of students will design a significant computer engineering system to meet specific needs. The project will be subject to constraints, governed by standings or legislation, which may relate to economic, health, safety, environmental, social or other pertinent factors. The work carried out during the first term will represent the first iteration of the project including project management, analysis, design, implementation, testing and quality assurance. Deliverables include written documentation and presentations in class. Work is guided by a professor, but is performed for an external entity designated the 'customer', who must be satisfied with the team's work.

Volet / Course Component: Laboratoire / Laboratory, Cours magistral / Lecture

Prerequisites: CEG 3136/CEG 3536, CEG 3156/CEG 3556.

CEG 4913 Projet de conception en génie informatique II / Computer Engineering Design Project II (3 crédits / 3 units)

Completion of work started in CEG 4912. Work includes project management, analysis, design, implementation, test and quality assurance, and a final report. Deliverables include written documentation, presentation in class, and a demo.

Volet / Course Component: Laboratoire / Laboratory, Cours magistral / Lecture

Prerequisite: CEG 4912.