Graduate programmes in Electrical Engineering and Computer Engineering

Programme Information

Course Descriptions

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

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 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

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 modelling 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 analyzers, 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 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

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

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

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

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

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 modelling 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

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

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

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

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 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

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.

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: