TECHNICAL COMPLEMENTARY COURSES - COMPUTER ENGINEERING PROGRAM
Students following the regular Computer Engineering program must take 3 courses (9 credits) from the following list. One course must be chosen from List A, and 2 courses must be chosen from List B. It is possible that not all the courses listed will be offered in any given year. Please refer to the up-to-date course assignments before selecting any course. Permission will not be granted to take Technical Complementary courses that are not on this list.
Technical Complementaries - List A
ECSE 424
Human-Computer Interaction
3 Credits
Offered in the:
- Fall
- Winter
- Summer
Electrical Engineering: The course highlights human-computer interaction strategies from an engineering perspective. Topics include user interfaces, novel paradigms in human-computer interaction, affordances, ecological interface design, ubiquitous computing and computer-supported cooperative work. Attention will be paid to issues of safety, usability, and performance.
Offered by: Electrical & Computer Engr
ECSE 428
Software Engineering Practice
3 Credits
Offered in the:
- Fall
- Winter
- Summer
Electrical Engineering: Software engineering practice in industry, related to the design and commissioning of large software systems. Ethical, social, economic, safety and legal issues. Metrics, project management, costing, marketing, control, standards, CASE tools and bugs. The course involves a large team project.
Offered by: Electrical & Computer Engr
- (3-1-5)
- Students meet with the instructor and/or teaching assistant for one hour each week to discuss their project.
- Prerequisite: ECSE 321
- Terms
- Instructors
- Robert Sabourin
- Robert Sabourin
ECSE 431
Course not available
Technical Complementaries - List B
COMP 424
Artificial Intelligence
3 Credits
Offered in the:
- Fall
- Winter
- Summer
Computer Science (Sci): Introduction to search methods. Knowledge representation using logic and probability. Planning and decision making under uncertainty. Introduction to machine learning.
Offered by: Computer Science
- Terms
- Instructors
- David P Meger, Golnoosh Farnadi
ECSE 404
Control Systems
3 Credits
Offered in the:
- Fall
- Winter
- Summer
Electrical Engineering: Modelling and simulation of control systems; basic concepts of linear systems; open and closed loop control; classical design of controllers - specifications in the step response and the frequency domain; state space design of controllers - pole placement and LQR; sampled data systems.
Offered by: Electrical & Computer Engr
- Terms
- This course is not scheduled for the 2024 academic year
- Instructors
- There are no professors associated with this course for the 2024 academic year
ECSE 411
Course not available
ECSE 412
Discrete TimeSignal Processing
3 Credits
Offered in the:
- Fall
- Winter
- Summer
Electrical Engineering: Discrete-time signals and systems; Fourier and Z-transform analysis techniques, the discrete Fourier transform; elements of FIR and IIR filter design, filter structures; FFT techniques for high speed convolution; quantization effects.
Offered by: Electrical & Computer Engr
ECSE 420
Parallel Computing
3 Credits
Offered in the:
- Fall
- Winter
- Summer
Electrical Engineering: Modern parallel computing architectures for shared memory, message passing and data parallel programming models. The design of cache coherent shared memory multiprocessors. Programming techniques for multithreaded, message passing and distributed systems. Use of modern programming languages and parallel programming libraries.
Offered by: Electrical & Computer Engr
- Terms
- Instructors
- Dennis D Giannacopoulos
- Zeljko Zilic
ECSE 421
Embedded Systems
3 Credits
Offered in the:
- Fall
- Winter
- Summer
Electrical Engineering: Definition, structure and properties of embedded systems. Real-time programming: interrupts, latency, context, re-entrancy, thread and process models. Microcontroller and DSP architectures, I/O systems, timing and event management. Real-time kernels and services. Techniques for development, debugging and verification. Techniques for limited resource environments. Networking for distributed systems.
Offered by: Electrical & Computer Engr
ECSE 422
Fault Tolerant Computing
3 Credits
Offered in the:
- Fall
- Winter
- Summer
Electrical Engineering: Introduction to fault-tolerant systems. Fault-tolerance techniques through hardware, software, information and time redundancy. Failure classification, failure semantics, failure masking. Exception handling: detection, recovery, masking and propagation, termination vs. resumption. Reliable storage, reliable communication. Process groups, synchronous and asynchronous group membership and broadcast services. Automatic redundancy management. Case studies.
Offered by: Electrical & Computer Engr
- Terms
- This course is not scheduled for the 2024 academic year
- Instructors
- There are no professors associated with this course for the 2024 academic year
ECSE 429
Software Validation
3 Credits
Offered in the:
- Fall
- Winter
- Summer
Electrical Engineering: Correct and complete implementation of software requirements. Verification and validation lifecycle. Requirements analysis, model based analysis, and design analysis. Unit and system testing, performance, risk management, software reuse. Ubiquitous computing.
Offered by: Electrical & Computer Engr
- Terms
- Instructors
- Robert Sabourin
- Robert Sabourin
ECSE 436
Course not available
ECSE 443
Course not available
ECSE 450
Course not available
ECSE 530
Course not available
ECSE 532
Computer Graphics
4 Credits
Offered in the:
- Fall
- Winter
- Summer
Electrical Engineering: Fundamental mathematical, algorithmic and representational issues in computer graphics: overview of graphics pipeline, homogeneous coordinates, projective transformations, line-drawing and rasterization, hidden surface removal, surface modelling (quadrics, bicubics, meshes), rendering (lighting, reflectance models,
ray tracing, texture mapping), compositing colour perception, and other selected topics.
Offered by: Electrical & Computer Engr
ECSE 548
Course not available
LABORATORY COURSES - COMPUTER ENGINEERING PROGRAM
Students following the regular Computer Engineering program must take one (1) course (2 credits) from the following list. It is possible that not all the courses listed will be offered in any given year. Please refer to the up-to-date course assignments before selecting any course. Permission will not be granted to take Laboratory Complementary courses that are not on this list.
ECSE 434
Course not available
ECSE 436
Course not available
ECSE 487
Course not available
ECSE 489
Course not available
ECSE 490
Course not available
ECSE 491
Course not available
ECSE 493
Course not available