Graduate programmes in Electrical Engineering and Computer Engineering

Additional Information

Admission
Admission to Graduate Studies
Dates to Remember
Important Dates and Deadlines
Administration Fees and Tuition
RMC Academic Fees

Contact

Department Head
Dr. Francis Okou
Graduate Studies Committee Chair
Dr. Sylvain P. Leblanc
Telephone
613-541-6000 ext 6355
Fax
613-544-8107
Web Page
Department of Electrical and Computer Engineering
Related Links
Department of Electrical and Computer Engineering
Web Page
Department of Electrical and Computer Engineering
 

General Information

Programmes Offered

The Department of Electrical and Computer Engineering offers the Master's and Doctoral degree programmes in Engineering, with specialty fields of Electrical Engineering, Computer Engineering, and Software Engineering.

This department's graduate research programme is closely affiliated with and supported by DND research labs, directorates and agencies. There is also ongoing collaboration with government laboratories, private companies, and other universities in various research areas.

Graduate Research

Graduate research may be pursued in the following areas:

Electrical Engineering:

  • Radar Studies and Polarimetry, Electromagnetic Interference and Compatibility
  • New Antennas and Microwave Circuits for Radar
  • Wireless Communication Systems
  • Automatic Control Systems
  • Electric Power Systems and Power Electronics
  • Electric Machines
  • Robotics
  • VLSI and Microelectronics
  • Vehicular Navigation Systems
  • Digital Signal Processing and Image Processing
  • Target Detection and Classification

Computer Engineering/Software Engineering:

  • VLSI Architecture and Design Automation
  • Embedded Computer Systems
  • Computer Communications
  • Computer Security
  • Human-Computer Interaction
  • Object-Oriented Analysis and Design
  • Real-Time Software Design
  • Software Development and Maintenance
  • Software Quality and Process Improvement

Programme Requirements

Important: All students must complete the zero-credit course AI500: Academic Integrity or an equivalent course by the end of their first term of study.

Masters and Doctoral Degree Requirements

The Master of Applied Science (MASc) will be awarded to candidates who successfully complete a 12-credit programme of studies normally comprised of:

  • 6 lecture courses at the graduate level (6 credits), plus;
  • a thesis (6 credits).

The Master of Engineering (MEng) will be awarded to candidates who successfully complete a 10-credit programme of studies normally comprised of:

  • 8 lecture courses (8 credits), plus;
  • a project (2 credits).
Note: The Master's degree when pursued full-time in the residential programme normally requires two academic years plus the intervening summer (5 terms) to complete.

The Doctoral (PhD) will be awarded to candidates who successfully complete a 17-credit programme of studies normally comprised of:

  • 10 lecture courses at the graduate level (10 credits), plus;
  • a comprehenive exam (1 credit), plus;
  • a thesis (6 credits).  

Course Descriptions

EE501 An Introduction to the Theory of Statistical Communications

Formulation of the communications problem as a stochastic process; probability and random variables; expectations; moments; characteristic function; multi-variate distributions; stationarity and the ergodic theorem; ensemble and time averages. An introduction to optimum detection; the sampling theorem and efficient transmission of message sequences.

Lectures:
3 periods per week (one term)
Credit(s):
1

EE502 Applied Research in Electrical and Computer Engineering

This course is normally taken by students in the Master of Applied Science Programme in Electrical, Computer or Software Engineering. The course provides an introduction to the primary and secondary sources of information in the literature of the associated disciplines. The students will also be exposed to the specific applied research groups within the Department, their techniques, and their specific application of the scientific method.

The students will conduct in-depth research in a specific topic area related to their field of study. A member of the Department Faculty will supervise this investigation through directed study. The student will be required to communicate research ideas in writing through academic papers and proposals, and verbally through presentations and seminars. Standards for academic discourse and publication will be emphasized in the assigned papers and presentations.

Lectures:
Lectures/Seminars/Directed Study (two terms): Equivalent to a course of 3 periods per week for one term.
Credit(s):
1

EE503 Wheeled Mobile Robots: Control and Instrumentation

The goal of the course is to provide an introduction to wheeled mobile robots (WMR), pertaining to distinct classes/topologies. The material is divided in three sections. The nonholonomy, a typical property of WMR is treated first: mathematical definition, examples, tools from nonlinear control theory and impact on control and instrumentation is covered. Then, two classes of WMR are studied: car-like robots and mobile wheeled pendulums. For each class, modelling, nonholonomy test, controllability and control are covered. Finally, the instrumentation on board of WMR is investigated, namely inertial and vision sensors.

Lectures:
Equivalent to a course of 3 periods per week (one term).
Credit(s):
1

EE505 Satellite Communications

Satellite orbital mechanics, spacecraft technology, satellite antennas, link design and budgets, transmission engineering, propagation effect and modelling, earth station technology,VSAT,multiple access techniques, spread spectrum, coding, specific applications.

Lectures:
3 periods per week (one term)
Credit(s):
1

EE511 Digital Signal Processing

The fast Fourier transform and its computer implementation; spectral estimation; analytic signal; multi-dimensional signal processing; digital filters, signal detection and estimation; Kalman filters; linear predictive coding; adaptive receivers.

Lectures:
3 periods per week (one term)
Credit(s):
1

EE513 Topics in Electrical Engineering

The course consists of formal lectures and the study and discussion of research papers appearing in the current literature. Students will be expected to participate in the presentation of the lecture material. Topics chosen will be by arrangement with the department.

Lectures:
3 periods per week (one term)
Credit(s):
1

EE523 Integrated Navigation Systems

This course covers the fundamentals of inertial navigation systems (INS) and the integration with global positioning systems (GPS). The performance characteristics of different types of navigation sensors, their calibration procedures and the stochastic modelling of their errors are discussed. The computation of the position, velocity and attitude components of a moving platform in the 3D space with respect to certain reference frame is studied. The course also covers the INS/GPS integration using both Kalman filter and artificial intelligence techniques. Applications are mostly related to car navigation.

Lectures:
3 periods per week (one term)
Credit(s):
1

EE533 Hardware Implementation of Digital Signal Processing

Design techniques and hardware implementation of digital signal processing (DSP) algorithms. Design flow from concept to bit true simulation to hardware implementation. DSP hardware technologies including FPGA technology; the fundamentals of DSP Arithmetic; FPGA elements for DSP algorithms; analysis and modelling of DSP algorithms; conversion of models to fixed-point blocks; high-level DSP optimizations; common DSP structures such as pipeline FFTs and finite/infinite impulse response filters; timing and synchronization issues.

Lectures:
3 periods per week plus laboratory and project (one term)
Credit(s):
1

EE535 Adaptive Control Systems

A review of linear control systems will be presented. The Lyapunov stability is covered. Identification techniques will be discussed. Introduction to Adaptive Control of Linear Systems will be presented. Self-tuning Approach and Model reference adaptive Control are covered. Introduction to nonlinear control and adaptive nonlinear control methods: Input-output linearization, input-state linearization and backstepping techniques. Adaptive control for nonlinear systems will be discussed: Self-tuning and Model reference approaches are covered. Applications are mostly related to electric motors, power electronics, and power systems.

Prerequisites:
A strong foundation in linear control theory is a recommended course prerequisite.
Lectures:
3 periods per week (one term)
Credit(s):
1

EE537 Antenna Engineering

The course addresses fundamental and advanced topics in Antennas. Contents include: Introduction to antenna basics. Fundamental parameters of antennas and radiation. Analysis methods. Wire, array antennas and synthesis, self and mutual impedance and coupling. Travelling wave, microstrip, dielectric and leaky wave antennas. Small antennas and fundamental limitations. Broad band, ultra-wide band, frequency independent, fractal antennas. Reflector antennas and Fourier transform and apertures. Introduction to smart antennas system aspects. Measurement techniques.

Prerequisites:
Basic electronic theory is a recommended course prerequisite.
Lectures:
3 periods per week (one term)
Credit(s):
1

EE539 Variable Speed Control of Electric Machines

DC machine control, variable speed control, variable-voltage inverter drive, pulse-width modulated voltage/current source inverter drive. Motor drives: induction motor, permanent magnet motors, stepper motors and switched reluctance motors: Design of vector control systems. Flux and torque estimation methods, Rotor and stator flux oriented control, Sensitivity to parameter stat and parameter adaptation, PWM current control techniques, Direct Torque Control and Speed/position estimation.

Lectures:
3 periods per week (one term)
Credit(s):
1

EE543 Radar Basics and Applications

Review of electromagnetic waves basic concepts, antenna basics, linear antennas, arrays, computer-aided analysis and design techniques application to antennas, radar basics and fundamentals, radar antennas, polarization concepts in radar, radar cross section, weather effects on radars, radar techniques (SAR, MTI, etc..), applications (weather radars, SBR, OTHR).

Lectures:
3 periods per week (one term)
Credit(s):
1

EE546 Introduction to Fuzzy Logic and Neural Networks

The course covers the mathematical foundations of fuzzy logic and neural networks. The examination of fuzzy logic introduces the fuzzy set theory and linguistic rules, fuzzy relations and compositions, fuzzy arithmetic, fuzzification and defuzzification using various techniques, fuzzy inference systems and Fuzzy logic control (FLC). The examination of neural networks introduces the neuron model, perceptron architecture and learning rules, and supervised Hebbian learning. The course examines case studies and applications in various engineering domains.

Lectures:
3 periods per week (one term)
Credit(s):
1

EE547 Digital Forensics

Digital forensics is a branch of forensic science which focuses on the recovery and analysis of information found in digital systems. It has a wide range of applications including intelligence gathering, private, corporate and criminal investigations, incident response involving digital systems and many others. In this course, students will develop a thorough understanding of digital forensics theory and techniques and will apply these to investigate incidents involving malicious user activity and malware on common operating systems. Topics will include image acquisition techniques, analysis of volatile and non-volatile memory, file systems structure, OS artifacts, e-mail systems, web browser activity, USB storage device activity, timeline of activity, data stream carving, deleted file carving, process analysis, network connection analysis and anti-forensic techniques.

Lectures:
3 periods per week (one term)
Credit(s):
1

EE548 High Performance Computing

High Performance Computing (HPC) can solve very large computational problems by aggregating computing power and memory capacity to deliver much higher performance than a single computer could ever provide. Programming HPC systems requires a comprehensive understanding of computer architecture and parallel programming. This course introduces the fundamentals of HPC and parallel computing with a significant emphasis on applied programming. It covers fundamental techniques for developing HPC applications, the commonly used HPC platforms with a strong focus on Graphics Processing Units (GPUs), performance measurement and analysis, shared memory and distributed systems, parallel decomposition, parallel patterns and primitives, data locality, load-balancing and several other topics. This course includes numerous programming assignments. Students completing this course will be able to design efficient parallel algorithms and will be able to program GPUs using Compute Unified Device Architecture (CUDA®), shared memory systems using Open Multi-Processing (OpenMP), distributed systems using Message Passing Interface (MPI) and supercomputers using all of the above. Other parallel programming languages may be covered in the course.

Lectures:
3 periods per week (one term)
Credit(s):
1

EE549 Digital Communications

Baseband transmission. Digital modulation techniques and performance. Block codes. Convolutional code. Trellis-coded modulation. Coding and modulation for fading channels.

Lectures:
3 periods per week (one term)
Credit(s):
1

EE563 Topics in Computer Engineering

Consists of formal lectures and the study and discussion of research papers appearing in the current literature. Students will be expected to participate in the presentation of the lecture material. Topics chosen for discussion will be by arrangement with the department.

Lectures:
3 periods per week (one term)
Credit(s):
1

EE569 Malware Analysis

The course covers dissection of malware for the purposes of understanding, detection and mitigation. It includes static analysis topics to include hashing, packing and obfuscation techniques, portable executable file format, the execution environment, x86 architecture, code constructs in assembly, the Windows API and registry. It also examines dynamic analysis topics to include sandboxing, run-time debugging, memory maps, threads and stacks, exception handling, drivers and kernel debugging. The course covers an introduction to document-based malware, memory forensic techniques and others. The course includes practical work such as laboratories and a project.

Lectures:
3 periods per week (one term)
Credit(s):
1

EE571 Advanced Topics in Power Engineering

A course dealing with topics on power systems operation, control and protection. Topics include reaction power control: compensators, voltage regulation and power factor correction for symmetrical and asymmetrical loads; effects of reduced voltage on the operation and efficiency of electric loads; distribution loss evaluation and optimization; fault current limiting and effects of reduced fault duration upon power system components; control of interconnected power systems.

Lectures:
3 periods per week (one term)
Credit(s):
1

EE578 Introduction to Computer Systems and Network Security

The course is meant as an introduction to the security issues associated with the security of computer systems and networks. The topics covered will include computer security concepts, terminology, seminal research, operating systems, and issues of network administration related to computer security, including the deployment and configuration of servers such as directory services. The course will discuss comprehensive aspects of security such as network attack, network zoning, segmentation and protection, intrusion techniques and the detection of such attacks and intrusions. Students undertake a series of lectures, assignments and laboratory exercises throughout the course.

Lectures:
3 periods per week (one term)
Credit(s):
1

EE580 Applied Cyber Operations

Cyber Operations are much more than the use of computers and networking technology; they require coordinated action to achieve a desired effect in cyberspace. This course will explore the application of cyber operations through the preparation for and participation in a major cyber exercise where students will design networks in support of a simulated military operation, build the network and operate it. Students will be required to operate in the face of a sophisticated and determined adversary with goals in direct opposition to the students, thereby generating simulated cyberspace conflict. In preparation for the simulated engagement, students will be required to build and deploy services such as directory, name resolution, electronic mail, web, file, etc. During the simulated engagement, students will be required to monitor these services, perform other network maintenance tasks, carry out intrusion detection and other simulated defensive cyber operations tasks, as well as participate in simulated offensive cyber operations. All students registered in the course will form part of a single team which will work cooperatively with teams of students from other academic programs against teams of adversaries composed of members from the military, government, and partner organizations.

Prerequisite(s):
EE578 or similar experience in computer systems and network security
Lectures / Cyber Exercise:
Equivalent to a course of 3 periods per week (one term)
Credit(s):
1

EE581 Electronic Warfare Systems Engineering

Electronic warfare refers to techniques that are used to detect and defeat hostile electromagnetic sensors while ensuring that friendly sensors remain effective. Although electronic warfare applies to the entire electromagnetic spectrum, this course focuses on radar and communication signals that are transmitted at radio and microwave frequencies. The course is divided into three modules. In the first, the fundamentals of wave propagation, radar, and telecommunication will be reviewed, culminating in a study of modern low probability of detection methods. The second module deals with hostile signal detection, analysis, direction of arrival, and emitter geolocation. In the final module, jamming techniques and self-protection measures are considered.

Lectures:
3 periods per week (one term)
Credit(s):
1

EE587 Topics in Software Engineering

The study and discussion of research papers appearing in the current literature. Students will be expected to participate in the presentation of the material. Topics chosen for the course will be by arrangement with the Department.

Lecture and tutorial:
3 periods per week (one term)
Credit(s):
1

EE588 Topics in Cybersecurity

This course consists of formal lectures and the study and discussion of contemporary cybersecurity research. Students are expected to conduct activities such as participating in the development and presentation of lecture material, collaborative discussion regarding specific research topics and the implementation of research related methodologies in a lab environment. Topics chosen for discussion will be by arrangement with the department.

Lecture and tutorial:
3 periods per week (one term)
Credit(s):
1

EE593 Advanced Network Traffic Analysis

There are many benefits to the networking of computer systems, but networks are inherently vulnerable. All networked computing devices are subject to malicious traffic; military networks can be especially attractive targets for espionage services, organized crime and hacking groups. In this course, students will develop a thorough understanding of traffic analysis theory and techniques, and apply these to topical computer security problems such as intrusion detection, extrusion analysis and traffic classification. Specific techniques explored may include intrusion detection systems, signature-based detection and analysis, anomaly-based detection and analysis and traffic classification. Students completing this course will be able to analyze network traffic for the purpose of protecting networks against malicious activity. The course will include practical laboratory work, review and critique of traffic analysis literature and a major course project.

Lectures:
3 periods per week (one term)
Credit(s):
1

EE595 Cyber Threat and Attack Techniques

Those operating in the cyber domain that is tasked with the defence of networks and computer systems must have a sound understanding of the threats that they face and of the techniques used by their adversaries; this course discusses the fundamentals of Cyber threats and attack techniques, with a heavy focus on practical applications. Topics will include current cyber threat categories and general capabilities; attack techniques including password cracking, buffer and heap overflows, IP and DNS spoofing, viruses and worms, backdoors and remote access tools, key loggers, tunnelling and covert channels, SQL injection and cross-­‐site scripting; advanced evasion techniques such as polymorphic code and rootkits. The course also introduces malware construction including assembly level program flow control and return oriented programming.

Lectures:
3 periods per week (one term)
Credit(s):
1

EE597 Operational Technology Cybersecurity

In this course, students will develop a thorough understanding of the components within operational technology (OT) and its similarities and differences with information technology (IT). The course will include offensive and defensive cyber security aspects of Operational Technologies at the application, network and physical layers. Components of the course will build on the foundations from civilian OT systems and protocols and focus on military platform security. The course includes practical work such as laboratories and a project. There is a security clearance requirement for this course.

Lectures:
3 periods per week (one term)
Credit(s):
1

EE598 Artificial Intelligence in Cybersecurity

Artificial intelligence (AI) and machine learning (ML) techniques are being increasingly deployed in cybersecurity settings. This course examines the principles of combining data science with security research to analyze security problems and build ML data-driven detection/prevention techniques. At the same time, those ML techniques are susceptible to new attacks. To this end, the course explores AI in cybersecurity from the basics to advanced and adjacent topics of cybersecurity of AI. The topics include Basic ML for cybersecurity; adversarial AI, attacks (mimicry, white/black box, poisoning attacks) and adversarial examples in security applications; defenses against adversarial AI; anti adversarial AI. Specific applications of AI in cybersecurity are examined on traditional IT networks and on cyber physical systems running on critical infrastructure.

Lectures:
3 periods per week (one term)
Credit(s):
1

PR500: Project

This code is used for students enrolled in a project.

Credit(s):
2

TH500: Thesis (Master's Level)

This code is used for students enrolled in a Master's Level thesis.

Credit(s):
6

TH600: Thesis (Doctoral Level)

This code is used for students enrolled in a doctoral Level thesis.

Credit(s):
6

CP600: Comprehensive Examination (Doctoral Level)

This code is used for students enrolled in a comprehensive Examination.

Credit(s):
1
Date modified: