Undergraduate Electrical Engineering and Computer Engineering Courses

Courses 200-299

GEE241 Electrical Technology

This course provides the fundamentals of electrical engineering, with an emphasis on the generation of electrical energy, its transmission, and its use in motors and other loads. Students completing this course will be able to analyze electric circuits and will have an understanding of the essentials of electric power. Topics include: electric circuit concepts; DC and AC circuit analysis; sources of energy, including renewable energy sources such as wind and solar energy; three-phase AC circuits; ideal transformers; synchronous generators; and synchronous, induction, single-phase, and DC motors.

Prerequisite(s):
PHE104
Semester:
Usually Offered in the Fall
Contact Hours:
3 - 2 - 5
Credit(s):
1

GEE293 Managing Engineering Projects

An introduction to the management of engineering resources, specifically time, money, and risk. Specific topics include: fundamentals of project management; scheduling; time-value of money; cash flows and equivalence; depreciation concepts and analysis; economic equipment replacement decision; effects of inflation; standards in engineering; financial and project risks, multi-criteria decision making; and, the engineer's responsibility towards employee health and safety.

Semester:
Usually Offered in the Fall
Contact Hours:
3 - 1 - 6
Credit(s):
1

EEE210 Electronic Devices and Circuits

This course introduces the electronic components that are used to implement the circuits found in most electrical systems. Students completing this course will be able to design and analyze wave shaping circuits, voltage rectifiers and regulators, low-power amplifiers, and digital logic gates. The course includes a significant laboratory component in which the students build diode and transistor circuits for a variety of low-power analog and digital applications. Topics include: the junction diode; field effect transistors; MOSFETs; diode circuits; the analysis and design of single stage low-power amplifiers; small signal models; and, the static and dynamic analysis of the CMOS inverter.

Prerequisite(s):
GEE241
Semester:
Usually Offered in the Winter
Contact Hours:
3 - 2 - 5
Credit(s):
1

EEE243 Applied Computer Programming

Software systems frequently drive physical devices and are often complex in their own right. This course uses mobile robots as an application area to explore software design. Students completing the course will be able to design significant software programs and components in the presence of other software and hardware subsystems. Topics include: effective decomposition of software into modules; modular programming and design techniques; structured programming; the execution model for software; the software build cycle; basic data structures; the use of third-party components and underlying operating system support; rudimentary control of physical systems through high-level interfaces to digital input/output channels; and analog/digital and digital/analog converters.

Prerequisite(s):
CSE101
Semester:
Usually Offered in the Fall
Contact Hours:
3 - 2 - 5
Credit(s):
1

EEE250 Digital Design I

This introductory course sets the foundation for designing digital systems for a wide range of applications. It provides the basics of logic design concepts and the implementation of logic functions using modern design tools and hardware platforms. Students completing this course will be able to design digital circuits for a multitude of logic and arithmetic applications. The course includes a significant laboratory component in which students analyze, design, simulate and implement digital circuits. Topics include: number systems; boolean algebra; combinational logic; hardware description language (HDL); design of data path components and arithmetic logic unit (ALU); sequential circuit elements; design of sequential circuits; and algorithmic state machines.

Semester:
Usually Offered in the Fall
Contact Hours:
3 - 2 - 5
Credit(s):
1

Courses 300-399

EEE307 Computer Interfacing Techniques

The aim of this course is to expand programming skills to the interfacing of low-level devices. Students completing this course will be able to design and implement simple interfaces to modern microcomputers or microprocessors. Interfacing theory will be studied in the classroom and reinforced by a strong laboratory component during which the students will put theory into practise. Topics include: description of the computer bus; timing analysis of buses and devices; analog-to-digital and digital-to analog conversion; serial and parallel interfaces; polling, interrupt and direct memory access input/output techniques; and interfacing to memory and other storage devices.

Prerequisite(s):
EEE351
Semester:
Usually Offered in the Winter
Contact Hours:
3 - 2 - 5
Credit(s):
1

EEE310 Electric Circuits

Electric circuits form the basis of all electrical and electronic equipment. Students completing this course will be able to apply the laws of circuit analysis to practical electronics and power systems problems. This course will also make use of computer simulations and electronic equipment to design, build and test several circuits. Topics include: circuit theory; circuit analysis techniques; ideal operational amplifiers and their circuits; transient analysis of second order linear circuits; transfer functions and system frequency response; application of Laplace transforms to the solution of system equations; and an introduction to passive and active filters.

Prerequisite(s):
GEE241, MAE227
Semester:
Usually Offered in the Fall
Contact Hours:
3 - 2 - 5
Credit(s):
1

EEE311 Signals and Systems

The concepts of signals and systems arise in a wide variety of areas, such as communications, speech and image processing, and biomedical engineering. This course deals with signals, systems, and transforms, from their theoretical mathematical foundations to practical implementation in communication systems. Students completing this course will understand transfer functions and system responses in both the time and frequency domains, and will be able to perform system modelling, analysis and design. Modern computational software and laboratory equipment are used extensively for simulation and real-time signal processing. Topics include: Fourier analysis of signals; linear systems and filters; sampling theory; filter design and implementation; probability theory, random variables, and random processes.

Prerequisite(s):
EEE303 or EEE310 and MAE325
Semester:
Usually Offered in the Winter
Contact Hours:
3 - 2 - 5
Credit(s):
1

EEE320 Object-Oriented Analysis and Design

Most modern programming languages and development approaches are based on the concept of “objects.” Students completing this course will be able to apply the object concept to the analysis and design of significant software systems. Techniques for managing complexity are introduced including data and procedural abstraction, encapsulation, hierarchy, and decomposition of problems into classes and objects. The uses of overloading, multiple inheritance and polymorphism are studied. Object-oriented analysis, design and implementation of software are practised in the context of an iterative, use case driven development process using modern software modelling tools, development environments and programming languages. Good design and design reuse are introduced through the application of design patterns.

Prerequisite(s):
CSE350
Semester:
Usually Offered in the Winter
Contact Hours:
3 - 2 - 5
Credit(s):
1

EEE325 Introduction to Control Systems

Feedback control is used in many applications in the military such as flight control and target tracking. This course provides the theoretical foundations of feedback control systems. Students completing this course will understand issues related to the stability of systems, be able to analyze systems and determine their performance criteria, and design basic computer control for physical systems. The course includes a significant laboratory component in which the students will analyze, design, simulate and implement control strategies for relevant military equipment such as helicopters, ground vehicles and automated tracking systems. Topics include: physical system modelling; analysis of transient and steady state responses; and compensator design.

Prerequisite(s):
MAE325
Semester:
Usually Offered in the Winter
Contact Hours:
3 - 2 - 5
Credit(s):
1

EEE330 Computer Network Design

The Internet and other major networks permit the interconnection of diverse networks, computers and mobile devices in a myriad of configurations. Students completing this course will gain an understanding of the computer network operations environment, learn to practise basic network design, and investigate how networks behave under cyber attack. The course includes a significant laboratory component in which students will design, build and analyze networks. Topics include: layers 2 - 4 of the OSI Model, circuit and packet switching; network topology; queueing and its application to networks; routing and flow control; networking equipment, including bridges, hubs and switches; and the security implications of network protocols.

Semester:
Usually Offered in the Winter
Contact Hours:
3 - 2 - 5
Credit(s):
1

EEE331 Energy Conversion

Electric motors and generators are used in daily life for energy conversion, transportation, and within industry, and hence are an important part of the field of electrical engineering. This course explains the operation of electric machines, including machines used in electric vehicles and renewable energy systems, and considers control issues for different machine types. Students completing this course will understand the basic modes of operation of electric machines, and will be able to analyze their performance. Topics include: a survey of energy conversion methods; a review of three-phase systems; magnetic laws and circuits; transformers; analysis of electromechanical systems; and DC, induction, and synchronous machines, and their principles of operation.

Prerequisite(s):
GEE241 or EEE203
Semester:
Usually Offered in the Fall
Contact Hours:
3 - 2 - 5
Credit(s):
1

EEE332 Electric Power Systems

Electric power systems are vital for generating, transmitting and transforming energy for industrial, military and transportation uses, and are also at the heart of alternative energy systems. This course, and its accompanying laboratory component, are based on shipboard electrical power systems, although the material presented is also applicable to aircraft and land-based systems. Students completing this course will be able to identify and address current and future electrical engineering problems related to energy sources, generation, conversion, transmission, utilization, efficiency, protection, and control of electrical power. Topics include: common aspects of power equipment; generators; electric motors; transformers; power distribution schemes; fault analysis; system protection; and power systems standards.

Prerequisite(s):
EEE331
Semester:
Usually Offered in the Winter
Contact Hours:
3 - 2 - 5
Credit(s):
1

EEE350 Digital Design II

Digital circuitry is changing the way we perceive and interact with our environment, as it continues to replace many of the older analog systems used in audio recording, image processing, mechanical control, etc. The aim of this course is to develop skills in designing moderately complex digital functions based on modern design tools. Students completing this course will be able to design digital systems such as a simple computer. The course includes a significant laboratory component in which students will model, simulate, synthesize, test and implement various digital systems. Topics include: hardware description language (HDL); verification techniques; programmable devices; finite state machines; synchronous systems; sequential design; and algorithmic state machines.

Prerequisite(s):
EEE250
Semester:
Usually Offered in the Winter
Contact Hours:
3 - 2 - 5
Credit(s):
1

EEE351 Computer Organization and Assembly Language

The aim of this course is to develop skills in assembly language programming for simple sequential computers. Students completing this course will be able to design and implement simple to moderately complex assembly language programs using a modern assembly language. Practical programming assignments will be completed during a strong laboratory component in which students will solve problems by coding in assembly language. Topics include: the microprocessor as a system building block; computer organization and interconnections; an introduction to the architecture of simple sequential computers; an introduction to assembly and machine languages; instruction sets and addressing modes; assembly language programming; and interrupts, vectors, interrupt requests and handshakes.

Prerequisite(s):
EEE250 or EEE245
Semester:
Usually Offered in the Fall
Contact Hours:
3 - 2 - 5
Credit(s):
1

EEE373 Signal Transmission

Electrical signals are used in computers and in communications systems to relay information. This course examines the physical properties of electrical signals and how they travel along wires and through space. Students completing this course will be able to apply the laws of electromagnetism to transmission problems, design efficient long-distance and high frequency communication links using either transmission lines or free space propagation, and understand how electromagnetic waves propagate through, and interact with, different materials. Laboratory experiments allow students to explore many signal properties. Topics include: transmission line models; signal transmission in the time and frequency domains; electromagnetic theory; plane waves; and shielding.

Prerequisite(s):
PHE104 and MAE226
Semester:
Usually Offered in the Fall
Contact Hours:
3 - 2 - 5
Credit(s):
1

EEE374 Radio-Frequency Systems

Radar and communication systems use high frequency signals to transmit information wirelessly through the air. This course studies the transmitter and receiver circuitry that converts data into wireless signals, and vice versa. Students completing this course will be able to explain how transmitters and receivers work, design, build and test transceiver circuitry, and estimate link budgets. The course includes a significant laboratory component in which the students will design, fabricate and test their own radio-frequency circuits. Topics include: radio-frequency network analysis; couplers; filters; amplifiers; oscillators; mixers; planar circuit technology and computer-aided design techniques; receivers and transmitters; radio links; and noise analysis.

Prerequisite(s):
EEE373
Semester:
Usually Offered in the Winter
Contact Hours:
3 - 2 - 5
Credit(s):
1

EEE381 Aircraft Systems and Avionics

The course is designed to acquaint the students with modern aerospace avionics systems and associated system integration issues. Topics include radar, navigation, communications and identification systems. An overview of electro optics and electronic warfare systems will follow, and electromagnetic interference and compatibility will be investigated. Aircraft power generation and distribution, flight controls, displays, vehicle and weapons management, and avionics architectures will be covered, and finally the critical role of embedded avionics software is explored. The lectures are supplemented by problem assignments, case studies of existing avionics systems, laboratory experiments and demonstrations. Examples specific to the Canadian Forces are used whenever possible.

Prerequisite(s):
GEE241
Semester:
Usually Offered in the Winter
Contact Hours:
3 - 1 - 4
Credit(s):
1

Courses 400-499

EEE404 Cyber Defence

Military and civilian computing systems are frequently attacked by espionage services, organized crime, and hacking groups. In this course, students will investigate the cyber threat environment, network attack, the design of network perimeter defence, and defence-in-depth. The capstone activity is a two-week cyber defence exercise at term end, organized and run by the National Security Agency, involving military college teams from Canada and the United States. Students completing this course will be able to design a defensive computer network architecture and understand the network cyber operations environment. Topics include: firewall design; deployment of intrusion detection and preventions systems; design and implementation of security policy; and identification and authentication.

Note(s):
For students of the fourth taking Computer Engineering
Prerequisite(s):
EEE330, EEE435, and EEE466
Semester:
Usually Offered in the Winter
Contact Hours:
3 - 2 - 5
Credit(s):
1.5

EEE410 Integrated Circuits Design

Integrated circuits have made modern computation and communications possible. This course presents modern integrated circuit design concepts for both bipolar and MOS technologies, with an emphasis placed on CMOS technology. Students completing this course will be able to model, analyze, simulate and design analog and digital integrated circuits. Computer-aided design tools and laboratory exercises complement the course. Topics include: non-ideal operational amplifiers; internal circuitry of operational amplifiers; frequency response of single-stage and multistage integrated circuit amplifiers; integrated circuit biasing including current sources, current mirrors and current steering circuits; analog-to-digital and digital-to-analog converters; digital CMOS logic and memory; oscillators; multivibrators; and integrated circuit timers.

Prerequisite(s):
EEE210, EEE310
Semester:
Usually Offered in the Fall
Contact Hours:
3 - 2 - 5
Credit(s):
1

EEE411 Communication Theory

Communications systems are prevalent in today’s world, and play an essential role in the military and in everyday life. This course explains the criteria in the design of communications systems, their implementation at a systems level, their operation and requirements. Students completing this course will be able to design communications systems, understand how a system works, and determine what kind of performance can be expected from a system. Topics include: analog and digital modulation techniques; reception techniques including matched filtering, the correlation receiver, and non-coherent detection; error performance; spread-spectrum communications; and error-control coding, including block codes, convolutional codes, and Viterbi decoding.

Prerequisite(s):
EEE311
Semester:
Usually Offered in the Fall
Contact Hours:
3 - 2 - 5
Credit(s):
1

EEE412 Wireless Communication Systems

New generations of wireless communication systems have the potential to provide civilian and military users with high-speed and high-quality information exchange using their portable devices such as smart phones, laptops, and tablets. This course presents the design and analysis of wireless systems and the techniques used to overcome the fundamental limits of wireless channels. Students completing this course will be able to perform design, simulation, and testing of terrestrial and satellite wireless systems. Topics include: wireless systems and standards; models of wireless channels; multipath fading, satellite orbits and link budgets; digital modulation under wireless channel impairments; multipleantenna technology; multicarrier modulation; spread spectrum; multiple access techniques; GPS; wireless sensor and ad hoc networks.

Prerequisite(s):
EEE411
Semester:
Usually Offered in the Winter
Contact Hours:
3 - 2 - 5
Credit(s):
1

EEE413 Digital Signal Processing

The vast and flexible processing power of computers allows signals to be manipulated in useful ways. This course applies digital signal processing (DSP) techniques to target tracking, positioning and navigation applications. Students completing this course will be able to design code and apply DSP algorithms. The course laboratory involves the design of DSP algorithms for military applications, including: GPS, portable navigation devices for dismounted soldiers, de-noising of navigation sensors, and vehicle terrain profiling systems. Topics include: sampling, quantization and data acquisition; discrete-time signals and systems; Fourier and Z-transforms; discrete-time linear time-invariant systems; finite impulse and infinite impulse response filters; and, distortion and channel equalization for mobile communications.

Prerequisite(s):
EEE411
Semester:
Usually Offered in the Winter
Contact Hours:
3 - 2 - 5
Credit(s):
1

EEE414 Advanced Control Systems

Control systems have made possible many applications of the modern world, ranging from the autopilot to the autonomous car, and from the turret control of warships to the operation of Unmanned Aerial Vehicles (UAVs). This course studies the design of controllers using digital computers and their application to military systems. Students completing this course will be able to design controllers on several platforms. The course includes a significant laboratory component in which students will model, analyze, design, simulate and implement controllers for various military applications. Topics include: modelling and identification of dynamic systems; design by frequency response; stability analysis; modern control techniques; and performance assessment of controllers.

Prerequisite(s):
EEE325
Semester:
Usually Offered in the Winter
Contact Hours:
3 - 2 - 5
Credit(s):
1

EEE420 Compliers and Program Execution Environments

The aim of this course is to analyze how software implemented in high-level programming languages is ultimately executed on running processors, and to explore what runtime support mechanisms are used in the execution environment. Students will develop a solid understanding of these mechanisms and the ways in which they can be optimized for performance, or abused to violate security. Topics include: language grammars, syntax and semantics; parsing, lexical analysis and abstract symbol tables; software memory models and runtime support mechanisms; static, shared and dynamic libraries; linking and loading; language specifications, code optimizations and security vulnerabilities; interpreted environments and scripting; static and dynamic code analysis; and code injection.

Prerequisite(s):
EEE243 and EEE320 or EEE321
Semester:
Usually Offered in the Fall
Contact Hours:
3 - 2 - 5
Credit(s):
1

EEE435 Principles of Operating Systems

Operating systems act as virtual machines that manage a computer’s resources and facilitate interactions with the computer hardware. Specialized operating systems are found in personal devices, automobiles and aircraft. This course explores the internal workings of operating systems such as the Windows family, including modes of operation protected by hardware (kernel modes). Students completing this course will understand the design of operating systems used in modern computing systems, including the management of shared hardware and software resources. Students will implement operating systems concepts in programming laboratories. Topics include: the process; concurrent processes; inter-process communication; deadlock; scheduling; input/output; file systems; file servers; memory management; and virtual storage management.

Prerequisite(s):
CSE350, EEE243
Semester:
Usually Offered in the Fall
Contact Hours:
3 - 2 - 5
Credit(s):
1

EEE447 Robotics

Robots and unmanned systems such as UAVs are becoming more common in the modern world, with applications in industry, transportation and the military. Most of the design of robots is not related to the physical platforms, but to the programming of the robots’ intelligence to provide them with problem solving capabilities. This course studies the design of intelligent autonomous robots and their application to military systems. Students completing this course will be able to analyze complex environments and design robot behaviours to autonomously solve difficult problems. Topics include: sensors and actuators used in robotics; kinematics; design of mobile ground robots; robotic architectures; implementation of behaviours; and collaboration among robots.

Prerequisite(s):
EEE243, EEE307, EEE325
Semester:
Usually Offered in the Winter
Contact Hours:
3 - 2 - 5
Credit(s):
1

EEE449 Power Electronics

Power electronic converters are circuits that transform electrical energy from one form to another, and are used extensively within industry, National Defence, and in most consumer products. Students completing this course will be able to analyze and design the most common converters and their control systems. This course includes a significant laboratory component in which the students will design and build converters to supply AC and DC motors, to charge a battery, and to extract maximum power from a photovoltaic system. Topics include: DCDC choppers; single phase and three-phase DC-AC inverters and AC-DC rectifiers; AC-AC converters; and the application and design of those converters.

Prerequisite(s):
EEE331 or EEE332
Semester:
Usually Offered in the Fall
Contact Hours:
3 - 2 - 5
Credit(s):
1

EEE455 Electrical Engineering Design Project

The year-long design project allows students to demonstrate that they are capable of applying the electrical engineering knowledge, skills, and techniques learnt in their electrical engineering program to design and build a working product. Under the supervision of two faculty members, groups of 2-4 students design an electrical system starting with the definition of system requirements, followed by a preliminary and a detailed design, after which they construct a prototype system and test its actual performance against the original requirements. Oral and written progress reports are required along with a written final report, a final demonstration, and a formal oral examination by a board of faculty members.

Contact Hours:
Fall: 2 - 2 - 4 Winter: 0 - 4 - 4
Credit(s):
2

EEE457 Computer Engineering Design Project

The year-long design project allows students to demonstrate that they are capable of applying the computer engineering knowledge, skills, and techniques learnt in their computer engineering program to design and build a working product. Under the supervision of two faculty members, groups of 2-4 students design a computer-based system starting with the definition of system requirements, followed by a preliminary and a detailed design, after which they construct a prototype system and test its actual performance against the original requirements. Oral and written progress reports are required along with a written final report, a final demonstration, and a formal oral examination by a board of faculty members.

Contact Hours:
Fall: 2 - 2 - 4 Winter: 0 - 4 - 4
Credit(s):
2

EEE466 Distributed Systems

Distributed software systems communicate over computer networks and provide applications such as internet banking, social networks, and military command and control information systems. Students completing this course will understand the key technologies used in distributed systems, and will be able to design and implement them. In the laboratory, students will build distributed systems using sockets, remote invocation, and web-based technologies. Topics include: principles and characteristics of distributed systems; protocol design; client/server and peer-to-peer systems; distributed objects; time services; distributed transactions and replicas; concurrency control; the two-phase commit protocol; name services; network security threat models; cryptographic key distribution; authentication and signature; and common internet services and protocols.

Prerequisite:
(EEE320 or EEE321) and EEE330 and (MAE234 or MAE333)
Semester:
Usually Offered in the Fall
Contact Hours:
3 - 2 - 5
Credit(s):
1

EEE469 Computer Architecture

The computer processor is one of the most complex and intricate machines ever designed and built, and is at the heart of the information age. The aim of this course is to provide the current state of the practise in computer processor architectures. Students completing this course will be able to design, model, simulate and analyze processor architectures using state-of-the-art computer aided engineering tools and will have honed their skills during a rigorous laboratory component. Topics include: instruction set architectures; instruction level parallelism; data-level parallelism, including GPU and vector processors; thread-level parallelism, including simultaneous multithreading and multicore processors; hardwired and microprocessor-based control units; memory hierarchies; and performance analysis.

Prerequisite:
EEE307 and EEE350 or EEE361
Semester:
Usually Offered in the Winter
Contact Hours:
3 - 2 - 5
Credit(s):
1

EEE474 Radar and Electronic Warfare

Military forces the world over use radar as a primary sensor for navigation, mapping, weather monitoring, and weapons guidance. This course provides an introduction to radar systems and to the techniques that can be used to detect and defeat electronic systems. Students completing this course will understand the principles of radar, be capable of designing radar subsystems, and understand aspects of electronic warfare. Students will design, fabricate and test their own radar subsystems during the course’s laboratory component. Topics include: monopulse, pulse, and pulse-Doppler radar architectures; antennas and beam steering; high-power transmitters; radar modes and mapping; signal detection and emitter direction finding; jamming and decoys; and electronic protection measures.

Prerequisite(s):
EEE374 or EEE441
Semester:
Usually Offered in the Fall
Contact Hours:
3 - 2 - 5
Credit(s):
1

EEE495 Digital Systems Architecture

Components and architecture are complementary in the design of digital systems implemented in many technologies. This course provides students with an understanding of the architecture, design and implementation of modern digital systems using state-of-the-art computer aided engineering tools with emphasis on field programmable gate array (FPGA) devices. Students completing this course will understand the internal components and architecture of a typical FPGA device, and will be able to implement complex systems in FPGAs while meeting design constraints. The course, supported by an important laboratory component, includes: FPGA architectures and resources; digital system design methodology; static timing analysis; high performance computer arithmetic architectures; and design for testability.

Prerequisite(s):
EEE307 and EEE350 or EEE361
Semester:
Usually Offered in the Fall
Contact Hours:
3 - 2 - 5
Credit(s):
1

EEE499 Real-Time Embedded System Design

Real-time systems are found in everyday applications such as smart phones, military avionics, safety systems in automobiles, and in the control systems found in nuclear facilities and chemical processing plants. Students completing this course will be able to analyze, design and implement real-time systems. Typical applications and considerations for systems are presented and practised in laboratory work. Topics include: specification and design methods for real-time systems and applicable computer aided software engineering tools; specification and verification of timing; scheduling and schedulability analysis; real-time operating systems, kernels, and programming languages; fault tolerance, critical races, deadlock and livelock; host target development; and real-time distributed systems.

Prerequisite(s):
EEE320 or EEE321 and EEE435
Semester:
Usually Offered in the Winter
Contact Hours:
3 - 2 - 5
Credit(s):
1
Date modified: