The Department of Electrical and Computer Engineering offers undergraduate degree programs in three domains: Electrical Engineering, Electrical Engineering (including Honours), Computer Engineering and Software Engineering. All programs provide students with a strong background in mathematics, basic sciences, engineering science, and engineering design.

Electrical Engineering

Students in electrical engineering train to become versatile professionals capable of tackling large-scale problems of power system decarbonization all the way down to the development of nanoelectronic structures. Students will learn to code and develop software most often in a problem-solving perspective, and will get to understand how the architecture of modern computers puts bounds on calculation accuracy, speed and energy consumption. Due to the generalist nature of this program, students will have access to a wide array of technical complementary courses which cover areas such as software design, control systems, telecommunications and networks, photonics and applied electromagnetics, semiconductor-level electronics, machine learning and AI, computer vision and graphics, power and energy, medical diagnostic devices, etc.

Computer Engineering

Students in computer engineering train to become versatile professionals with a deep understanding of the architecture, implementation and programming of modern computing platforms. McGill computer engineering students learn to code and develop software from the perspective of its compilation and execution within microprocessors, the associated data flows and overall system control mechanisms in today’s multitasking and often parallelized computing environments. Students study how physical phenomena inherent to semiconductor-based digital circuits limit their speed and puts constraints on design spaces. Technical complementary courses allow students to specialize to develop skills related to software design, embedded systems, parallel computing, machine learning and AI, computer networks, human-computer interaction, etc.

Software Engineering

Students in software engineering train to become versatile professionals with the skills to address the full lifecycle of software systems, which may or may not have safety critical elements. McGill software engineering students learn to code and develop software with the end goal of delivering software projects that meet clients’ expectations within design constraints and industry’s best practices. Students will also gain an understanding of the limitations set by the hardware on which code will run, and how to therefore adapt development practices as a function of the target platform. Technical complementary courses make it possible for students to further their industry-relevant skills by studying parallel algorithm design, software release processes, computer graphics and animation, machine learning and AI, safety-critical design, etc.

Language of Instruction

The language of instruction at McGill University is English. Students may however write examinations, theses, or term papers in either French or English. Francophone students may find assistance at Le Phare.

Back to top