Undergraduate Calendar 20022003Link to current Undergraduate Calendar 




Because Designated Options can require up to eight courses, it may be necessary for students to take extra courses to complete the required work in some options. To carry extra courses, a student's academic standing must be such that the extra load will not lead to a high risk of failure, and permission of the department Associate Chair must be obtained. For a designation to appear on the transcript a student must achieve an average of 60% in the option courses and a grade of 50% in each of the courses in the option. Details follow later in this section.
The Option consists of a set of five required courses and a twoterm project course. The project will normally be taken in the 4A and 4B academic terms. Proposals and projects must be approved, in advance, by the Option coordinator to ensure that content requirements will be met.
The courses are:
ERS 241*  Introduction to Environmental Assessment 
BIOL 250+  Ecology 
ENVE 320  Environmental Resource Management 
One of:
CIVE 375 ENVE 334 
Water Quality Engineering (all students except Chemical Engineering) Environmental Chemistry (Chemical Engineering students only) 
One of:
ENVE 473 ME 571 
Contaminant Transport Air Pollution 1 
ENVE 430  ++ Environmental Engineering Project 1 
ENVE 431  ++ Environmental Engineering Project 2 
*ERS 241 satisfies
the Impact of Technology on Society requirement as part of the Complementary
Studies complement of courses required of Engineering students.
+ENVS 200 is an
acceptable equivalent for BIOL 250.
++The project course combination of ENVE 430,431
must comprise a contiguous and double weight project course. Possible equivalents
include CHE 47; CHE 43,48;
CIVE 400,401
and SYDE 461,462.
All projects must satisfy the requirements of ENVE 430,431
as indicated in the calendar and require the approval of the Option Coordinator.
Substitution of equivalent courses, if applicable, require the approval of the Option Coordinator.
The Option consists of study terms or work terms, or both, at overseas locations, of at least eight months, together with academic requirements. To be accepted for the Option designation of International Studies in Engineering, the complete package must be approved by the Coordinator of the Option.
MSCI 211^{C}  Organizational Behaviour 
or MSCI 311^{C}  Organizational Design and Technology 
MSCI 251  Probability and Statistics 
MSCI 261^{B}  Managerial and Engineering Economics 1 
MSCI 331  Operations Research 1 
plus at least two of the following or equivalent:
MSCI 311^{C}  Organizational Design and Technology 
or MSCI 211^{C}  Organizational Behaviour 
MSCI 431  Operations Research 2 
MSCI 432  Introduction to Production Management 
MSCI 441^{D}  Management Information Systems 
MSCI 442^{A}  Impact of Information Systems on Organizations and Society 
MSCI 452  Decision Making Under Uncertainty 
MSCI 462^{D}  Public CostBenefit Analysis for Engineers 
and at most one of the following courses:
ACC 371^{D}  Managerial Finance 1 
ECON 201^{C}  Microeconomic Theory 
ECON 371^{C}  Business Finance 1 
GENE 452^{D}  Technical Entrepreneurship 
STAT 335  Statistical Process Control 
^{A,B,C,D} These courses count toward Complementary Studies requirements: A Impact, B Engineering Economics, C Humanities and Social Sciences, D Other.
There are many possible course combinations that could be selected depending on which aspects of the Management Sciences the student wishes to focus. Students who wish to develop business skills should consider including either ACC 371 or GENE 452 in their option.
For further information, including equivalent courses, see the Management Sciences section of the calendar or contact the Associate Chair for Undergraduate Studies of the Management Sciences Department, who is the Option Coordinator.
MATH 211  Advanced Calculus 1 (or equivalent) 
MATH 212  Advanced Calculus 2 (or equivalent) 
ECE 316  Probability and Statistics (or equivalent) 
MATH 235  Linear Algebra 2 
either  
PMATH 334  Introduction to Rings and Fields 
or PMATH 336  Introduction to Group Theory 
or PMATH 345  Polynomials, Rings and Finite Fields 
either  
AMATH/PMATH 331  Real Analysis 
or AMATH/PMATH 332  Complex Analysis 
A student must additionally take two courses from the following, subject
to availability and timetable constraints.
AMATH 331/PMATH 331  Real Analysis 
AMATH 332/PMATH 332  Complex Analysis 
AMATH 333 /PMATH 365  Differential Geometry and Tensor Analysis 
AMATH 351  Ordinary Differential Equations 
AMATH 353  Partial Differential Equations 1 
AMATH 361  Continuum Mechanics 
AMATH 453  Partial Differential Equations 2 
AMATH 451  Introduction to Dynamical Systems 
AMATH 456  Calculus of Variations 
PMATH 334  Introduction to Rings and Fields 
or PMATH 345  Polynomials, Rings and Finite Fields 
PMATH 336  Introduction to Group Theory 
or PMATH 346  Group Theory 
PMATH 340  Elementary Number Theory 
PMATH 360  Geometry 
MATH 239  Introduction to Combinatorics 
CO 342  Graph Theory 1 
CO 350  Linear Programming 
CO 367  Nonlinear Programming 
The list of courses will be subject to change from time to time. For further information contact the Option Coordinator.
Option Structure and Course Requirements
The Option is defined in terms of three levels of courses. Level 1 courses are a normal part of the student's program (i.e. Computer Engineering) and provide a basic background for the option. These courses are listed in Table 1 for each program.
The Level 2 courses are the four courses that are considered core courses for the option. For each student, some of these are part of their program (i.e. Mechanical Engineering) while others are required as extra courses. It is expected that students will have to shift a CSE or one or more of their normal technical courses in order to complete the Level 2 requirements. These courses are summarized in Table 2.
The third set of courses is the Level 3 courses, which represent elective
courses in the different subject areas of the option. The students must
take at least one course from each of the five groups presented in Table
3.
Table 1. Level 1 Courses (fundamental) in the Mechatronics Option
Electrical Engineering 
Mechanical Engineering  Systems Design Engineering 





















Table 2. Level 2 Courses (core) in the Mechatronics Option
According to their program, students taking the Mechatronics Option
must take the following four courses.
Electrical Engineering 

Engineering 











Table 3. Level 3 Courses (electives) for the Mechatronics Option
Students must take one course from each of the Group Topics given here.
Actuators and Sensors  ECE 463, ME 561 
Computer Systems  ECE 354, 450, 457, SYDE 372, 423, or 575 
Digital Control Systems  ECE 484 
Robotics and Automation  ECE 486, ME 447, 547, SYDE 422, or 558 
Mechanical Systems  ME 322, 524,
SYDE 382, 454,
553,
or 555 
Mechatronics Project
Each student in the option must take at least one of the Mechatronics
Project Courses:
GENE 461 Mechatronics
Design Project 1 (4A) or
GENE 462 Mechatronics
Design Project 2 (4B).
GENE 461 and GENE 462 are only available for students taking the Mechatronics Option. In some programs, these courses may be used to replace other fourth year courses. See the Associate Chair for information.
PHYS 115  Mechanics 
PHYS 125  Physics for Engineers 
PHYS 234  Quantum Physics 1 
PHYS 334  Quantum Physics 2 
ME 250  Thermodynamics 
or  
PHYS 358  Thermodynamics 
A student must additionally take three electives from Group A or three electives from group B, subject to availability and timetable constraints.
Group A
PHYS 259  Crystallography and XRay Diffraction 
PHYS 359  Statistical Mechanics 
PHYS 364  Mathematical Physics 1 
PHYS 365  Mathematical Physics 2 
PHYS 434  Quantum Physics 3 
PHYS 435  Solid State Physics 
PHYS 443  Continuum Mechanics 
PHYS 444  Modern Particle Physics 
PHYS 454  Quantum Physics 4 
Group B
PHYS 364  Mathematical Physics 1 
PHYS 365  Mathematical Physics 2 
PHYS 375  Astrophysics 2 
AMATH 475  Introduction to General Relativity 
PHYS 445  Modern Optics 
PHYS 475  Astrophysics 3  Galaxies and Cosmology 
The list of courses in Groups A and B will be subject to change from time to time. For further information, contact the Option Coordinator.
However, these demands have not been all technical. Industry is also asking for graduates who have facility across several disciplines. Our software engineering option graduates need to have substantial communications, business, and reasoning skills. Our graduates should be able to make presentations to technical and nontechnical audiences, write coherent wellreasoned reports, work in groups, and assess the social, technical, legal, and commercial implications of the technology they help to create.
Thus, the Software Engineering Option has been designed jointly by the Departments of Computer Science and Electrical and Computer Engineering to meet these demands.
The Option is meant to be part of either a BASc or BMath degree, and is offered jointly by the Faculties of Engineering and Mathematics. Given that the Option involves two faculties, it has slightly different realizations in those faculties. This option description is found in the calendar chapters for each faculty (the Faculty of Engineering and the Faculty of Mathematics). The interested reader is directed to the appropriate portion of the calendar.
It should be noted that this description is for an option in addition to a degree. This option does not replace any of the normal degree requirements. Engineering students must satisfy the BASc degree requirements as specified in the Faculty of Engineering chapter, and Mathematics students must satisfy the BMath requirements specified in the Faculty of Mathematics chapter. In most cases courses which satisfy the Software Engineering Option requirements, can be selected to also satisfy some component of the degree.
The technical component consists of three sub categories: the central concepts of the discipline, the foundations of software engineering, and the applications for which software engineering techniques are to be used. The table below summarizes the technical aspects of software engineering as they relate to Engineering and Mathematics students.
The second component of this discipline is linkage. It is clearly important for the software professional to be able to adapt to the environment often associated with software engineering. As a result of this need, four areas of study have been included in the requirements: Societal Issues, Business Issues, Reasoning Methodologies, and Communications. The first three areas of study can be satisfied by taking courses from the lists of courses in the Linkage Summary. Communication skills, both written and verbal, are very important aspects of software engineering, and are a significant component of the foundation technical courses as well as some of the linkage courses. Each student will have different needs in this area, and students are encouraged to consider taking courses from the suggested list of Communications courses below.
The courses in each category applicable to the two degrees are listed below.
ECE 103 Discrete Mathematics for Engineers
ECE 222 Digital Computers
ECE 223 Digital Circuits
and Systems
ECE 250 Algorithms and
Data Structures
ECE 251 Programming
Languages and Translators
ECE 304 Numerical Methods
ECE 324 Microprocessor
Systems and Interfacing
ECE 354 RealTime Operating
Systems
ECE 380 Control Systems
ECE 456 Database Systems
All of the following courses are required for students enrolled in a BMath degree.
CS 240 Data Structures
and Data Management
CS 241 Foundations of
Sequential Programs
CS 246 Software Abstraction
and Specification
CS 341 Algorithms
CS 342 Concurrent Programming
CS 351 Digital Design and Architecture
CS 354 Operating Systems
CS 360 Introduction to
the Theory of Computing
CS 370 Numerical Computation
CS 448 Introduction to
Database Management
ECE 451/CS 445
Software Requirements Specification and Analysis
ECE 452/CS 446
Software Design and Architectures
ECE 453/CS 447
Software Testing, Quality Assurance and Maintenance
ECE 428  Computer Communications Networks 
ECE 429  Computer Structures 
ECE 454  Distributed and Network Computing 
ECE 457  Applied Artificial Intelligence 
ECE 484  Digital Control Systems 
CS 444  Compiler Construction 
CS 452  RealTime Programming 
CS 454  Distributed Systems 
CS 457  System Performance Evaluation 
CS 466  Algorithm Design and Analysis 
CS 486  Introduction to Applied Artificial Intelligence 
CS 488  Introduction to Computer Graphics 
Linkage Area  Courses 
Business Issues  BUS 111, 121, GENE 452, HRM 200, MSCI 211, 311 , MTHEL 400 
Societal Issues  CS 492, 494, ME 401, GENE 411, PHIL 207, 215, 315, STV 100, 202, 302, 400 
Reasoning Methodologies  PHIL 145, 200J, 241, 242, 243, 443, PMATH 330 
Suggested Communications Courses
Given that the Foundations courses require a high level of proficiency in both written and oral communication skills, students should consider how they can upgrade these skills. The following list of courses is intended for students wishing to improve their communication skills. If one of these courses is taken, then only three of the linkage courses listed above (one from each list) is required. Students interested in pursuing this alternative should discuss their selection with their student advisor. Suggested communications courses: ENGL 109, 140R, 209, 210E, 210F, 210G, 219, 309E, 376R, 392A, 392B, DRAMA 223, 224, 225, 323, 324. Students should be aware that these courses may have enrollment limits, or may not fit their schedules.
Core Courses
GENE 121 Digital Computation
or equivalent
GENE 240 Algorithms
and Data Structures
GENE 241 Introduction
to Computer Structures and RealTime Systems
GENE 342 Principles
of Software Engineering
One of CHE 46/CHE 47,
CIVE 400 or CIVE 401,
ENVE 483, ENVE 430/ENVE
431,
GEOE 400/401,
ME 481 or ME 482,
or SYDE 461/ SYDE 462.
In each case the project must contain in addition to the usual discipline
specific component, a significant software design component that utilizes
material from the other option core courses. The Associate Chair (or designate)
in each department is responsible for approving projects for inclusion
in this option.
Impact Course
In addition to the technical skills required in the software area,
students in the option must also take an impact course that considers the
impact of Software and Information Systems on Society. One such course
is MSCI 442, Impact of
Information Systems on Organizations and Society.
Elective Courses:
The option requires two Technical Elective courses. Each student is
expected to take one course from each of the two lists below.
List A: Application Oriented Electives (Select one)
The purpose of these electives is to provide a discipline specific
application in which an engineering student can apply their software skills.
Some of the courses are also available for nonsoftware option students,
while others are for only those in the option. It is assumed that students
in the option will have engineering application oriented laboratory exercise
projects that enhance their software skills.
CHE 524 Process Control
Laboratory
CIVE 422 Finite Element
Analysis
ECE 413 Digital Signal
Processing
ECE 485 Computer Controlled
Applications
ME 447 Advanced Manufacturing
Technologies
ME 555 Computer Aided
Design
ME 559 Finite Element
Methods
ME 566 Fluid Mechanics
3
SYDE 454 Computer
Simulation of Systems
SYDE 558 Fuzzy Logic
and Neural Networks
SYDE 575 Image Processing
List B: Software Focused Electives (Select one)
The courses listed below predominantly focus on the software design
process including topics such as: requirements, specification, design,
implementation, testing, maintenance and management of the design process.
ECE 428 Computer Networks
and Security
ECE 454 Distributed
and Network Computing
ECE 451 Software Requirements
Specification and Analysis. (This course may be offered with a special
project for students in the Software Option)
ECE 452 Software Design
and Architecture. (This course may be offered with a special project for
students in the Software Option)
ECE 456 Database Systems
GENE 344 Programming
Languages and Translators. (Crosslisted with ECE 251)
SYDE 422 Machine Intelligence
or ECE 457 Applied Artificial
Intelligence
There are four required courses:
STAT 231 Statistics
(or equivalent, e.g. SYDE 214,
ME 202, CHE 22,
CIVE 224, ENVE 224)
STAT 331 Applied Linear
Models (or equivalent, e.g. SYDE 334)
STAT 333 Applied Probability
or STAT 430 Experimental
Design
STAT 335 Statistical
Process Control
Because of the overlap of STAT 335 with STAT 430 and SYDE 214 or ME 202, students who have taken these courses should check with the program advisors for useful alternatives.
A student must take three additional courses from those listed below:
STAT 230  Probability (or equivalent, e.g. SYDE 213) 
STAT 332  Sampling 
STAT 333  Applied Probability 
STAT 371  Stochastic OR Models (SYDE 511 or MSCI 431 may be substituted) 
STAT 430  Experimental Design 
STAT 431  Applications of Linear Models 
STAT 433  Stochastic Processes 
STAT 443  Forecasting 
CHE 37  Applied Mathematics 2 
CHE 41  Introduction to Process Control 
CHE 522  Advanced Process Dynamics and Control 
CHE 524  Process Control Laboratory 
CIVE 342  Transport Principles and Applications 
CIVE 344  Urban Transport Planning 
CIVE 375  Water Quality Engineering 
CIVE 440  Transport Systems Analysis 
CIVE 443  Traffic Engineering 
CIVE 473  Contaminant Transport 
CIVE 486  Hydrology 
ME 340  Manufacturing Processes 
MSCI 432  Introduction to Production Management 
MSCI 452  Decision Making Under Uncertainty 
SYDE 372  Pattern Recognition 
SYDE 434  Random Process in the Environment 
SYDE 533  Conflict Analysis 
For further information contact the Option Coordinators.
The Option in Water Resources is not available to students in Environmental Engineering /Civil Specialization.
There are four required courses:
CIVE 280 (or equivalent)  Fluid Mechanics 
CIVE 375  Water Quality Engineering 
CIVE 381  Hydraulics 
CIVE 486  Hydrology 
A minimum of three elective courses is required to be taken from the following list, subject to timetable constraints.
Surface Water
ENVE 473 (W)  Contaminant Transport 
CIVE 483 (W)  Design of Urban Water Systems 
Treatment
CIVE 472 (S)  Wastewater Treatment 
or  
ENVE 472 (F)  Wastewater Treatment 
CHE 32 (W,S)  Introductory Biotechnology 
CHE 574 (W)  Treatment of Aqueous Inorganic Wastes 
Groundwater
EARTH 458 (F,S)  Physical Hydrogeology 
EARTH 459 (W)  Chemical Hydrogeology 
Management
ENVE 320 (W)  Environmental Resource Management 
SYDE 533 (F)  Conflict Analysis 
Mathematics
CIVE 422 (W)  Finite Element Analysis 
ENVE 321 (W)  Advanced Mathematics 
ME 559 (F,S)  Finite Element Methods 
EARTH 456 (F)  Groundwater Modelling 
ME 303 (W,S)  Advanced Engineering Mathematics 
SYDE 312 (S)  Numerical Analysis and Computer Methods 
SYDE 511 (F)  Probabilistic Modelling 
SYDE 311 (S)  Engineering Optimization 
Remote Sensing
GEOG 276  Air Photo Interpretation 
GEOG 376  Environmental Remote Sensing 
GEOG 471  Remote Sensing  Project 
SYDE 534 (W)  Remote Sensing Systems 
Air Pollution
CHE 572 (W)  Air Pollution Control 
ME 571 (W)  Air Pollution 
Fluids
ME 362 (F,W)  Fluid Mechanics 2 
ME 566 (F,S)  Computational Fluid Dynamics for Engineering Design 
Other courses may be substituted with permission of the Associate Chair for Undergraduate Studies and the Option Coordinator. Course offerings are subject to change; check with the appropriate department to ensure course availability.



The Undergraduate Calendar is published by the Office of the Registrar, University of Waterloo,
Waterloo, ON N2L 3G1 Canada
Contact Information: Need academic advisement help? If so, please direct your inquiry to the appropriate
Undergraduate Faculty Advisor by visiting
the
Undergraduate Faculty Advisors page on the Registrar's Office website for contact information.
If you are reporting technical problems and broken links in the calendar, send an email to roucal@uwaterloo.ca.
All other inquiries may be directed to: registrar@uwaterloo.ca.