Note: This is the 2010–2011 edition of the eCalendar. Update the year in your browser's URL bar for the most recent version of this page, or click here to jump to the newest eCalendar.
Program Requirements
Computer Science Courses
The School of Computer Science offers an extensive range of courses for Engineering students interested in computers. The course taken by students in most B.Eng. programs (COMP 208) and other courses included in the core of the various B.Eng. and B.S.E. programs are listed below.
See the course listing at ttp:// for other courses offered by the School of Computer Sciences (subject code COMP).
-
COMP 202 Introduction to Computing 1 (3 credits)
Overview
Computer Science (Sci) : Overview of components of microcomputers, the internet design and implementation of programs using a modern high-level language, an introduction to modular software design and debugging. Programming concepts are illustrated using a variety of application areas.
Terms: Fall 2010, Winter 2011, Summer 2011
Instructors: Petitpas, Mathieu; Frydrychowicz, Maja (Fall) Frydrychowicz, Maja; Pomerantz, Daniel (Winter) Pomerantz, Daniel (Summer)
- 3 hours
- Prerequisite: a CEGEP level mathematics course
- Restrictions: COMP 202 and COMP 208 cannot both be taken for credit. COMP 202 is intended as a general introductory course, while COMP 208 is intended for students interested in scientific computation. COMP 202 cannot be taken for credit with or after COMP 250
-
COMP 208 Computers in Engineering (3 credits)
Overview
Computer Science (Sci) : Introduction to computer systems. Concepts and structures for high level programming. Elements of structured programming using FORTRAN 90 and C. Numerical algorithms such as root finding, numerical integration and differential equations. Non-numerical algorithms for sorting and searching.
Terms: Fall 2010, Winter 2011
Instructors: Friedman, Nathan; Ranjbar, Amin; Rabbani, Amir Hossein (Fall) Friedman, Nathan; Rabbani, Amir Hossein; Meraji, Seyed Sina (Winter)
- 3 hours
- Prerequisite: differential and integral calculus.
- Corequisite: linear algebra: determinants, vectors, matrix operations.
- Restrictions: COMP 202 and COMP 208 cannot both be taken for credit. COMP 202 is intended as a general introductory course, while COMP 208 is intended for students interested in scientific computations. Credits for either of these courses will not count towards the 60-credit Major in Computer Science. COMP 208 cannot be taken for credit with or after COMP 250.
-
COMP 250 Introduction to Computer Science (3 credits)
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: Precup, Doina (Fall) Langer, Michael (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.
-
COMP 302 Programming Languages and Paradigms (3 credits)
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: Pientka, Brigitte (Fall) Doherty, Jesse (Winter)
- 3 hours
- Prerequisite: COMP 250 or COMP 203
Note: COMP 202 and COMP 208 (compulsory for some Engineering students) do not form part of the Minor in Computer Science.
B.Eng. - Minor Computer Science (24 credits)
Minor Adviser: Students interested in this Minor should see Liette Chin, Undergraduate Program Coordinator, in the School of Computer Science (Lorne Trottier Building, Room 2070) to obtain the appropriate forms, and should see both the Minor Adviser in Computer Science and their department adviser for approval of their course selection. Forms must be submitted and approved before the end of the Course Change (drop/add) period of the student's final term.
Note: This Minor is open to B.Eng., B.S.E., and B.Sc.(Arch.) students in Engineering.
Engineering students may obtain the Computer Science minor as part of their B.Eng., B.S.E., or B.Sc.(Arch.) degree by completing the 24-credits of courses passed with a grade of C or better. In general, some complementary courses within B.Eng. and B.S.E. programs may be used to satisfy some of these requirements, but the Minor will require at least 12 extra credits from Computer Science (COMP) courses beyond those needed for the B.Eng. or B.S.E. degree. Students should consult their departments about the use of complementaries, and credits that can be double counted.
Note: COMP 202 and COMP 208 (compulsory for some Engineering students do not form part of the Minor in Computer Science.
For more information, see the School of Computer Science website: .
Required Course
3 credits
-
COMP 206 Introduction to Software Systems (3 credits)
Overview
Computer Science (Sci) : Comprehensive overview of programming in C, use of system calls and libraries, debugging and testing of code; use of developmental tools like make, version control systems.
Terms: Fall 2010, Winter 2011
Instructors: Vybihal, Joseph P (Fall) Vybihal, Joseph P; Dudek, Gregory L (Winter)
- 3 hours
- Prerequisite: COMP 202 or COMP 250
Complementary Courses
21 credits
3 credits from the following:
-
COMP 203 Introduction to Computing 2 (3 credits)
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)
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: Precup, Doina (Fall) Langer, Michael (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 credits from the following:
-
COMP 302 Programming Languages and Paradigms (3 credits)
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: Pientka, Brigitte (Fall) Doherty, Jesse (Winter)
- 3 hours
- Prerequisite: COMP 250 or COMP 203
-
COMP 303 Software Development (3 credits)
Overview
Computer Science (Sci) : Principles, mechanisms, techniques, and tools for object-oriented software development: encapsulation, design patterns, unit testing, etc.
Terms: Fall 2010
Instructors: Robillard, Martin (Fall)
- Winter
- 3 hours
- Prerequisites: COMP 206, COMP 250.
- Corequisite: COMP 302.
- The course involves a significant project
3 credits from the following:
-
COMP 273 Introduction to Computer Systems (3 credits)
Overview
Computer Science (Sci) : Number representations, combinational and sequential digital circuits, MIPS instructions and architecture datapath and control, caches, virtual memory, interrupts and exceptions, pipelining.
Terms: Fall 2010, Winter 2011
Instructors: Vybihal, Joseph P (Fall) Siddiqi, Kaleem (Winter)
- 3 hours
- Corequisite: COMP 206.
-
ECSE 221 Introduction to Computer Engineering (3 credits)
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: Ferrie, Frank P (Fall) Liboiron-Ladouceur, Odile (Winter)
- (3-2-4)
- Prerequisite: COMP 202
- Tutorials assigned by instructor.
3 credits from the following:
-
COMP 350 Numerical Computing (3 credits)
Overview
Computer Science (Sci) : Computer representation of numbers, IEEE Standard for Floating Point Representation, computer arithmetic and rounding errors. Numerical stability. Matrix computations and software systems. Polynomial interpolation. Least-squares approximation. Iterative methods for solving a nonlinear equation. Discretization methods for integration and differential equations.
Terms: Fall 2010
Instructors: Chang, Xiao-Wen (Fall)
- 3 hours
- Prerequisites: MATH 222 and MATH 223 and one of: COMP 202, COMP 208, COMP 250; or equivalents.
-
MECH 309 Numerical Methods in Mechanical Engineering (3 credits)
Overview
Mechanical Engineering : Numerical techniques for problems commonly encountered in Mechanical Engineering are presented. Chebyshev interpolation, quadrature, roots of equations in one or more variables, matrices, curve fitting, splines and ordinary differential equations. The emphasis is on the analysis and understanding of the problem rather than the details of the actual numerical program.
Terms: Winter 2011
Instructors: Daneshmand, Farhang (Winter)
- (3-1-5)
- Prerequisites: MATH 263, MATH 271, COMP 208.
0-3 credits from the following:
-
COMP 251 Data Structures and Algorithms (3 credits)
Overview
Computer Science (Sci) : Design and analysis of algorithms. Complexity of algorithms. Data structures. Introduction to graph algorithms and their analysis.
Terms: Fall 2010, Winter 2011
Instructors: Verbrugge, Clark (Fall) Crepeau, Claude (Winter)
- 3 hours
- Prerequisite: COMP 250 or COMP 203.
- Restrictions: Not open to students who have taken or are taking COMP 252.
6-9 credits chosen from other Computer Science courses at the 300- level or higher.
Notes:
A. COMP 203 and COMP 250 are considered to be equivalent from a prerequisite point of view, and cannot both be taken for credit.
B. COMP 208 may be taken before COMP 250; however, it cannot be taken for credit in the same term or afterward.
C. COMP 396 (Undergraduate Research Project) cannot be taken for credit toward this Minor.
Courses that make considerable use of computing from other departments may also be selected, with the approval of the School of Computer Science. Students should consult with their advisers about counting specific courses.