Program Requirements
The B.Eng.; Minor in Applied Artificial Intelligence, open to all engineering students, is designed to provide the foundation for applications of AI techniques in various fields of interest.
Students must complete 7 courses as follows. Up to three courses can be double counted with the major.
Complementary Courses (2225)
Group A
3 credits from the following:

COMP 250 Introduction to Computer Science (3 credits) *
Overview
Computer Science (Sci) : Mathematical tools (binary numbers, induction, recurrence relations, asymptotic complexity, establishing correctness of programs), Data structures (arrays, stacks, queues, linked lists, trees, binary trees, binary search trees, heaps, hash tables), Recursive and nonrecursive algorithms (searching and sorting, tree and graph traversal). Abstract data types, inheritance. Selected topics.
Terms: Fall 2022, Winter 2023
Instructors: Alberini, Giulia (Fall) Alberini, Giulia (Winter)

ECSE 250 Fundamentals of Software Development (3 credits) *
Overview
Electrical Engineering : Software development practices in the context of objectoriented programming. Elementary data structures such as lists, stacks and trees. Recursive and nonrecursive algorithms: searching and sorting, tree and graph traversal. Asymptotic notation: Big O. Introduction to tools and practices employed in commercial software development.
Terms: Winter 2023
Instructors: Lin, HsiuChin (Winter)
Prerequisite: COMP 202
(324)
* COMP 250 and ECSE 250 cannot both be taken.
Group B
4 credits from the following:

COMP 551 Applied Machine Learning (4 credits) *
Overview
Computer Science (Sci) : 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.
Terms: Fall 2022, Winter 2023
Instructors: Li, Yue (Fall) Rabbany, Reihaneh (Winter)
Prerequisite(s): MATH 323 or ECSE 205 or ECSE 305 or equivalent
Restriction(s): Not open to students who have taken or are taking COMP 451. Not open to students who have taken or are taking ECSE 551.
Some background in Artificial Intelligence is recommended, e.g. COMP424 or ECSE526, but not required.

ECSE 551 Machine Learning for Engineers (4 credits) *
Overview
Electrical Engineering : 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.
Terms: Fall 2022, Winter 2023
Instructors: Armanfard, Narges (Fall) Armanfard, Narges (Winter)
* ECSE 551 and COMP 551 cannot both be taken
Group C
3 credits from the following:

ECSE 343 Numerical Methods in Engineering (3 credits)
Overview
Electrical Engineering : Number representation and numerical error. Symbolic vs. numerical computation. Curve fitting and interpolation. Numerical differentiation and integration. Optimization. Data science pipelines and datadriven 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.
Terms: Winter 2023
Instructors: Khazaka, Roni (Winter)

MATH 223 Linear Algebra (3 credits)
Overview
Mathematics & Statistics (Sci) : Review of matrix algebra, determinants and systems of linear equations. Vector spaces, linear operators and their matrix representations, orthogonality. Eigenvalues and eigenvectors, diagonalization of Hermitian matrices. Applications.
Terms: Fall 2022, Winter 2023
Instructors: Macdonald, Jeremy; Pichot, Michael (Fall) Macdonald, Jeremy (Winter)

MATH 247 Honours Applied Linear Algebra (3 credits)
Overview
Mathematics & Statistics (Sci) : 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.
Terms: Winter 2023
Instructors: Jakobson, Dmitry (Winter)

MATH 271 Linear Algebra and Partial Differential Equations (3 credits)
Overview
Mathematics & Statistics (Sci) : Applied Linear Algebra. Linear Systems of Ordinary Differential Equations. Power Series Solutions. Partial Differential Equations. SturmLiouville Theory and Applications. Fourier Transforms.
Terms: Fall 2022
Instructors: Roth, Charles (Fall)
Group D
3 credits from the following:

AEMA 310 Statistical Methods 1 (3 credits)
Overview
Mathematics (Agric&Envir Sci) : Measures of central tendency and dispersion; binomial and Poisson distributions; normal, chisquare, Student's t and FisherSnedecor F distributions; estimation and hypothesis testing; simple linear regression and correlation; analysis of variance for simple experimental designs.
Terms: Fall 2022, Winter 2023
Instructors: Dutilleul, Pierre R L (Fall) Bona, Kelly Ann (Winter)
Two 1.5hour lectures and one 2hour lab
Please note that credit will be given for only one introductory statistics course. Consult your academic advisor.

CIVE 302 Probabilistic Systems (3 credits)
Overview
Civil Engineering : An introduction to probability and statistics with applications to Civil Engineering design. Descriptive statistics, common probability models, statistical estimation, regression and correlation, acceptance sampling.
Terms: Winter 2023
Instructors: Chouinard, Luc E (Winter)

ECSE 205 Probability and Statistics for Engineers (3 credits)
Overview
Electrical Engineering : 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.
Terms: Fall 2022, Winter 2023
Instructors: Leib, Harry (Fall) Leib, Harry (Winter)
Not open to students who have taken ECSE 305.
(324)

MATH 203 Principles of Statistics 1 (3 credits)
Overview
Mathematics & Statistics (Sci) : Examples of statistical data and the use of graphical means to summarize the data. Basic distributions arising in the natural and behavioural sciences. The logical meaning of a test of significance and a confidence interval. Tests of significance and confidence intervals in the one and two sample setting (means, variances and proportions).
Terms: Fall 2022, Winter 2023, Summer 2023
Instructors: Sajjad, Alia; Kreitewolf, Jens (Fall) Nadarajah, Tharshanna (Winter)
No calculus prerequisites
Restriction: This course is intended for students in all disciplines. For extensive course restrictions covering statistics courses see Section 3.6.1 of the Arts and of the Science sections of the calendar regarding course overlaps.
You may not be able to receive credit for this course and other statistic courses. Be sure to check the Course Overlap section under Faculty Degree Requirements in the Arts or Science section of the Calendar. Students should consult http://www.mcgill.ca/students/transfercredit for information regarding transfer credits for this course.

MATH 323 Probability (3 credits)
Overview
Mathematics & Statistics (Sci) : Sample space, events, conditional probability, independence of events, Bayes' Theorem. Basic combinatorial probability, random variables, discrete and continuous univariate and multivariate distributions. Independence of random variables. Inequalities, weak law of large numbers, central limit theorem.
Terms: Fall 2022, Winter 2023, Summer 2023
Instructors: Nadarajah, Tharshanna; Sajjad, Alia (Fall) Asgharian, Masoud; Sajjad, Alia (Winter)

MECH 262 Statistics and Measurement Laboratory (3 credits)
Overview
Mechanical Engineering : Introduction to probability: conditional probability, binomial and Poisson distributions, random variables, laws of large numbers. Statistical analysis associated with measurements; regression and correlation. Basic experimental laboratory techniques, including the measurement of strain, pressure, force, position, and temperature.
Terms: Fall 2022, Winter 2023
Instructors: Matar, Osaid; Sabih, Amar (Fall) Nedic, Jovan (Winter)
(324)
Corequisite: MATH 263
Restriction: Open to U1 students or higher.

MIME 209 Mathematical Applications (3 credits)
Overview
Mining & Materials Engineering : Introduction to stochastic modelling of mining and metallurgical engineering processes. Description and analysis of data distributions observed in mineral engineering applications. Modelling with linear regression analysis. Taylor series application to error and uncertainty propagation. Metallurgical mass balance adjustments.
Terms: Winter 2023
Instructors: Matar, Osaid (Winter)
(324)
Group E
912 credits from the following:

COMP 417 Introduction Robotics and Intelligent Systems (3 credits)
Overview
Computer Science (Sci) : This course considers issues relevant to the design of robotic and of intelligent systems. How can robots move and interact. Robotic hardware systems. Kinematics and inverse kinematics. Sensors, sensor data interpretation and sensor fusion. Path planning. Configuration spaces. Position estimation. Intelligent systems. Spatial mapping. Multiagent systems. Applications.
Terms: Fall 2022
Instructors: Dudek, Gregory L; Lotfi, Faraz (Fall)

COMP 424 Artificial Intelligence (3 credits) ***
Overview
Computer Science (Sci) : Introduction to search methods. Knowledge representation using logic and probability. Planning and decision making under uncertainty. Introduction to machine learning.
Terms: Fall 2022
Instructors: Meger, David (Fall)

COMP 445 Computational Linguistics (3 credits)
Overview
Computer Science (Sci) : 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.
Terms: Winter 2023
Instructors: Hoover, Jacob (Winter)
Prerequisite(s): COMP 250 and MATH 240, or permission of instructor.
Restriction: Not open to students who have taken or are taking LING 445.
Students who are taking or have taken both COMP 330 and COMP 424 are advised to take COMP 550 in place of COMP 445/LING 445.
This is a doubleprefix course and is identical in content with LING 445.
Some background in linguistics at the level of LING 201 is desirable, though not critical.

COMP 550 Natural Language Processing (3 credits)
Overview
Computer Science (Sci) : 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.
Terms: This course is not scheduled for the 20222023 academic year.
Instructors: There are no professors associated with this course for the 20222023 academic year.

COMP 579 Reinforcement Learning (4 credits)
Overview
Computer Science (Sci) : Bandit algorithms, finite Markov decision processes, dynamic programming, MonteCarlo Methods, temporaldifference learning, bootstrapping, planning, approximation methods, on versus off policy learning, policy gradient methods temporal abstraction and inverse reinforcement learning.
Terms: Winter 2023
Instructors: Precup, Doina (Winter)

ECSE 415 Introduction to Computer Vision (3 credits)
Overview
Electrical Engineering : 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.
Terms: Fall 2022, Winter 2023
Instructors: Clark, James J (Fall) Arbel, Tal (Winter)

ECSE 446 Realistic Image Synthesis (3 credits)
Overview
Electrical Engineering : 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., shaderbased) techniques.
Terms: Fall 2022
Instructors: Nowrouzezahrai, Derek (Fall)

ECSE 507 Optimization and Optimal Control (3 credits)
Overview
Electrical Engineering : 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.
Terms: Winter 2023
Instructors: Michalska, Hannah (Winter)

ECSE 526 Artificial Intelligence (3 credits) ***
Overview
Electrical Engineering : Design principles of autonomous agents, agent architectures, machine learning, neural networks, genetic algorithms, and multiagent collaboration. The course includes a term project that consists of designing and implementing software agents that collaborate and compete in a simulated environment.
Terms: Fall 2022
Instructors: Cooperstock, Jeremy (Fall)

ECSE 544 Computational Photography (4 credits)
Overview
Electrical Engineering : 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; superresolution methods; image denoising; flash photography; image matting and compositing; high dynamic range imaging and tone mapping; image retargeting; image stitching.
Terms: Winter 2023
Instructors: Clark, James J (Winter)

ECSE 552 Deep Learning (4 credits)
Overview
Electrical Engineering : 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.
Terms: Winter 2023
Instructors: Emad, Amin (Winter)

ECSE 554 Applied Robotics
(4 credits)
Overview
Electrical Engineering : The approach and the challenges in the key components of manipulators and locomotors: representations, kinematics, dynamics, rigidbody chains, redundant systems, underactuated systems, control, planning, and perception. Practical aspects of robotics: collisions, integrating sensory feedback, and development of realtime software.
Terms: Fall 2022
Instructors: Lin, HsiuChin (Fall)

ECSE 557 Introduction to Ethics of Intelligent Systems (3 credits)
Overview
Electrical Engineering : 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.
Terms: Winter 2023
Instructors: Moon, AJung (Winter)

MECH 559 Engineering Systems Optimization (3 credits)
Overview
Mechanical Engineering : Introduction to systemsoriented engineering design optimization. Emphasis on i) understanding and representing engineering systems and their structure, ii) obtaining, developing, and managing adequate computational (physics and databased) models for their analysis, iii) constructing appropriate design models for their synthesis, and iv) applying suitable algorithms for their numerical optimization while accounting for systems integration issues. Advanced topics such as coordination of distributed problems and nondeterministic design optimization methods.
Terms: Fall 2022
Instructors: Al Handawi, Khalil (Fall)
(306)
*** COMP 424 and ECSE 526 cannot both be taken.
Or any 400 or 500 level special topics courses in the area of artificial intelligence with the approval of the Electrical and Computer Engineering department.