Home Undergraduate Graduate  Financial Aid Faculty & Staff  
   

Software Engineering

Software Engineering

Faculty of Engineering

Undergraduate Courses

Courses offered by the Faculty of Engineering are also found under the following course codes: CENG (Computer Engineering), CSC (Computer Science), ELEC (Electrical Engineering), ENGR (Engineering) and MECH (Mechanical Engineering).

SENG 265   Units: 1.5   Schedule

Software Development Methods

Systematic methods for designing, coding, testing and documenting medium-sized programs. Tools and techniques to promote programming productivity and software quality. Topics include specifications, code review and inspection techniques, testing and debugging methods and tools, reusable software components and templates, file system navigation, scripting languages, software tools, environments, instrumenting and profiling, and the fundamentals of software configuration management.

Note: Credit will be granted for only one of 265, CSC 265.

Prerequisites: CSC 115 or 160.

SENG 271   Units: 1.5   Schedule

Software Model Engineering

An introduction to analysis and design of software architectures with UML (Unified Modelling Language) and their subsequent synthesis at the program level. Topics include use-case driven requirements analysis, analysis and design of static and dynamic view points of software architectures and model driven code engineering. Design patterns are introduced and applied as reusable solutions to recurring design problems. Students are familiarized with framework-based component reuse, event-driven programming and computer-aided software engineering (CASE) tools.

Note: Credit will be granted for only one of 271, 221.

Pre- or corequisites: 265.

SENG 310   Units: 1.5   Schedule

Human Computer Interaction

Understanding human behaviour as it applies to user interfaces: work activity analysis, observational techniques, questionnaire administration and unobtrusive measures. Operating parameters of the human cognitive system, task analysis and cognitive modelling techniques and their application to designing interfaces. Interface representation and prototyping tools. Cognitive walkthroughs, usability studies and verbal protocol analysis. Case studies of specific user interfaces.

Prerequisites: 221 or 265 or CENG 241.

SENG 422   Units: 1.5   Schedule

Software Architecture

Architectural design of complex software systems. Techniques for designing, evaluating and implementing software system structures, models and formal notations for characterizing and reasoning about architectures, tools and generating specific instances of an architecture, and case studies of actual system architectures. Role of Standards. Students must complete a project that involves substantial software design. Students work in teams. Progress is determined through a preliminary design review; presentation; demonstration of the design; and final report.

Prerequisites: 271 or 330.

SENG 426   Units: 1.5   Schedule

Software Quality Engineering

Emphasizes software quality engineering as an integral facet of development, from requirements through delivery and maintenance. The students will learn how to choose appropriate quality goals and select, plan, and execute quality assurance activities throughout development and evolution to predictably meet quality and schedule goals. They will learn how quality assurance can be incorporated into process improvement feedback loops that amplify the ability of an organization to cost-effectively prevent and detect faults.

Prerequisites: 321 or 371.

SENG 440   Units: 1.5   Schedule

Embedded Systems

Characteristics and design of embedded systems. Formal models and specification languages for capturing system behaviour. Techniques for specification, exploration and refinement. System partitioning and hardware/software co-design. Tools for validation, verification, and simulation. Quality and performance metrics.

Prerequisites: CENG 355 or CSC 355.

SENG 480   Units: 1.5   Schedule

Formerly: 480A, 480B, 480C, 480D

Topics in Software Engineering

Topics depend primarily on the interests of the instructor. Entrance will be restricted to third- and fourth-year students who meet the prerequisites specified for the topic to be offered. Some topics may require laboratory work as well as lectures.

Notes: - Credit will be granted for only one of 480, 480A, 480B, 480C, 480D (if taken in the same topic).

- May be taken more than once for credit in different topics with permission of the department.

SENG 499   Units: 1.5   Schedule

Technical Project

The student is required to pursue an independent project under the supervision of a faculty member, to prepare a written report and present a seminar describing the work. Projects will normally focus on large software systems, and collaboration with an industrial sponsor is encouraged.

Prerequisites: Fourth-year standing in the Faculty.

   
 
 
Back to Navigation