Feedback

Minor Software Engineering (24 credits)

Offered by: Electrical & Computer Engr     Degree: Bachelor of Engineering

Program Requirements

The Software Engineering Minor will prepare an engineering student for a career in software engineering. It will provide a foundation in basic computer science, computer programming and software engineering practice.

This minor consists of 24 credits (eight courses). Up to four courses (12 credits) may be double-counted for credit towards the B. Eng. degree in Electrical Engineering or Computer Engineering. Students in other programs may double-count up to three courses (9 credits).

Students considering the Minor Software Engineering should consult with a faculty adviser in the Student Affairs Office, Engineering Student Centre, Frank Dawson Adams, Suite 22.

Required Courses

9 credits

  • ECSE 221 Introduction to Computer Engineering (3 credits)

    Offered by: Electrical & Computer Engr (Faculty of Engineering)

    Overview

    Electrical Engineering : Data representation in digital computers. Boolean algebra. Basic combinational circuits; their analysis and synthesis. Elements of sequential circuits: latches, flip-flops, counters and memory circuits. Computer structure, central processing unit, machine language. Assemblers and assembler language.

    Terms: Fall 2010, Winter 2011

    Instructors: Frank P Ferrie (Fall) Odile Liboiron-Ladouceur (Winter)

    • (3-2-4)

    • Prerequisite: COMP 202

    • Tutorials assigned by instructor.

  • ECSE 321 Introduction to Software Engineering (3 credits)

    Offered by: Electrical & Computer Engr (Faculty of Engineering)

    Overview

    Electrical Engineering : Design, development and testing of software systems. Software life cycle: requirements analysis, software architecture and design, implementation, integration, test planning, and maintenance. The course involves a group project.

    Terms: Fall 2010, Winter 2011

    Instructors: Michael Rabbat (Fall)

  • ECSE 428 Software Engineering Practice (3 credits)

    Offered by: Electrical & Computer Engr (Faculty of Engineering)

    Overview

    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.

    Terms: Winter 2011

    Instructors: Robert Sabourin (Winter)

    • (3-1-5)

    • Students meet with the instructor and/or teaching assistant for one hour each week to discuss their project.

    • Prerequisite: ECSE 321 or COMP 335

Complementary Courses

15 credits

3 credits from the following:

  • COMP 203 Introduction to Computing 2 (3 credits)

    Offered by: Computer Science (Faculty of Science)

    Overview

    Computer Science (Sci) : Basic data structures. Representation of arrays, stacks, and queues. Linked lists and their applications to binary trees. Internal sorting. Graph representation. Elementary graph algorithms.

    Terms: This course is not scheduled for the 2010-2011 academic year.

    Instructors: There are no professors associated with this course for the 2010-2011 academic year.

    • 3 hours

    • Prerequisites: MATH 133 and COMP 202

    • Restrictions: COMP 203 and COMP 250 are considered to be equivalent from a prerequisite point of view, and cannot both be taken for credit. Students who are registered in the following programs: Major or Honours in Computer Science, Major in Software Engineering, any of the joint major programs offered through the Faculty of Science and the Major Concentration in Foundations of Computing, in the Faculty of Arts, may not take this course.

  • COMP 250 Introduction to Computer Science (3 credits)

    Offered by: Computer Science (Faculty of Science)

    Overview

    Computer Science (Sci) : An introduction to the design of computer algorithms, including basic data structures, analysis of algorithms, and establishing correctness of programs. Overview of topics in computer science.

    Terms: Fall 2010, Winter 2011

    Instructors: Doina Precup (Fall) Michael Langer (Winter)

    • 3 hours

    • Prerequisites: Familiarity with a high level programming language and CEGEP level Math.

    • Restrictions: COMP 203 and COMP 250 are considered to be equivalent from a prerequisite point of view, and cannot both be taken for credit.

3-12 credits from the following engineering courses:

  • CHEE 458 Computer Applications (3 credits)

    Offered by: Chemical Engineering (Faculty of Engineering)

    Overview

    Chemical Engineering : Use of computers and software as problem solving aids in chemical engineering. Lectures on software engineering, computer architectures, and multitasking. In laboratory work, groups of students will produce software to be used and maintained by others.

    Terms: Fall 2010

    Instructors: Phillip Servio (Fall)

  • CHEE 571 Small Computer Applications: Chemical Engineering (3 credits)

    Offered by: Chemical Engineering (Faculty of Engineering)

    Overview

    Chemical Engineering : The use of small computers employing a high level language for data acquisition and the control of chemical processes. Real-time system characteristics and requirements, analog to digital, digital to analog conversions and computer control loops are examined. Block level simulation.

    Terms: Winter 2011

    Instructors: Richard L Leask (Winter)

    • (3-0-6)

    • Prerequisite: CHEE 458 or permission of the instructor.

  • CIVE 460 Matrix Structural Analysis (3 credits)

    Offered by: Civil Engineering (Faculty of Engineering)

    Overview

    Civil Engineering : Computer structural analysis, direct stiffness applied to two and three dimensional frames and trusses, matrix force method, nonlinear problems, buckling of trusses and frames, introduction to finite element analysis.

    Terms: Fall 2010

    Instructors: Suresh C Shrivastava (Fall)

  • CIVE 550 Water Resources Management (3 credits)

    Offered by: Civil Engineering (Faculty of Engineering)

    Overview

    Civil Engineering : State-of-the-art water resources management techniques; case studies of their application to Canadian situations; identification of major issues and problem areas; interprovincial and international river basins; implications of development alternatives; institutional arrangements for planning and development of water resources; and, legal and economic aspects.

    Terms: This course is not scheduled for the 2010-2011 academic year.

    Instructors: There are no professors associated with this course for the 2010-2011 academic year.

    • (3-0-6)

    • Prerequisite (Undergraduate): CIVE 323 or equivalent

  • CIVE 572 Computational Hydraulics (3 credits)

    Offered by: Civil Engineering (Faculty of Engineering)

    Overview

    Civil Engineering : Computation of unsteady flows in open channels; abrupt waves, flood waves, tidal propagations; method of characteristics; mathematical modelling of river and coastal currents.

    Terms: Fall 2010

    Instructors: Vincent H Chu (Fall)

    • (3-0-6)

    • Prerequisite: CIVE 327 or equivalent

  • ECSE 322 Computer Engineering (3 credits)

    Offered by: Electrical & Computer Engr (Faculty of Engineering)

    Overview

    Electrical Engineering : Data structures (arrays, lists, stacks, queues, dequeues and trees) and their machine representation and simple algorithms. Peripheral devices: printers, keyboards, magnetic type drives, magnetic disc drives. Peripheral interfacing and busses. Introduction to operating systems. System integration. Computer systems and networks.

    Terms: Fall 2010, Winter 2011

    Instructors: Warren Gross (Fall) Tal Arbel (Winter)

  • ECSE 420 Parallel Computing (3 credits)

    Offered by: Electrical & Computer Engr (Faculty of Engineering)

    Overview

    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.

    Terms: Fall 2010

    Instructors: Zeljko Zilic (Fall)

  • ECSE 421 Embedded Systems (3 credits)

    Offered by: Electrical & Computer Engr (Faculty of Engineering)

    Overview

    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.

    Terms: Winter 2011

    Instructors: Cedric Guss (Winter)

  • ECSE 422 Fault Tolerant Computing (3 credits)

    Offered by: Electrical & Computer Engr (Faculty of Engineering)

    Overview

    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.

    Terms: This course is not scheduled for the 2010-2011 academic year.

    Instructors: There are no professors associated with this course for the 2010-2011 academic year.

  • ECSE 424 Human-Computer Interaction (3 credits)

    Offered by: Electrical & Computer Engr (Faculty of Engineering)

    Overview

    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.

    Terms: Winter 2011

    Instructors: Jeremy Cooperstock (Winter)

  • ECSE 427 Operating Systems (3 credits)

    Offered by: Electrical & Computer Engr (Faculty of Engineering)

    Overview

    Electrical Engineering : Operating system services, file system organization, disk and cpu scheduling, virtual memory management, concurrent processing and distributed systems, protection and security. Aspects of the DOS and UNIX operating systems and the C programming language. Programs that communicate between workstations across a network.

    Terms: Fall 2010, Winter 2011

    Instructors: Carl Tropper (Fall) Andraws Swidan (Winter)

  • ECSE 429 Software Validation (3 credits)

    Offered by: Electrical & Computer Engr (Faculty of Engineering)

    Overview

    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.

    Terms: Fall 2010

    Instructors: Katarzyna Radecka (Fall)

  • ECSE 526 Artificial Intelligence (3 credits)

    Offered by: Electrical & Computer Engr (Faculty of Engineering)

    Overview

    Electrical Engineering : Design principles of autonomous agents, agent architectures, machine learning, neural networks, genetic algorithms, and multi-agent collaboration. The course includes a term project that consists of designing and implementing software agents that collaborate and compete in a simulated environment.

    Terms: Winter 2011

    Instructors: Jeremy Cooperstock (Winter)

  • ECSE 532 Computer Graphics (3 credits)

    Offered by: Electrical & Computer Engr (Faculty of Engineering)

    Overview

    Electrical Engineering : Introduction to computer graphics systems and display devices: raster scan, scan conversion, graphical input and interactive techniques - window environments; display files: graphics languages and data structures: 2D transformations; 3D computer graphics, hidden line removal and shading; graphics system design; applications. Laboratory project involving the preparation and running of graphics programs.

    Terms: Fall 2010

    Instructors: Irene C Leszkowicz (Fall)

  • MECH 474 Selected Topics in Operations Research (3 credits)

    Offered by: Mechanical Engineering (Faculty of Engineering)

    Overview

    Mechanical Engineering : Introduction to the general mathematical programming problem in the context of engineering design; linear programming, queuing theory, Monte Carlo simulation. The above techniques will be used to study the optimization of engineering systems.

    Terms: This course is not scheduled for the 2010-2011 academic year.

    Instructors: There are no professors associated with this course for the 2010-2011 academic year.

  • MECH 524 Computer Integrated Manufacturing (3 credits)

    Offered by: Mechanical Engineering (Faculty of Engineering)

    Overview

    Mechanical Engineering : A study of the present impact of computers and automation on manufacturing. Computer-aided systems. Information modelling. Information system structures. Study of several types of production systems. Integration issues: inter-and intra-enterprise. Laboratory experience with manufacturing software systems.

    Terms: Winter 2011

    Instructors: Vincent Thomson (Winter)

    • (3-0-6)

    • Prerequisite: Permission of the instructor

  • MECH 539 Computational Aerodynamics (3 credits)

    Offered by: Mechanical Engineering (Faculty of Engineering)

    Overview

    Mechanical Engineering : Fundamental equations. Basic flow singularities. Boundary element methods. Source, doublet and vortex panel methods for 2D and 3D incompressible and compressible flows. Method of characteristics. Euler equations for inviscid rotational flows. Finite-difference and finite-volume methods. Explicit and implicit time-integration methods. Quasi 1D solutions. Nozzle and confined aerofoil applications.

    Terms: This course is not scheduled for the 2010-2011 academic year.

    Instructors: There are no professors associated with this course for the 2010-2011 academic year.

  • MECH 545 Advanced Stress Analysis (3 credits)

    Offered by: Mechanical Engineering (Faculty of Engineering)

    Overview

    Mechanical Engineering : Tensor Analysis: Review of continuum mechanics. Equilibrium and constitutive equations in tensor form. Finite element methods. Torsion of non-circular cross-sections; spherical problems; advanced Airy stress function problems. Introduction to plates and shells. Thermal deformations and stresses. Introduction to plasticity and viscoelasticity.

    Terms: This course is not scheduled for the 2010-2011 academic year.

    Instructors: There are no professors associated with this course for the 2010-2011 academic year.

  • MECH 576 Geometry in Mechanics (3 credits)

    Offered by: Mechanical Engineering (Faculty of Engineering)

    Overview

    Mechanical Engineering : Homogeneous vectors related to projective geometry and to linear, vector, matrix and symbolic algebra. Applications in mechanics. Pluecker and dual quaternions in statics and robot kinematics. Reducing systems of polynomials. Camera aided metrology. Case studies of solved and unsolved problems.

    Terms: This course is not scheduled for the 2010-2011 academic year.

    Instructors: There are no professors associated with this course for the 2010-2011 academic year.

0-6 credits from the following computer science courses (no more than 6 credits will count toward the minor):

  • COMP 302 Programming Languages and Paradigms (3 credits)

    Offered by: Computer Science (Faculty of Science)

    Overview

    Computer Science (Sci) : Programming language design issues and programming paradigms. Binding and scoping, parameter passing, lambda abstraction, data abstraction, type checking. Functional and logic programming.

    Terms: Fall 2010, Winter 2011

    Instructors: Brigitte Pientka (Fall) Jesse Doherty (Winter)

  • COMP 335 Software Engineering Methods (3 credits)

    Offered by: Computer Science (Faculty of Science)

    Overview

    Computer Science (Sci) : This course in software engineering teaches basic concepts and methods for software development. The focus is on engineering and analysing requirements, design and code. Small software development exercises will be given where students would learn how to apply different methods.

    Terms: This course is not scheduled for the 2010-2011 academic year.

    Instructors: There are no professors associated with this course for the 2010-2011 academic year.

  • COMP 420 Secondary Storage Algorithms and Data Structures (3 credits)

    Offered by: Computer Science (Faculty of Science)

    Overview

    Computer Science (Sci) : Data structures and algorithms for persistent or very extensive data: sequential, logarithmic and direct-access files. Activity, volatility, and symmetry requirements of applications. Efficiency and cost analyses. Systems design. Programming language for secondary storage: basics of relational databases.

    Terms: This course is not scheduled for the 2010-2011 academic year.

    Instructors: There are no professors associated with this course for the 2010-2011 academic year.

  • COMP 421 Database Systems (3 credits)

    Offered by: Computer Science (Faculty of Science)

    Overview

    Computer Science (Sci) : Database Design: conceptual design of databases (e.g., entity-relationship model), relational data model, functional dependencies. Database Manipulation: relational algebra, SQL, database application programming, triggers, access control. Database Implementation: transactions, concurrency control, recovery, query execution and query optimization.

    Terms: Winter 2011

    Instructors: Bettina Kemme (Winter)

  • COMP 424 Artificial Intelligence (3 credits)

    Offered by: Computer Science (Faculty of Science)

    Overview

    Computer Science (Sci) : Introduction to search methods. Knowledge representation using logic and probability. Planning and decision making under uncertainty. Introduction to machine learning.

    Terms: Winter 2011

    Instructors: Joelle Pineau (Winter)

  • COMP 431 Algorithms for Engineers (3 credits)

    Offered by: Computer Science (Faculty of Science)

    Administered by: Faculty of Engineering

    Overview

    Computer Science (Sci) : Advanced data structures: heaps, binary search trees, graphs, algorithmic analysis: space-time analysis, worst-case and expected complexity. Examples of searching sorting and merging. Algorithm design: divide-and-conquer, dynamic programming, greedy methods, backtracking. Algorithms: set manipulation, tree traversals. Memory management: hashing, dynamic storage allocation and garbage collection.

    Terms: This course is not scheduled for the 2010-2011 academic year.

    Instructors: There are no professors associated with this course for the 2010-2011 academic year.

  • COMP 527 Logic and Computation (3 credits)

    Offered by: Computer Science (Faculty of Science)

    Overview

    Computer Science (Sci) : Introduction to modern constructive logic, its mathematical properties, and its numerous applications in computer science.

    Terms: This course is not scheduled for the 2010-2011 academic year.

    Instructors: There are no professors associated with this course for the 2010-2011 academic year.

    • 3 hours

    • Prerequisite: COMP 302

    • Restriction: Not open to students who have taken COMP 426

Faculty of Engineering—2010-2011 (last updated Jan. 19, 2011) (disclaimer)