Graduate Programmes in Electrical Engineering and Computer Engineering

Programme Information

Course Descriptions

Contact

Department Head
Dr. Greg Phillips
Graduate Studies Committee Chair
Dr. Mostafa Hefnawi
Telephone
613-541-6000 ext 6404
Fax
613-544-8107
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 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

Admission

Candidates for the degrees Master of Engineering and Doctor of Philosophy will be admitted under the General Admission Requirements. Details regarding admission to the Royal Military College as a graduate student can be found in the Admission to Graduate Studies section of this Calendar

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.

The Master of Engineering is comprised of at least eight lecture courses plus a project. The Master of Applied Science degree will be awarded to candidates who successfully complete a programme of studies normally comprised of six lecture courses at the graduate level in addition to a thesis. The Master's degree when pursued full-time in the residential programme normally requires two academic years plus the intervening summer to complete. The Doctoral degree will be awarded to candidates who successfully complete a programme of studies normally comprised of ten lecture courses at the graduate level in addition to a final thesis.

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 though 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/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 mobile wheeled robots (MWR), 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 are covered. Then, two classes of WMR are studied: car-like robots and mobile wheeled pendulums. For each class, modeling, nonholonomy test, controllability and control are covered. Finally, the instrumentation on-board of MWR is investigated, namely inertial and vision sensors.

Lectures/Seminars/Directed Study (two terms):
Equivalent to a course of 3 periods per week for 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

EE515 Numerical Methods for Electromagnetics

Numerical methods for solutions of problems in Electromagnetics with application to static, quasistatic, and high frequency fields. Introduction to essential features of method of moments, finite element method, finite-difference method, method of lines, field-matching and mode matching techniques, transmission-line matrix method and spectral-domain approach: Fourier and Hankel transforms, Green's functions in multilayered media. Applications to problems in Microwave Circuits and Antennas.

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

EE517 Adaptive Filtering Theory

This course covers the fundamentals of adaptive filtering including performance objectives, optimal filtering and estimation. The Wiener solution and the orthogonality principle are also introduced. Analysis of the different Adaptation algorithms, MSE performance surface, gradient search methods, the Widro-Holf LMS algorithm, convergence speed and the deviation from the absolute minimum MSE are studied. This course will discuss several advanced adaptive filtering techniques including recursive least-squares algorithms, gradient and least-squares lattice filter. Applications will include system identification, channel equalization, echo cancellation, linear prediction and noise cancellation.

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

EE519 Synthesis of Digital Systems

Hardware-software co-design. Hardware description languages. Graph optimization problems and basic algorithms to solve them. Behavioural synthesis: scheduling, binding, allocation, data-path and control synthesis. Logic synthesis: combinational circuit optimizations, sequential circuit optimizations, optimizations targeting finite state machines. Transformations to a specific technology.

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

EE521 Secure Communications

Direct sequence and frequency hopping spread spectrum systems and their evaluation in the presence of various types of jammer noise. The use of error correcting codes to improve the performance of spread spectrum systems. The study of classical and modern cryptosystems. Public key cryptography and the data encryption standard. Introduction to complexity theory as it pertains to cryptography.

Prerequisite:
EE501
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 modeling 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

EE525 Power Quality in Electric Power Systems

Power quality terms and definitions, voltage sags and interruptions and techniques to reduce their effects, fault clearing, transient overvoltages, long-duration voltage variations, power system harmonics, methods for reducing and controlling harmonics, power quality benchmarking and monitoring, wiring and grounding methods, and power quality in distributed generation.

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

EE527 Engineering Human-Computer Interaction

State of the art and state of the practice in engineering approaches to the development of highly interactive software systems. Requirements modeling and specification. Psychological issues in interaction design; predictive models of human performance. Design approaches. Guidelines and standards. Software architectures and design patterns. Verification and validation techniques.

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

EE529 Microwave Engineering and Systems

Review of basics, transmission lines theory, other transmission media, matching, S-matrix, passive microwave components and devices, microstrip transmission media and circuits, CAD techniques for microwave devices design and optimization, microstrip antennas, microwave generation, time and frequency domain measurements using modern network analysers, microwave communications systems and subsystems.

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 modeling 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. Traveling 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

EE541 Real-time Digital Computer Control Systems

The design of feedback controllers for linear, discrete time system controlled by a digital computer, quadratic performance measures; pole placement; compensation; decoupling constrained control; methods for controller realization.

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

EE545 Microcomputers: Architecture and Applications

Survey of available microprocessors; selection of components for specific applications; internal organization; memories, I/O ports; system requirements; programming considerations; interrupt structures; peripheral devices and controllers. Application to the designs of multiprocessor systems.

Lectures:
3 periods per week plus laboratory (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

EE551 Real-time Operating Systems

Embedded systems. Nature of real-time constraints and mechanisms for handling them. Time as a critical resource; controlled responses to external events. Bare machine vs. higher level approaches. Examples and applications. Survey of existing real-time operating systems.

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

EE553 VLSI Design

MOS transistors, modelling, second order effects, device fabrication, small geometry considerations, static and dynamic CMOS circuits, ESD structures, I/O buffers. Layout techniques, design for testability. Application Specific Integrated Circuits, overall IC design methodology, CAD/CAE tools.

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

EE555 Electromagnetic Compatibility

Introduction to electromagnetic fields, circuits and signals, sources of electromagnetic interference and the E.M. environment, penetration through shields and apertures, shielding theory, principles of propagation and cross-talk, coupling from external fields, E.M. fields generated by transmission lines, prediction of EMI/RFI conditions in radio communications, simulation of E.M. coupling between systems, effects of electromagnetic interference on devices and systems, transients suppression, shielding and grounding, cable screening, filtering, general EMC design principles, EMC standards, EMC measurements and testing.

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

EE557 Test Methodologies for VLSI

Manufacturing process and yield evaluation. Yield modelling and reliability evaluation. Failures and fault modelling. Testability analysis, test vectors, and fault coverage. Test pattern generation. Fault simulation methods. Testability measures and design for testability. Built-in test, self-test, and signature analysis. Boundary Scan architecture and standard.

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

EE559 Digital Vlsi Architecture

System design methodology; digital hardware components and technologies, Application Specific Integrated Circuit (ASIC) design process; system timing: clocking strategies, timing analysis and clock distribution; arithmetic algorithms ad realization: speed and area considerations; regular structure architecture: Programmable Logic Devices (PLDs), Static RAMs, Dynamic RAMs, Contents Addressable Memories (CAMs) and systolic arrays; design for testability.

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

EE561 Power Electronics

Characteristics of semiconductor power control devices; analysis and design of circuits and systems for energy control and conversion, with applications to converters, inverters, choppers and cycloconverters; closed-loop control of electromechanical systems.

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

EE565 Computer Networks and Protocols

Review of queueing theory as it applies to networks: capacity assignment. OSI model for computer networks. Analysis of protocol, routing and flow control. Multiple access techniques. Local area networks. The students may be asked to review recent papers and do small projects.

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

EE569 Malware Analysis and Forensics

Dissection of malware for the purposes of understanding, detection and mitigation. 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. Dynamic analysis topics to include sandboxing, run-time debugging, memory maps, threads and stacks, exception handling, drivers and kernel debugging. An introduction to computer forensics to include document-based malware and memory forensic techniques.

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

EE573 Object-oriented Analysis and Design

This course consists of an introduction to Object-Oriented Analysis (OOA) and Design (OOD). The course material covers managing complexity using data and procedural abstraction, encapsulation, hierarchies, and composition of problems into classes and objects. The concepts of overloading, multiple inheritance and polymorphism are introduced. The analysis, design and implementation phases of software development are considered in the context of an iterative object-oriented development methodology. Design patterns are introduced as context for higher-level reuse. Course assignments will provide an introduction to object-oriented modeling languages, and will provide experience with implementation using a standard object-oriented programming language.

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

EE577 Neural Networks Applications to Power Systems

This course examines the state-of-the-art in artificial neural network technology for electric power systems. The course is composed of two parts. The first part provides an overview of artificial neural networks (including both supervised and unsupervised network models), their principles of operation learning rules, advantages and limitations. In the second part, specific applications of neural networks in power systems are examined, including system load forecasting, security assessment, power system planning, system fault diagnosis and control of power systems.

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

EE579 Computer Systems and Network Security

Topics will include computer security concepts, terminology, seminal research, operating systems and issues of network administration related to computer security. Network attack, intrusion techniques and the detection of such attacks and intrusions are explored. Lectures: 3 periods per week plus laboratory and project (one term)

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

EE583 Software Requirements Engineering

The software Requirements phase within the Software Systems Lifecycle. The use of models. The Requirements Elicitation Process: Joint Application Design, Prototyping, Requirements Inspections, Quality Function Deployment, Scenarios. Organizing and Analyzing the problem. Software Behaviour Specification: State-oriented, Function-oriented, Object-oriented. Formal Methods. Documentation for Software Requirements Specification. Specifying Nonbehavioural Requirements. Refinement of requirements into preliminary design. Lectures - 3 periods per week (one term)

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

EE585 Real-time Software Design and Implementation

The interaction between requirements and design. Alternative approaches to design. Domain specific design methods. Tools that support specific methods. Focus on a particular method in the real-time embedded software domain, and on a supporting tool intended to be used in a host/target development environment. Software structures and architectures. Techniques for the specification of module behaviour. Use of mathematical techniques. Concurrency, distribution and performance issues. Iteration and rapid prototyping. Reusable designs and components. Patterns and frameworks. Automatic code generation. Transferring models to targets. Controllability and observability of models on both host and target.

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

EE591 Software Engineering

Consideration and use of engineering principles to design and implement cost-effective, reliable software. Current software requirements methodologies and design practices, documentation standards, software project management, verification and validation techniques, software security considerations and computer human interfaces.

Lectures:
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 analyse 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 are 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 programing.

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

EE599 Computer System Verification and Validation

Formal techniques: proving systems correct, checking consistency and completeness. Inspections and reviews. Unit/module testing. White box and black box testing. System integration and testing. Tool support for testing. Faults vs. failures. Verification of implementation against both requirements and design. Techniques for safety critical and secure systems. Trustworthiness vs. reliability. Timing analysis and verification. Safety analysis. Fault tolerant systems. Quality assurance and reliability.

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

PR500: Project

This code is used for students enrolled in a project.

TH500: Thesis (Master's Level)

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

TH600: Thesis (Doctoral Level)

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

CP600: Comprehensive Examination (Doctoral Level)

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

Date modified: