Computer Engineering (B.Eng.) (133 credits)
Offered by: Electrical & Computer Engr (Faculty of Engineering)
Degree: Bachelor of Engineering
Program credit weight: 133 credits
Program Description
Program credit weight: 133-136 credits
Program credit weight for Quebec CEGEP students: 108-111 credits
Program credit weight for out-of-province students: 133-136 credits
The Computer Engineering program provides students with greater depth and breadth of knowledge in the hardware and software aspects of computers. Students are exposed to both theoretical and practical issues of both hardware and software in well-equipped laboratories. Although the program is designed to meet the growing demands by industry for engineers with a strong background in modern computer technology, it also provides the underlying depth for graduate studies in all fields of Computer Engineering.
In addition to technical complementary courses, students in the program take general complementary courses in social sciences, management studies, and humanities. These courses allow students to develop specific interests in areas such as psychology, economics, management, or political science.
Note: For information about Fall 2025 and Winter 2026 course offerings, please check back on May 8, 2025. Until then, the "Terms offered" field will appear blank for most courses while the class schedule is being finalized.
Required Year 0 (Freshman) Courses (25 credits)
Generally, students admitted to Engineering from Quebec CEGEPs are granted transfer credit for these Year 0 (Freshman) courses and enter a 108- to 111 credit program.
For information on transfer credit for French Baccalaureate, International Baccalaureate exams, Advanced Placement exams, Advanced Levels, and Science Placement Exams, see http://www.mcgill.ca/engineering/current-students/undergraduate/new-stud... and select your term of admission.
Course | Title | Credits |
---|---|---|
CHEM 120 | General Chemistry 2. | 4 |
General Chemistry 2. Terms offered: this course is not currently offered. A study of the fundamental principles of physical chemistry. | ||
MATH 133 | Linear Algebra and Geometry. | 3 |
Linear Algebra and Geometry. Terms offered: Summer 2025 Systems of linear equations, matrices, inverses, determinants; geometric vectors in three dimensions, dot product, cross product, lines and planes; introduction to vector spaces, linear dependence and independence, bases. Linear transformations. Eigenvalues and diagonalization. | ||
MATH 140 | Calculus 1. | 3 |
Calculus 1. Terms offered: Summer 2025 Review of functions and graphs. Limits, continuity, derivative. Differentiation of elementary functions. Antidifferentiation. Applications. | ||
MATH 141 | Calculus 2. | 4 |
Calculus 2. Terms offered: Summer 2025 The definite integral. Techniques of integration. Applications. Introduction to sequences and series. | ||
PHYS 131 | Mechanics and Waves. | 4 |
Mechanics and Waves. Terms offered: this course is not currently offered. The basic laws and principles of Newtonian mechanics; oscillations, waves, and wave optics. | ||
PHYS 142 | Electromagnetism and Optics. | 4 |
Electromagnetism and Optics. Terms offered: this course is not currently offered. The basic laws of electricity and magnetism; geometrical optics. |
AND 3 credits selected from the approved list of courses in Humanities and Social Sciences, Management Administrative Studies, and Law, listed below under Complementary Studies (Group B).
Note: FACC 100 Introduction to the Engineering Profession. must be taken during the first year of study.
Required Non-Departmental Courses (26 credits)
Course | Title | Credits |
---|---|---|
COMP 202 | Foundations of Programming. | 3 |
Foundations of Programming. Terms offered: Summer 2025 Introduction to computer programming in a high level language: variables, expressions, primitive types, methods, conditionals, loops. Introduction to algorithms, data structures (arrays, strings), modular software design, libraries, file input/output, debugging, exception handling. Selected topics. | ||
COMP 206 | Introduction to Software Systems. | 3 |
Introduction to Software Systems. Terms offered: this course is not currently offered. Comprehensive overview of programming in C, use of system calls and libraries, debugging and testing of code; use of developmental tools like make, version control systems. | ||
COMP 251 | Algorithms and Data Structures. | 3 |
Algorithms and Data Structures. Terms offered: this course is not currently offered. Data Structures: priority queues, balanced binary search trees, hash tables, graphs. Algorithms: topological sort, connected components, shortest paths, minimum spanning trees, bipartite matching, network flows. Algorithm design: greedy, divide and conquer, dynamic programming, randomization. Mathematicaltools: proofs of asymptotic complexity and program correctness, Master theorem. | ||
FACC 100 | Introduction to the Engineering Profession. 1 | 1 |
Introduction to the Engineering Profession. Terms offered: this course is not currently offered. Introduction to engineering practice; rights and code of conduct for students; professional conduct and ethics; engineer's duty to society and the environment; sustainable development; occupational health and safety; overview of the engineering disciplines taught at McGill. | ||
FACC 250 | Responsibilities of the Professional Engineer. | 0 |
Responsibilities of the Professional Engineer. Terms offered: this course is not currently offered. A course designed to provide all Engineering students with further training regarding their responsibilities as future Professional Engineers. Particular focus will be placed on three professional characteristics that future engineers must demonstrate: i) professionalism, ii) ethical and equitable behaviour, and iii) consideration of the impact of engineering on society and the environment. | ||
FACC 300 | Engineering Economy. | 3 |
Engineering Economy. Terms offered: Summer 2025 Introduction to the basic concepts required for the economic assessment of engineering projects. Topics include: accounting methods, marginal analysis, cash flow and time value of money, taxation and depreciation, discounted cash flow analysis techniques, cost of capital, inflation, sensitivity and risk analysis, analysis of R and D, ongoing as well as new investment opportunities. | ||
FACC 400 | Engineering Professional Practice. | 1 |
Engineering Professional Practice. Terms offered: this course is not currently offered. Laws, regulations and codes governing engineering professional practice. Responsibility and liability. Environmental legislation. Project and organization management. Relations between engineer and client. Technical practice - analysis, design, execution and operation. | ||
MATH 240 | Discrete Structures. | 3 |
Discrete Structures. Terms offered: this course is not currently offered. Introduction to discrete mathematics and applications. Logical reasoning and methods of proof. Elementary number theory and cryptography: prime numbers, modular equations, RSA encryption. Combinatorics: basic enumeration, combinatorial methods, recurrence equations. Graph theory: trees, cycles, planar graphs. | ||
MATH 262 | Intermediate Calculus. | 3 |
Intermediate Calculus. Terms offered: Summer 2025 Series and power series, including Taylor's theorem. Brief review of vector geometry. Vector functions and curves. Partial differentiation and differential calculus for vector valued functions. Unconstrained and constrained extremal problems. Multiple integrals including surface area and change of variables. | ||
MATH 263 | Ordinary Differential Equations for Engineers. | 3 |
Ordinary Differential Equations for Engineers. Terms offered: Summer 2025 First order ODEs. Second and higher order linear ODEs. Series solutions at ordinary and regular singular points. Laplace transforms. Linear systems of differential equations with a short review of linear algebra. | ||
WCOM 206 | Communication in Engineering. | 3 |
Communication in Engineering. Terms offered: Summer 2025 Written and oral communication in Engineering (in English): strategies for generating, developing, organizing, and presenting ideas in a technical setting; problem-solving; communicating to different audiences; editing and revising; and public speaking. Course work based on academic, technical, and professional writing in engineering. |
- 1
Note: FACC 100 Introduction to the Engineering Profession. must be taken during the first year of study.
Required Computer Engineering Courses (64 credits)
Course | Title | Credits |
---|---|---|
ECSE 200 | Electric Circuits 1. | 3 |
Electric Circuits 1. Terms offered: this course is not currently offered. Circuit variables. Analysis of resistive circuits, network theorems (Kirchhoff’s laws, Ohm’s law, Norton and Thevenin equivalent). Ammeters, Voltmeters, and Ohmmeters. Analysis methods (nodal and mesh analysis, linearity, superposition). Dependent sources and Op-Amps. Energy storage elements. First and second order circuits. | ||
ECSE 205 | Probability and Statistics for Engineers | 3 |
Probability and Statistics for Engineers Terms offered: Summer 2025 Probability: basic probability model, conditional probability, Bayes rule, random variables and vectors, distribution and density functions, common distributions in engineering, expectation, moments, independence, laws of large numbers, central limit theorem. Statistics: descriptive measures of engineering data, sampling distributions, estimation of mean and variance, confidence intervals, hypothesis testing, linear regression. | ||
ECSE 206 | Introduction to Signals and Systems. | 3 |
Introduction to Signals and Systems. Terms offered: this course is not currently offered. Review of complex functions. Discrete-and continuous-time signals, basic system properties. Linear time-invariant systems, convolution. Fourier series and Fourier transforms, frequency-domain analysis, filtering, sampling. Laplace transforms and inversion, transfer functions, poles and zeros, solutions of linear constant-coefficient differential equations, transient and steady-state response. Z-transforms. | ||
ECSE 210 | Electric Circuits 2. | 3 |
Electric Circuits 2. Terms offered: Summer 2025 Second-order circuits. Sinusoidal sources and phasors. AC steady-state analysis. AC steady-state power. Laplace transform. Circuit analysis in the s-Domain. Two-port circuits. Elementary continuous signals, impulse functions, basic properties of continuous linear time-invariant (LTI) systems. Frequency analysis of continuous-time LTI systems. | ||
ECSE 211 | Design Principles and Methods. | 3 |
Design Principles and Methods. Terms offered: this course is not currently offered. Engineering process: design specifications, parameters, optimization, implementation, troubleshooting and refinement; project management: scheduling, risk analysis, project control; case studies; design examples and project. | ||
ECSE 222 | Digital Logic. | 3 |
Digital Logic. Terms offered: this course is not currently offered. An introduction to digital logic, binary numbers and Boolean algebra, combinational circuits, optimized implementation of combinational circuits, arithmetic circuits, combinational circuit building blocks, flip-flops, registers, counters, design of digital circuits with VHDL, and synchronous sequential circuits. | ||
ECSE 223 | Model-Based Programming. | 3 |
Model-Based Programming. Terms offered: this course is not currently offered. Integration of modelling with programming; abstraction in software engineering; structural modelling; state-based modelling; modelling of object-oriented systems, code generation; natural language constraints in modelling notations; architectural and design patterns; integrated development environments; programming tools (debugging, continuous build/integration, version control and code repositories, diff, defect and issue tracking, refactoring); code review processes. | ||
ECSE 250 | Fundamentals of Software Development. | 3 |
Fundamentals of Software Development. Terms offered: this course is not currently offered. Software development practices in the context of object-oriented programming. Elementary data structures such as lists, stacks and trees. Recursive and non-recursive algorithms: searching and sorting, tree and graph traversal. Asymptotic notation: Big O. Introduction to tools and practices employed in commercial software development. | ||
ECSE 308 | Introduction to Communication Systems and Networks. | 4 |
Introduction to Communication Systems and Networks. Terms offered: this course is not currently offered. Information and bandwidth, signals, modulation and noise, transmission and switching. Principles of layered design and the OSI model, measures of performance. Information sources and services. Application, Presentation and Session layers. Transport and Network layers. Data link layer and multi-user communication. Physical layer and transmission techniques. Wireline and wireless transmission media. Core (Backbone), and Access Communication Networks. Communication network classification. Laboratory work involving analog and digital transmission techniques. | ||
ECSE 310 | Thermodynamics of Computing. | 3 |
Thermodynamics of Computing. Terms offered: this course is not currently offered. An introduction to thermodynamics from the perspective of computer engineering. The first and second laws of thermodynamics; elementary information theory (bits, entropy); energy storage and dissipation in electrical circuits; effects of noise in switching circuits; the fluctuation-dissipation theorem; Landauer’s principle; reversible and irreversible computation; energy costs of communication; thermal resistance, heat sinking, and cooling technologies for computing circuits. | ||
ECSE 321 | Introduction to Software Engineering. | 3 |
Introduction to Software Engineering. Terms offered: this course is not currently offered. Design, development and testing of software systems. Software life cycle: requirements analysis, software architecture and design, implementation, integration, test planning, and maintenance. The course involves a group project. | ||
ECSE 324 | Computer Organization. | 4 |
Computer Organization. Terms offered: this course is not currently offered. Basic computer structures; instruction set architecture; assembly language; input/output; memory; software; processor implementation; computer arithmetic. Lab work involving assembly language level programming of single-board computers. | ||
ECSE 325 | Digital Systems. | 3 |
Digital Systems. Terms offered: this course is not currently offered. Design of digital systems. Implementation technologies; arithmetic modules; synthesis and advanced modelling techniques; verification; timing analysis; design for testability; asynchronous circuits; hardware/software co-design. | ||
ECSE 331 | Electronics. | 4 |
Electronics. Terms offered: this course is not currently offered. Introduction to electronic circuits using operational amplifiers, PN junction diodes, bipolar junction transistors (BJTs), and MOS field-effect transistors (MOSFETs), including: terminal characteristics, large- and small-signal models; configuration and frequency response of amplifiers with discrete biasing. Introduction to SPICE. Lab work involving simulation experiments and testing of simple circuits using discrete transistors. | ||
ECSE 353 | Electromagnetic Fields and Waves. | 3 |
Electromagnetic Fields and Waves. Terms offered: this course is not currently offered. Divergence, gradient and curl. The divergence theorem and Stokes’ theorem. Maxwell’s equations in integral and differential form. Waves in free space and on transmission lines. Electric and magnetic force and energy. Magnetic materials. Faraday's law. Applications to engineering problems. S-parameters. | ||
ECSE 425 | Computer Architecture. | 3 |
Computer Architecture. Terms offered: this course is not currently offered. Trends in technology. CISC vs. RISC architectures. Pipelining. Instruction level parallelism. Data and Control Hazards. Static prediction. Exceptions. Dependencies. Loop level paralleism. Dynamic scheduling, branch prediction. Branch target buffers. Superscalar and N-issue machines. VLIW. ILP techniques. Cache analysis and design. Interleaved and virtual memory. TLB translations and caches. | ||
ECSE 427 | Operating Systems. | 3 |
Operating Systems. Terms offered: this course is not currently offered. Operating system services, file system organization, disk and cpu scheduling, virtual memory management, concurrent processing and distributed systems, protection and security. Aspects of the DOS and UNIX operating systems and the C programming language. Programs that communicate between workstations across a network. | ||
ECSE 444 | Microprocessors. | 4 |
Microprocessors. Terms offered: this course is not currently offered. Design techniques for developing modern microprocessor-based systems, multiple state-of-art instructions set architectures (ISAs) and associated assembly languages, use of tools for compiling, linking, memory overlay; debug techniques for start-stop and real-time debugging, together with debug infrastructure and interfaces: flash patching, variable watching and instruction stream tracing. Use of coprocessors and computer peripherals, such as SPI, I2C, I2S, SAI, USB, wireless standards, timers, DMA units and FLASH accelerators. Interfacing and processing sensor data including multi-sensor integration. Design techniques that promote structured approaches for separation of concerns in computing and communication. Real-time systems and software engineering for tightly integrated hardware. | ||
ECSE 458D1 | Capstone Design Project. | 3 |
Capstone Design Project. Terms offered: this course is not currently offered. A design project undertaken with close mentorship by a staff member and under the supervision of the course instructor. The project consists of defining an engineering problem, reviewing relevant background, acquiring/analyzing data, and seeking solutions using appropriate simulation/analysis tools and experimental investigations. Professional engineering practices will be followed. | ||
ECSE 458D2 | Capstone Design Project. | 3 |
Capstone Design Project. Terms offered: this course is not currently offered. See ECSE 458D1 for course description. |
Note: ECSE 458N1 Capstone Design Project. and ECSE 458N2 Capstone Design Project. can be taken instead of ECSE 458D1 Capstone Design Project. and ECSE 458D2 Capstone Design Project..
Complementary Courses (15-18 credits)
Technical Complementaries
9-12 credits (3 courses) must be taken, chosen as follows:
3-4 credits (1 course) from List A
6-8 credits (2 courses) from List A or List B
List A
3-12 credits from the following:
Course | Title | Credits |
---|---|---|
ECSE 307 | Linear Systems and Control. | 4 |
Linear Systems and Control. Terms offered: this course is not currently offered. Modelling and simulation of control systems, review of LTI systems, time response of first and second order systems, state space modeling, controllability, state feedback and pole placement, observability, observer design, and output feedback, block diagrams and their simplification, Routh-Hurwitz stability criterion, system type and steady state errors, Bode plots, Nyquist plots, Nyquist stability criterion, gain and phase margins, lead-lag compensators. Lab work involving step response, frequency response, system identification, state feedback, output feedback, and lead-lag compensators. | ||
ECSE 335 | Microelectronics. | 4 |
Microelectronics. Terms offered: this course is not currently offered. Single-stage integrated-circuit amplifiers; differential and multistage amplifiers, integrated-circuit biasing techniques; non-ideal characteristics, frequency response; feedback amplifiers, output stages; digital CMOS logic circuits. Lab work on designing, building, and debugging electronic hardware using discrete transistors and circuit building blocks | ||
ECSE 403 | Control. | 4 |
Control. Terms offered: this course is not currently offered. Stability of linear and non-linear systems, controllability, state space models, canonical forms, state space design of controllers, pole placement, LQR, observability, Luenberger observer, separation principle and certainty equivalence, loop transfer recovery, correspondence between system theoretic results for continuous- and discrete-time systems. Lab work involving applications of PID, lead-lag, full state feedback and LQR controllers to robotic devices. | ||
ECSE 408 | Communication Systems. | 4 |
Communication Systems. Terms offered: this course is not currently offered. Communication system models; AM and FM modulation, performance of AM and FM systems in noise; sampling, FDM and TDM multiplexing systems; baseband and pass-band digital transmission over noisy band-limited channels, digital modulation and detection techniques and their quantitative performance; concepts of entropy and channel capacity, selected data compression and error-control coding techniques. Illustrative examples taken from subscriber loop telephone systems, evolution of internet modems and wireless cellular phone standards. Lab work involving measurement of the performance of AM and FM systems with noise, digital modulation techniques and spectra, experiments with basic error control coding systems. | ||
ECSE 412 | Discrete Time Signal Processing. | 3 |
Discrete Time Signal Processing. Terms offered: this course is not currently offered. Discrete-time signals and systems; Fourier and Z-transform analysis techniques, the discrete Fourier transform; elements of FIR and IIR filter design, filter structures; FFT techniques for high speed convolution; quantization effects. | ||
ECSE 415 | Introduction to Computer Vision. | 3 |
Introduction to Computer Vision. Terms offered: this course is not currently offered. An introduction to the automated processing, analysis, and understanding of image data. Topics include image formation and acquisition, design of image features, image segmentation, stereo and motion correspondence matching techniques, feature clustering, regression and classification for object recognition, industrial and consumer applications, and computer vision software tools. | ||
ECSE 416 | Telecommunication Networks. | 4 |
Telecommunication Networks. Terms offered: this course is not currently offered. Architecture and protocols of contemporary networks; wired and wireless access systems; flow and congestion control; network optimization; randomized multiple access protocols; queueing disciplines; low-power wireless networks. Examples: Ethernet, TCP/IP, 802.11, 802.15.4. Lab experiments addressing routing protocols, TCP, queuing disciplines and quality-of-service, and network security. | ||
ECSE 420 | Parallel Computing. | 3 |
Parallel Computing. Terms offered: this course is not currently offered. Modern parallel computing architectures for shared memory, message passing and data parallel programming models. The design of cache coherent shared memory multiprocessors. Programming techniques for multithreaded, message passing and distributed systems. Use of modern programming languages and parallel programming libraries. | ||
ECSE 428 | Software Engineering Practice. | 3 |
Software Engineering Practice. Terms offered: this course is not currently offered. Software engineering practice in industry, related to the design and commissioning of large software systems. Ethical, social, economic, safety and legal issues. Metrics, project management, costing, marketing, control, standards, CASE tools and bugs. The course involves a large team project. | ||
ECSE 435 | Mixed-Signal Test Techniques. | 3 |
Mixed-Signal Test Techniques. Terms offered: this course is not currently offered. Purpose and economics of mixed-signal test, DC measurements. Accuracy and repeatability. DSP-based theory and its applications to parametric testing of analog filters, DACs, and ADC. Timing and PLL measurements. Design for Testability. | ||
ECSE 439 | Software Language Engineering. | 3 |
Software Language Engineering. Terms offered: this course is not currently offered. Practical and theoretical knowledge for developing software languages and models; foundations for model-based software development; topics include principles of model-driven engineering; concern-driven development; intentional, structural, and behavioral models as well as configuration models; constraints; language engineering; domain-specific languages; metamodeling; model transformations; models of computation; model analyses; and modeling tools. | ||
ECSE 508 | Multi-Agent Systems. | 3 |
Multi-Agent Systems. Terms offered: this course is not currently offered. Introduction to game theory, strategic games, extensive form games with perfect and imperfect information, repeated games and folk theorems, cooperative game theory, introduction to mechanism design, markets and market equilibrium, pricing and resource allocation, application in telecommunication networks, applications in communication networks, stochastic games. | ||
ECSE 544 | Computational Photography. | 4 |
Computational Photography. Terms offered: this course is not currently offered. An overview of techniques and theory underlying computational photography. Topics include: radiometry and photometry; lenses and image formation; electronic image sensing; colour processing; lightfield cameras; image deblurring; super-resolution methods; image denoising; flash photography; image matting and compositing; high dynamic range imaging and tone mapping; image retargeting; image stitching. |
List B
0-12 credits from the following:
Course | Title | Credits |
---|---|---|
COMP 307 | Principles of Web Development. | 3 |
Principles of Web Development. Terms offered: this course is not currently offered. The course discusses the major principles, algorithms, languages and technologies that underlie web development. Students receive practical hands-on experience through a project. | ||
COMP 370 | Introduction to Data Science. | 3 |
Introduction to Data Science. Terms offered: this course is not currently offered. Comprehensive introduction to the data science process. Orientation to the use and configuration of core data science toolkits, data collection and annotation fundamentals, principles of responsible data science, the use of quantitative tools in data science, and presentation of data science findings. | ||
COMP 421 | Database Systems. | 3 |
Database Systems. Terms offered: this course is not currently offered. Database Design: conceptual design of databases (e.g., entity-relationship model), relational data model, functional dependencies. Database Manipulation: relational algebra, SQL, database application programming, triggers, access control. Database Implementation: transactions, concurrency control, recovery, query execution and query optimization. | ||
COMP 424 | Artificial Intelligence. 1 | 3 |
Artificial Intelligence. Terms offered: this course is not currently offered. Introduction to search methods. Knowledge representation using logic and probability. Planning and decision making under uncertainty. Introduction to machine learning. | ||
COMP 445 | Computational Linguistics. | 3 |
Computational Linguistics. Terms offered: this course is not currently offered. Introduction to foundational ideas in computational linguistics and natural language processing. Topics include formal language theory, probability theory, estimation and inference, and recursively defined models of language structure. Emphasis on both the mathematical foundations of the field as well as how to use these tools to understand human language. | ||
COMP 512 | Distributed Systems. | 4 |
Distributed Systems. Terms offered: this course is not currently offered. Models and Architectures. Application-oriented communication paradigms (e.g. remote method invocation, group communication). Naming services. Synchronization (e.g. mutual exclusion, concurrency control). Fault-tolerance (e.g. process and replication, agreement protocols). Distributed file systems. Security. Examples of distributed systems (e.g. Web, CORBA). Advanced Topics. | ||
COMP 520 | Compiler Design. | 4 |
Compiler Design. Terms offered: this course is not currently offered. The structure of a compiler. Lexical analysis. Parsing techniques. Syntax directed translation. Run-time implementation of various programming language constructs. Introduction to code generation for an idealized machine. Students will implement parts of a compiler. | ||
COMP 549 | Brain-Inspired Artificial Intelligence. | 3 |
Brain-Inspired Artificial Intelligence. Terms offered: this course is not currently offered. Overview of the influence of neuroscience and psychology on Artificial Intelligence (AI). Historical topics: perceptrons, the PDP framework, Hopfield nets, Boltzmann and Helmholtz machines, and the behaviourist origins of reinforcement learning. Modern topics: deep learning, attention, memory and consciousness. Emphasis on understanding the interdisciplinary foundations of modern AI. | ||
COMP 550 | Natural Language Processing. | 3 |
Natural Language Processing. Terms offered: this course is not currently offered. An introduction to the computational modelling of natural language, including algorithms, formalisms, and applications. Computational morphology, language modelling, syntactic parsing, lexical and compositional semantics, and discourse analysis. Selected applications such as automatic summarization, machine translation, and speech processing. Machine learning techniques for natural language processing. | ||
COMP 551 | Applied Machine Learning. 2 | 4 |
Applied Machine Learning. Terms offered: this course is not currently offered. Selected topics in machine learning and data mining, including clustering, neural networks, support vector machines, decision trees. Methods include feature selection and dimensionality reduction, error estimation and empirical validation, algorithm design and parallelization, and handling of large data sets. Emphasis on good methods and practices for deployment of real systems. | ||
COMP 559 | Fundamentals of Computer Animation. | 4 |
Fundamentals of Computer Animation. Terms offered: this course is not currently offered. Fundamental mathematical and computational issues in computer animation with a focus on physics based simulation: overview of numerical integration methods, accuracy and absolute stability, stiff systems and constraints, rigid body motion, collision detection and response, friction, deformation, stable fluid simulation, use of motion capture, and other selected topics. | ||
COMP 562 | Theory of Machine Learning. | 4 |
Theory of Machine Learning. Terms offered: this course is not currently offered. Concentration inequalities, PAC model, VC dimension, Rademacher complexity, convex optimization, gradient descent, boosting, kernels, support vector machines, regression and learning bounds. Further topics selected from: Gaussian processes, online learning, regret bounds, basic neural network theory. | ||
COMP 579 | Reinforcement Learning. | 4 |
Reinforcement Learning. Terms offered: this course is not currently offered. Bandit algorithms, finite Markov decision processes, dynamic programming, Monte-Carlo Methods, temporal-difference learning, bootstrapping, planning, approximation methods, on versus off policy learning, policy gradient methods temporal abstraction and inverse reinforcement learning. | ||
COMP 588 | Probabilistic Graphical Models. | 4 |
Probabilistic Graphical Models. Terms offered: this course is not currently offered. Representation, inference and learning with graphical models; directed and undirected graphical models; exact inference; approximate inference using deterministic optimization based methods, stochastic sampling based methods; learning with complete and partial observations. | ||
ECSE 343 | Numerical Methods in Engineering. | 3 |
Numerical Methods in Engineering. Terms offered: this course is not currently offered. Number representation and numerical error. Symbolic vs. numerical computation. Curve fitting and interpolation. Numerical differentiation and integration. Optimization. Data science pipelines and data-driven approaches. Preliminary machine learning. Solutions of systems of linear equations and nonlinear equations. Solutions of ordinary and partial differential equations. Applications in engineering, physical simulation, CAD, machine learning and digital media. | ||
ECSE 421 | Embedded Systems. | 3 |
Embedded Systems. Terms offered: this course is not currently offered. Definition, structure and properties of embedded systems. Real-time programming: interrupts, latency, context, re-entrancy, thread and process models. Microcontroller and DSP architectures, I/O systems, timing and event management. Real-time kernels and services. Techniques for development, debugging and verification. Techniques for limited resource environments. Networking for distributed systems. | ||
ECSE 422 | Fault Tolerant Computing. | 3 |
Fault Tolerant Computing. Terms offered: this course is not currently offered. Introduction to fault-tolerant systems. Fault-tolerance techniques through hardware, software, information and time redundancy. Failure classification, failure semantics, failure masking. Exception handling: detection, recovery, masking and propagation, termination vs. resumption. Reliable storage, reliable communication. Process groups, synchronous and asynchronous group membership and broadcast services. Automatic redundancy management. Case studies. | ||
ECSE 424 | Human-Computer Interaction. | 3 |
Human-Computer Interaction. Terms offered: this course is not currently offered. The course highlights human-computer interaction strategies from an engineering perspective. Topics include user interfaces, novel paradigms in human-computer interaction, affordances, ecological interface design, ubiquitous computing and computer-supported cooperative work. Attention will be paid to issues of safety, usability, and performance. | ||
ECSE 429 | Software Validation. | 3 |
Software Validation. Terms offered: this course is not currently offered. Correct and complete implementation of software requirements. Verification and validation lifecycle. Requirements analysis, model based analysis, and design analysis. Unit and system testing, performance, risk management, software reuse. Ubiquitous computing. | ||
ECSE 437 | Software Delivery. | 3 |
Software Delivery. Terms offered: this course is not currently offered. Design, development, and implementation of code integration processes, release pipelines, and deployment strategies. | ||
ECSE 446 | Realistic Image Synthesis. | 3 |
Realistic Image Synthesis. Terms offered: this course is not currently offered. Introduction to mathematical models of light transport and the numerical techniques used to generate realistic images in computer graphics. Offline (i.e., raytracing) and interactive (i.e., shader-based) techniques. | ||
ECSE 472 | Fundamentals of Circuit Simulation and Modelling. | 3 |
Fundamentals of Circuit Simulation and Modelling. Terms offered: this course is not currently offered. Principles of circuit simulation. Formulation of network equations. Frequency domain analysis. Nonlinear networks. Transient analysis. Sensitivity analysis. Harmonic balance. Shooting method. Model order reduction. Macromodelling. | ||
ECSE 500 | Mathematical Foundations of Systems. | 3 |
Mathematical Foundations of Systems. Terms offered: this course is not currently offered. Basic set theories and algebraic structures, linear spaces, linear mappings, topological and metric spaces, separable spaces, continuity, compactness, Lebesque measure on Euclidean spaces, measurability, Banach spaces, Hilbert spaces, linear bounded operators in Banach spaces, dual spaces, adjoint operators, the Orthogonal Projection Theorem, properties of the Fourier series, convergence in probability. | ||
ECSE 501 | Linear Systems. | 3 |
Linear Systems. Terms offered: this course is not currently offered. Mathematical models of linear systems, fundamental solution and transition matrices, non-homogeneous linear equations, controllability and observability of linear systems, reachable subspaces, Cayley-Hamilton's Theorem, Kalman's controllability and observability rank conditions, minimal realizations, frequency response, invariant subspaces, finite and infinite horizon linear regulator problems, uniform, exponential, and input-output stability, the Lyapunov equation. | ||
ECSE 507 | Optimization and Optimal Control. | 3 |
Optimization and Optimal Control. Terms offered: this course is not currently offered. General introduction to optimization methods including steepest descent, conjugate gradient, Newton algorithms. Generalized matrix inverses and the least squared error problem. Introduction to constrained optimality; convexity and duality; interior point methods. Introduction to dynamic optimization; existence theory, relaxed controls, the Pontryagin Maximum Principle. Sufficiency of the Maximum Principle. | ||
ECSE 509 | Probability and Random Signals 2. | 3 |
Probability and Random Signals 2. Terms offered: this course is not currently offered. Multivariate Gaussian distributions; finite-dimensional mean-square estimation (multivariate case); principal components; introduction to random processes; weak stationarity: correlation functions, spectra, linear processing and estimation; Poisson processes and Markov chains: state processes, invariant distributions; stochastic simulation. | ||
ECSE 516 | Nonlinear and Hybrid Control Systems. | 3 |
Nonlinear and Hybrid Control Systems. Terms offered: this course is not currently offered. Examples of hybrid control systems (HCS). Review of nonlinear system state, controllability, observability, stability. HCS specified via ODEs and automata. Continuous and discrete states and dynamics; controlled and autonomous discrete state switching. HCS stability via Lyapunov theory and LaSalle Invariance Principle. Hybrid Maximum Principle and Hybrid Dynamic Programming; computational algorithms. | ||
ECSE 521 | Digital Communications 1. | 3 |
Digital Communications 1. Terms offered: this course is not currently offered. Transmission over AWGN channels: optimum receiver design, digital modulation techniques, coherent, noncoherent and differentially coherent detection. Signal design for bandlimited AWGN channels. Channel capacity. Channel coding: block codes, convolutional codes, coded modulation techniques, turbo codes. Transmission over AWGN and ISI channels: MLSE, linear equalization, decision-feedback equalization, precoding, multi-carrier transmission. | ||
ECSE 525 | Satellite Navigation Systems . | 4 |
Satellite Navigation Systems . Terms offered: this course is not currently offered. Fundamentals of satellite navigation. Overview of existing systems. Augmentation systems. Signal processing techniques, and receiver structures. Kalman Filtering techniques in satellite navigation. Selected applications of satellite navigation. | ||
ECSE 526 | Artificial Intelligence. 1 | 3 |
Artificial Intelligence. Terms offered: this course is not currently offered. Design principles of autonomous agents, agent architectures, machine learning, neural networks, genetic algorithms, and multi-agent collaboration. The course includes a term project that consists of designing and implementing software agents that collaborate and compete in a simulated environment. | ||
ECSE 532 | Computer Graphics. | 4 |
Computer Graphics. Terms offered: this course is not currently offered. Fundamental mathematical, algorithmic and representational issues in computer graphics: overview of graphics pipeline, homogeneous coordinates, projective transformations, line-drawing and rasterization, hidden surface removal, surface modelling (quadrics, bicubics, meshes), rendering (lighting, reflectance models, ray tracing, texture mapping), compositing colour perception, and other selected topics. | ||
ECSE 551 | Machine Learning for Engineers. | 4 |
Machine Learning for Engineers. Terms offered: this course is not currently offered. Introduction to machine learning: challenges and fundamental concepts. Supervised learning: Regression and Classification. Unsupervised learning. Curse of dimensionality: dimension reduction and feature selection. Error estimation and empirical validation. Emphasis on good methods and practices for deployment of real systems. | ||
ECSE 552 | Deep Learning. | 4 |
Deep Learning. Terms offered: this course is not currently offered. Overview of mathematical background and basics of machine learning, deep feedforward networks, regularization for deep learning, optimization for training deep learning models, convolutional neural networks, recurrent and recursive neural networks, practical considerations,applications of deep learning, recent models and architectures in deep learning. | ||
ECSE 554 | Applied Robotics . | 4 |
Applied Robotics . Terms offered: this course is not currently offered. The approach and the challenges in the key components of manipulators and locomotors: representations, kinematics, dynamics, rigid-body chains, redundant systems, underactuated systems, control, planning, and perception. Practical aspects of robotics: collisions, integrating sensory feedback, and development of real-time software. | ||
ECSE 556 | Machine Learning in Network Biology. | 4 |
Machine Learning in Network Biology. Terms offered: this course is not currently offered. Basics of machine learning; basics of molecular biology; network-guided machine learning in systems biology; network-guided bioinformatics analysis; analysis of biological networks; network module identification; global and local network alignment; construction of biological networks. | ||
ECSE 557 | Introduction to Ethics of Intelligent Systems. | 3 |
Introduction to Ethics of Intelligent Systems. Terms offered: this course is not currently offered. Ethics and social issues related to AI and robotic systems. Consideration for normative values (e.g., fairness) in the design. Ethics principles, data and privacy issues, ethics challenges in interaction and interface design. | ||
ECSE 561 | Automated Program Analysis and Testing. | 3 |
Automated Program Analysis and Testing. Terms offered: this course is not currently offered. Introduction to automated software analysis and testing techniques. Foundations of program analysis, software fault models, and test coverage models. Development and design of automated program analysis and test generation techniques. | ||
ECSE 575 | Heterogeneous Integration Systems. | 3 |
Heterogeneous Integration Systems. Terms offered: this course is not currently offered. Discussion of high performance heterogeneous integration systems. Introduction to key design challenges, including interconnect, power delivery, synchronization, and testing, with respect to heterogeneous systems. Analysis of state-of-the-art integration platforms, such as three-dimensional integrated circuits, wafer-scale integration, and flexible substrates with respect to applications of interest. System-level perspective of the integration hierarchy (i.e., integrated circuit, package, and board). | ||
MATH 247 | Honours Applied Linear Algebra. | 3 |
Honours Applied Linear Algebra. Terms offered: this course is not currently offered. Matrix algebra, determinants, systems of linear equations. Abstract vector spaces, inner product spaces, Fourier series. Linear transformations and their matrix representations. Eigenvalues and eigenvectors, diagonalizable and defective matrices, positive definite and semidefinite matrices. Quadratic and Hermitian forms, generalized eigenvalue problems, simultaneous reduction of quadratic forms. Applications. |
- 1
COMP 424 Artificial Intelligence. and ECSE 526 Artificial Intelligence. cannot both be taken.
- 2
ECSE 551 Machine Learning for Engineers. and COMP 551 Applied Machine Learning. cannot both be taken.
Complementary Studies
Group A - Impact of Technology on Society
3 credits from the following:
Course | Title | Credits |
---|---|---|
ANTH 212 | Anthropology of Development. | 3 |
Anthropology of Development. Terms offered: this course is not currently offered. Processes of developmental change, as they affect small communities in the Third World and in unindustrialized parts of developed countries. Problems of technological change, political integration, population growth, industrialization, urban growth, social services, infrastructure and economic dependency. | ||
BTEC 502 | Biotechnology Ethics and Society. | 3 |
Biotechnology Ethics and Society. Terms offered: Winter 2026 Examination of particular social and ethical challenges posed by modern biotechnology such as benefit sharing, informed consent in the research setting, access to medical care worldwide, environmental safety and biodiversity and the ethical challenges posed by patenting life. | ||
ECON 225 | Economics of the Environment. | 3 |
Economics of the Environment. Terms offered: this course is not currently offered. A study of the application of economic theory to questions of environmental policy. Particular attention will be given to the measurement and regulation of pollution, congestion and waste and other environmental aspects of specific economies. | ||
ECON 347 | Economics of Climate Change. | 3 |
Economics of Climate Change. Terms offered: this course is not currently offered. The course focuses on the economic implications of, and problems posed by, predictions of global warming due to anthropogenic emissions of greenhouse gases. Attention is given to economic policies such as carbon taxes and tradeable emission permits and to the problems of displacing fossil fuels with new energy technologies. | ||
ENVR 201 | Society, Environment and Sustainability. | 3 |
Society, Environment and Sustainability. Terms offered: this course is not currently offered. This course deals with how scientific-technological, socio-economic, political-institutional and behavioural factors mediate society-environment interactions. Issues discussed include population and resources; consumption, impacts and institutions; integrating environmental values in societal decision-making; and the challenges associated with, and strategies for, promoting sustainability. Case studies in various sectors and contexts are used. | ||
GEOG 200 | Geographical Perspectives: World Environmental Problems. | 3 |
Geographical Perspectives: World Environmental Problems. Terms offered: this course is not currently offered. Introduction to geography as the study of nature and human beings in a spatial context. An integrated approach to environmental systems and the human organization of them from the viewpoint of spatial relationships and processes. Special attention to environmental problems as a constraint upon Third World development. | ||
GEOG 203 | Environmental Systems. | 3 |
Environmental Systems. Terms offered: this course is not currently offered. An introduction to system-level interactions among climate, hydrology, soils and vegetation at the scale of drainage basins, including the study of the global geographical variability in these land-surface systems. The knowledge acquired is used to study the impact on the environment of various human activities such as deforestation and urbanisation. | ||
GEOG 205 | Global Change: Past, Present and Future. | 3 |
Global Change: Past, Present and Future. Terms offered: this course is not currently offered. An examination of global change, from the Quaternary Period to the present day involving changes in the physical geography of specific areas. Issues such as climatic change and land degradation will be discussed, with speculations on future environments. | ||
GEOG 302 | Environmental Management 1. | 3 |
Environmental Management 1. Terms offered: this course is not currently offered. An ecological analysis of the physical and biotic components of natural resource systems. Emphasis on scientific, technological and institutional aspects of environmental management. Study of the use of biological resources and of the impact of individual processes. | ||
MGPO 440 | Strategies for Sustainability. 1 | 3 |
Strategies for Sustainability. Terms offered: this course is not currently offered. This course explores the relationship between economic activity, management, and the natural environment. Using readings, discussions and cases, the course will explore the challenges that the goal of sustainable development poses for our existing notions of economic goals, production and consumption practices and the management of organizations. | ||
PHIL 343 | Biomedical Ethics. | 3 |
Biomedical Ethics. Terms offered: this course is not currently offered. An investigation of ethical issues as they arise in the practice of medicine (informed consent, e.g.) or in the application of medical technology (in vitro fertilization, euthanasia, e.g.) | ||
RELG 270 | Religious Ethics and the Environment. | 3 |
Religious Ethics and the Environment. Terms offered: this course is not currently offered. Environmental potential of various religious traditions and secular perspectives, including animal rights, ecofeminism, and deep ecology. | ||
SOCI 235 | Technology and Society. | 3 |
Technology and Society. Terms offered: this course is not currently offered. An examination of the extent to which technological developments impose constraints on ways of arranging social relationships in bureaucratic organizations and in the wider society: the compatibility of current social structures with the effective utilization of technology. | ||
SOCI 312 | Sociology of Work and Industry. | 3 |
Sociology of Work and Industry. Terms offered: this course is not currently offered. The development of the world of work from the rise of industrial capitalism to the postindustrial age. Responses of workers and managers to changing organizational, technological and economic realities. Interrelations between changing demands in the workplace and the functioning of the labour market. Canadian materials in comparative perspective. | ||
URBP 201 | Planning the 21st Century City. | 3 |
Planning the 21st Century City. Terms offered: this course is not currently offered. The study of how urban planners respond to the challenges posed by contemporary cities world-wide. Urban problems related to the environment, shelter, transport, human health, livelihoods and governance are addressed; innovative plans to improve cities and city life are analyzed. |
- 1
Note: Management courses have limited enrolment and registration dates. See Important Dates at http://www.mcgill.ca/importantdates.
Group B - Humanities and Social Sciences, Management Studies, and Law
3 credits at the 200 level or higher from the following departments:
Anthropology (ANTH)
Economics (any 200- or 300-level course excluding ECON 227 Economic Statistics. and ECON 337 Introductory Econometrics 1.)
History (HIST)
Philosophy (excluding PHIL 210 Introduction to Deductive Logic 1. and PHIL 310 Intermediate Logic.)
Political Science (POLI)
Psychology (excluding PSYC 204 Introduction to Psychological Statistics. and PSYC 305 Statistics for Experimental Design., but including PSYC 100 Introduction to Psychology.)
Religious Studies (RELG) (excluding courses that principally impart language skills, such as Sanskrit, Tibetan, Tamil, New Testament Greek, and Biblical Hebrew)1
School of Social Work (SWRK)
Sociology (excluding SOCI 350 Statistics in Social Research.)
OR 3 credits from the following:
Course | Title | Credits |
---|---|---|
ARCH 528 | History of Housing. | 3 |
History of Housing. Terms offered: this course is not currently offered. Indigenous housing both transient and permanent, from the standpoint of individual structure and pattern of settlements. The principal historic examples of houses including housing in the age of industrial revolution and contemporary housing. | ||
BUSA 465 | Technological Entrepreneurship. 2 | 3 |
Technological Entrepreneurship. Terms offered: this course is not currently offered. Concentrating on entrepreneurship and enterprise development, particular attention is given to the start-up, purchasing and management of small to medium-sized industrial firms. The focal point is in understanding the dilemmas faced by entrepreneurs, resolving them, developing a business plan and the maximum utilization of the financial, marketing and human resources that make for a successful operation. | ||
CLAS 203 | Greek Mythology. | 3 |
Greek Mythology. Terms offered: this course is not currently offered. A survey of the myths and legends of Ancient Greece. | ||
ENVR 203 | Knowledge, Ethics and Environment. | 3 |
Knowledge, Ethics and Environment. Terms offered: this course is not currently offered. Introduction to cultural perspectives on the environment: the influence of culture and cognition on perceptions of the natural world; conflicts in orders of knowledge (models, taxonomies, paradigms, theories, cosmologies), ethics (moral values, frameworks, dilemmas), and law (formal and customary, rights and obligations) regarding political dimensions of critical environments, resource use, and technologies. | ||
ENVR 400 | Environmental Thought. | 3 |
Environmental Thought. Terms offered: this course is not currently offered. Students work in interdisciplinary seminar groups on challenging philosophical, ethical, scientific and practical issues. They will explore cutting-edge ideas and grapple with the reconciliation of environmental imperatives and social, political and economic pragmatics. Activities include meeting practitioners, attending guest lectures, following directed readings, and organizing, leading and participating in seminars. | ||
FACC 220 | Law for Architects and Engineers. | 3 |
Law for Architects and Engineers. Terms offered: this course is not currently offered. Aspects of the law which affect architects and engineers. Definition and branches of law; Federal and Provincial jurisdiction, civil and criminal law and civil and common law; relevance of statutes; partnerships and companies; agreements; types of property, rights of ownership; successions and wills; expropriation; responsibility for negligence; servitudes/easements, privileges/liens, hypothecs/ mortgages; statutes of limitations; strict liability of architect, engineer and builder; patents, trade marks, industrial design and copyright; bankruptcy; labour law; general and expert evidence; court procedure and arbitration. | ||
FACC 501 | Technology Business Plan Project. | 3 |
Technology Business Plan Project. Terms offered: this course is not currently offered. Students work in teams to develop a comprehensive business plan project based on a technological or engineering innovation while utilizing site visits. | ||
HISP 225 | Hispanic Civilization 1. | 3 |
Hispanic Civilization 1. Terms offered: this course is not currently offered. A survey of historical and cultural elements which constitute the background of the Hispanic world up to the 18th century; a survey of the pre-Columbian indigenous civilizations (Aztec, Maya and Inca) and the conquest of America. | ||
HISP 226 | Hispanic Civilization 2. | 3 |
Hispanic Civilization 2. Terms offered: this course is not currently offered. A survey of the constitution of the ideological and political structures of the Spanish Empire in both Europe and America until the Wars of Independence; a survey of the culture and history of the Hispanic people from the early 19th Century to the present. | ||
INDR 294 | Introduction to Labour-Management Relations. 2 | 3 |
Introduction to Labour-Management Relations. Terms offered: this course is not currently offered. An introduction to labour-management relations, the structure, function and government of labour unions, labour legislation, the collective bargaining process, and the public interest in industrial relations. | ||
INTG 215 | Entrepreneurship Essentials for Non-Management Students. 3 | 3 |
Entrepreneurship Essentials for Non-Management Students. Terms offered: this course is not currently offered. Fundamental concepts, theories, and practices of entrepreneurship. Focus on identifying opportunities, developing business ideas, and understanding key components of starting and managing a business. | ||
MATH 338 | History and Philosophy of Mathematics. | 3 |
History and Philosophy of Mathematics. Terms offered: this course is not currently offered. Egyptian, Babylonian, Greek, Indian and Arab contributions to mathematics are studied together with some modern developments they give rise to, for example, the problem of trisecting the angle. European mathematics from the Renaissance to the 18th century is discussed, culminating in the discovery of the infinitesimal and integral calculus by Newton and Leibnitz. Demonstration of how mathematics was done in past centuries, and involves the practice of mathematics, including detailed calculations, arguments based on geometric reasoning, and proofs. | ||
MGCR 222 | Introduction to Organizational Behaviour. 2 | 3 |
Introduction to Organizational Behaviour. Terms offered: Summer 2025 Individual motivation and communication style; group dynamics as related to problem solving and decision making, leadership style, work structuring and the larger environment. Interdependence of individual, group and organization task and structure. | ||
MGCR 352 | Principles of Marketing. 2 | 3 |
Principles of Marketing. Terms offered: Summer 2025 Introduction to marketing principles, focusing on problem solving and decision making. Topics include: the marketing concept; marketing strategies; buyer behaviour; Canadian demographics; internal and external constraints; product; promotion; distribution; price. Lectures, text material and case studies. | ||
ORGB 321 | Leadership. 2 | 3 |
Leadership. Terms offered: Summer 2025 Leadership theories provide students with opportunities to assess and work on improving their leadership skills. Topics include: the ability to know oneself as a leader, to formulate a vision, to have the courage to lead, to lead creatively, and to lead effectively with others. | ||
ORGB 423 | Human Resources Management. 2 | 3 |
Human Resources Management. Terms offered: this course is not currently offered. Issues involved in personnel administration. Topics include: human resource planning, job analysis, recruitment and selection, training and development, performance appraisal, organization development and change, issues in compensation and benefits, and labour-management relations. |
- 1
If you are uncertain whether or not a course principally imparts language skills, please see an adviser in the McGill Engineering Student Centre (Frank Dawson Adams Building, Room 22) or email an adviser.
- 2
Note: Management courses have limited enrolment and registration dates. See Important Dates at http://www.mcgill.ca/importantdates.
- 3
INTG 215 Entrepreneurship Essentials for Non-Management Students. is not open to students who have taken INTG 201 Integrated Management Essentials 1. and INTG 202 Integrated Management Essentials 2..
Note regarding language courses: Language courses are not accepted to satisfy the Complementary Studies Group B requirement, effective for students who entered the program as of Fall 2017.
Elective Course (3 credits)
One 3-credit course at the 200-level or higher from any department at McGill, approved by the Undergraduate Programs Office in the Department of Electrical and Computer Engineering.