Software Engineering for Engineers ENSF
Instruction offered by members of the Department of Electrical and Computer Engineering in the Schulich School of Engineering.
Department Head - A. Sesay
Associate Heads - W. Rosehart (Undergraduate), D. Westwick (Graduate)
Director of Undergraduate Program for Electrical Engineering - G. Messier
Director of Undergraduate Program for Computer Engineering - N. Bartley
Director of Undergraduate Program for Software Engineering - M. Moussavi
Senior Courses
Software Engineering for Engineers 409 H(3-2)
(formerly Electrical Engineering 409)
Principles of Software Development
A survey of software design and development topics for Engineering students. Topics include: key features of an object-oriented programming language, especially inheritance and polymorphism; elements of object-oriented design; programming and application of common data structures; strategies and tools for testing and debugging.
Prerequisites: Computer Engineering 339.
Note: Credit for both Software Engineering for Engineers 409 and Electrical Engineering 409 will not be allowed. Also, credit for both Computer Engineering 493 and Software Engineering for Engineers 409 will not be allowed.
Software Engineering for Engineers 413 H(3-1T-3/2)
Embedded and Real-Time Systems
Introduction to embedded and real-time systems. Interrupt handling and multi-tasking. Interfacing I/O devices. Requirements for real-time systems. Concurrency and mutual exclusion. Real-time operating systems. Basic concepts in real-time task scheduling. Embedded real-time applications.
Prerequisites: Computer Engineering 369.
Note: Credit for both Software Engineering for Engineers 413 and any of Computer Engineering 415, 417, or 511 will not be allowed.
Software Engineering for Engineers 519 H(3-2)
Special Topics in Software Engineering
Current topics in software engineering.
Prerequisites: Consent of the Department.
Note: Consult Department for announcement of topics.
MAY BE REPEATED FOR CREDIT
Software Engineering for Engineers 545 H(3-2)
Introduction to Virtual Reality
Introduce VR technologies. Emphasize on engineering methodologies of creating VR systems. Characterize VR systems, hardware and software, user 3D interaction, and VR applications and future. .
Prerequisites: Software Engineering for Engineers 409 or one of Electrical Engineering 409 or Computer Engineering 493, and one of the following courses: Software Engineering for Engineers 413, Computer Engineering 417, Computer Engineering 415, Computer Engineering 491, Computer Engineering 511, or Electrical Engineering 453.
Note: Credit for both Software Engineering for Engineers 545 and Software Engineering for Engineers 519.45 will not be allowed.
Graduate Courses
Registration in all courses requires the approval of the Department of Electrical and Computer Engineering.
Software Engineering for Engineers 602 H(3-1)
(formerly Software Engineering for Engineers 619.71)
Virtual Environments and Applications
Introduction to virtual reality (VR) technologies; Characterization of virtual environments; hardware and software; user interfaces; 3D interaction; research trends. Applications: medicine, manufacturing, oil and gas reservoirs, the arts, and education.
Prerequisites: Objected-Oriented Programming (C++ or equivalent).
Software Engineering for Engineers 619 H(3-1)
Special Topics Half Course
A study of problems of particular interest to students specializing in Software Engineering.
Note: Consult Department of Electrical and Computer Engineering for details regarding offerings in the upcoming academic year.
MAY BE REPEATED FOR CREDIT