 MAE010 Review of College Algebra
 MAE101 Introductory Calculus
 MAE102 Introduction to Probability and Statistics
 MAE103 Precalculus Mathematics
 MAE106 Discrete Mathematics with Probability
 MAE113 Calculus for the Liberal Arts
 MAE119 Linear Algebra for Engineers
 MAE129 Introduction to Algebra
 MAE131 Introductory Differential Calculus
 MAE133 Introductory Integral Calculus
 MAE209 Probability and Statistics
 MAE226 Multivariable and Vector Calculus
 MAE227 Differential Equations and Infinite Series
 MAE229 Linear Algebra
 MAE231 Introduction to Sets and Logic
 MAE233 Discrete Mathematics for Computer Science
 MAE234 Introduction to Cryptography
 MAE236 Introduction to Game Theory
 MAE310 Statistics
 MAE315 Differential Equations and Fourier Series
 MAE325 Laplace Transforms, Fourier Analysis and Differential Equations
 MAE326 Partial Differential Equations and Complex Analysis
 MAE328 Differential Equations, Boundary Value Problems and Complex Variables
 MAE329 Group Theory
 MAE331 Mathematics and Signal Processing
 MAE333 Introduction to Discrete Mathematics
 MAE334 Graph Theory
 MAE336 Ordinary and Partial Differential Equations, Special Functions, BoundaryValue Problems
 MAE337 Complex Analysis
 MAE340 Foundations of Probability
 MAE352 NonLinear Optimization
 MAE354 Nonlinear Dynamical Systems, Chaos and Fractals
 MAE374 Conflict Analysis
 MAE406 Advanced Mathematical Analysis, Part I
 MAE407 Advanced Mathematical Analysis, Part II
 MAE408 Numerical Analysis
 MAE413 Mathematical Physics
 MAE420 Senior Project
 MAE429 Rings and Fields
 MAE451 Topics in Mathematics
 MAE452 Probabilistic Operations Research Models
 MAE456 Mathematical Modelling
 CSE101 Introduction to Algorithms and Computing
 CSE244 Programming Development Fundamentals
 CSE260 Introduction to Computer Concepts
 CSE301 Scientific Computing
 CSE321 Algorithm Analysis
 CSE323 Formal Languages and Automata
 CSE341 Introduction to Database Systems
 CSE350 Data Structure and Algorithms
 CSE362 Software Development and Professional Practice
 CSE390 Multiprocessing, User Interfaces, Graphics Systems and Ecommerce
 CSE410 Semantic Web and Databases
 CSE411 Advanced Database Concepts and Applications
 CSE420 Senior Project
 CSE444 Advanced Programming
 CSE451 Topics in Computer Science
 CSE453 Modeling and Simulation
 CSE472 Foundations of Artificial Intelligence
 CSE475 Genetic Algorithms and Neural Networks
 CSE490 Computer Graphics
Related links
Courses 100199
MAE010 Review of College Algebra
Topics in algebra include number systems, algebraic operations on simple expressions. exponents, roots and radicals, factoring of simple expressions, solution of first degree equations and inequalities, solution of linear systems in two variables. Topics in elementary geometry include graph of a straight line, slope and intercept of a line and equations of lines in different forms.
 Note(s):
 Primarily intended for students in the Aboriginal Leadership Opportunity Year Programme (ALOY).
 Contact Hours:
 3  0  3
 Credit(s):
 0
MAE101 Introductory Calculus
Fall term: Introduction to real numbers. Real sequences. Functions: algebraic, exponential and trigonometric functions and their inverses. Limits, continuity and derivatives. Rules for differentiation. Main theorems of the differential calculus. L'Hôpital's rule. Applications of derivatives.
Winter term: Antidifferentiation: all basic methods. Definition of the integral, Riemann sums and fundamental theorem of calculus. Improper integrals. Applications of integration. Plane polar and 3dimensional coordinates. Computer laboratory using MAPLE symbolic computation software to illustrate concepts and solve problems in calculus.
MAE101(1): Refers to the Fall term of this course (1 credit)
MAE101(2): Refers to the Winter term of this course (1 credit)
 Note(s):
 For First Year Students taking Science or Engineering.
 Contact Hours:
 3  1  4
 Credit(s):
 2
MAE102 Introduction to Probability and Statistics
This course provides a noncalculus treatment of topics in Probability and Statistics. Lessons include a brief review of set operations, definitions and examples of sample space and probability of events, random variables, various discrete and continuous distributions, mean, variance and general expectations, sampling, tests of hypothesis for mean and variance, and power of tests.
 Note(s):
 Only offered through Distance Education.
This course is intended for students who have not completed a course in data analysis. It (or its equivalent) serves as a prerequisite for MAE106 and may not be used to fulfill a core requirement of the BMASc and BA programmes
For Arts students only.This course cannot be applied to a degree in Science or Engineering.  Contact Hours:
 0  0  9
 Credit(s):
 1
MAE103 Precalculus Mathematics
This course includes an introduction to sets, set notation, the properties of real numbers and the real number system. It also covers various topics in algebra including factoring algebraic expressions and arithmetic operations involving polynomial, rational and exponential expressions. Principal roots are covered, as is the connection between exponential and radical notation. The properties of inequalities and absolute values are introduced, and techniques for solving linear, nonlinear and absolute value equalities and inequalities are presented. The material on functions includes the combination and composition of functions and the determination of the domain of combined and composed functions. Inverse functions are examined, and the properties of logarithmic and exponential functions are studied along with some applications to "realworld" problems.
 Note(s):
 A required course for all Arts students who do not complete, with success, the placement test which is administered at the start of the Fall term.
For Arts students only. This course cannot be applied to a degree in Science or Engineering.  Contact Hours:
 3  1  4
 Credit(s):
 1
MAE106 Discrete Mathematics with Probability
Elementary logic. Introduction to sets and operations on sets. Combinations and permutations. Discrete probability.
 Note(s):
 Also offered through Distance Education.
For First Year students taking Arts.
For Arts students only. This course cannot be applied to a degree in Science or Engineering.  Prerequisite(s):
 MAE102 or equivalent
 Semester:
 Usually Offered in the Fall & Winter
 Contact Hours:
 3  1  6 (Distance Learning: 0  0  9)
 Credit(s):
 1
MAE113 Calculus for the Liberal Arts
This course is intended to emphasize the basic concepts of Calculus: functions, limits, derivatives and integrals. Students will be introduced to the use of mathematical software to carry out computations.
Part I: Differential Calculus. Limits and continuity. Definition of a derivative. Derivatives of polynomials, exponential and logarithmic functions. Basic differentiation: product, quotient and chain rules. Second order derivatives and convexity. Extreme points, optimization and application to business and economics.
Part II: Integral Calculus. Antiderivatives and some basic rules of integration. The definite integral as an area and the Fundamental Theorem of Calculus. Application of the definite integral to business and economics.
 Note(s):
 Also offered through Distance Education.
 For Arts students only. This course cannot be applied to a degree in Science or Engineering.
 Prerequisite(s):
 MAE103 or permission of the Department
 Exclusion(s):
 MAE108
 Contact Hours:
 3  1  4
 Credit(s):
 1
MAE119 Linear Algebra for Engineers
Vectors in 2 and 3 dimensions. Dot products, orthogonality. Lines and planes in threespace. Introduction to complex numbers. Systems of linear equations. Matrix algebra. Determinants. Finitedimensional real vector spaces, subspaces, bases and dimension. Eigenvalues, eigenvectors, diagonalisation of matrices.
 Note(s):
 For First Year Students in Engineering
 Semester:
 Usually Offered in the Winter
 Contact Hours:
 4  1  4
 Credit(s):
 1
MAE129 Introduction to Algebra
Vectors in 2, 3 and higher dimensions; geometric applications. Linear systems of equations. Matrices: matrix algebra, inverses and determinants. Solution of matrix equations. Integers: GCD, LCM, division algorithm, integers modulo n, RSA encryption. Complex numbers, arithmetic, powers and roots. Fundamental theorem of algebra and solution of polynomial equations.
 Note(s):
 For First Year Students taking Science.
 Semester:
 Usually Offered in the Winter
 Contact Hours:
 3  1  4
 Credit(s):
 1
MAE131 Introductory Differential Calculus
Introduction to the real numbers. Functions: algebraic, exponential and trigonometric and their inverses. Limits, continuity and derivative. Rules for differentiation. Main theorems of the differential calculus. L'Hospital rule. Applications of derivatives.
 Note(s):
 Only offered through Distance Education.
 Contact Hours:
 0  0  9
 Credit(s):
 1
MAE133 Introductory Integral Calculus
Antidifferentiation : techniques of integration. Riemann sums, definition of the integral and fundamental theorem of Calculus. Improper integrals. Applications of integration. Polar coordinates. First and second order linear differential equations.
 Note(s):
 Only offered through Distance Education.
 Prerequisite:
 MAE131 or equivalent
 Exclusion(s):
 MAE101(2)
 Contact Hours:
 0  0  9
 Credit(s):
 1
CSE101 Introduction to Algorithms and Computing
The subject of this course is the design and implementation in a high level language of computational solutions to simple problems. The course includes basic algorithms useful in problem solving and introduces the student to computational thinking. Basic computational tools such as sequence, selection and iteration are covered as well as algorithms for tasks such as searching, sorting and pattern matching. The use of assemblers, compilers, and interpreters will be discussed as well as lowlevel concepts that support the execution of programs on modern computers, such as representation of data, the structure of the Von Neumann machine, and their impact on correct program execution. The student will also be introduced to software testing and program documentation.
 Note(s):
 For First Year students taking Engineering and Science.
 Semester:
 Offered in the Fall session.
 Contact Hours:
 2  2  4 (009 distance)
 Credit(s):
 1
Courses 200299
MAE209 Probability and Statistics
Foundations of Probability and Statistics. Brief review of set operations. Definitions and examples of sample space and probability space. Random variables, various discrete and continuous distributions. Mean, variance and general expectations. Sampling, tests of hypothesis for mean and variance, power of tests.
 Prerequisite(s):
 MAE226
 Semester:
 Offered in the Winter
 Contact Hours:
 3  0  4
 Credit(s):
 1
MAE226 Multivariable and Vector Calculus
Vectorvalued functions, curves. Functions of several variables. Partial derivatives. Extreme values. Scalar and vector fields. Gradient, divergence, curl. Line and surface integrals. Green's, divergence and Stokes' theorems.
 Prerequisite(s):
 MAE101 and MAE119 or MAE129
 Semester:
 Usually Offered in the Fall
 Contact Hours:
 4  1  5
 Credit(s):
 1
MAE227 Differential Equations and Infinite Series
Ordinary differential equations: theory, methods of solution and applications of first order and higher order linear. Limit of sequences. Infinite series: definition of convergence, tests, power series, Taylor polynomials and remainder, Taylor series and applications.
 Prerequisite(s):
 MAE101
 Semester:
 Usually Offered in the Winter
 Contact Hours:
 3  1  4
 Credit(s):
 1
MAE229 Linear Algebra
Introduction to vector spaces. Subspaces, bases and dimension. Linear transformations and matrix representations. Eigenvalues, eigenvectors and diagonalization of matrices. Inner products; GramSchmidt process. An introduction to mathematical proofs and propositional logic is given throughout the course.
 Note(s):
 Mandatory in Mathematics programmes and for the Honours BSc in Computer Science.
 Prerequisite(s):
 MAE119 or MAE129
 Semester:
 Offered in the Fall
 Contact Hours:
 3  1  4
 Credit(s):
 1
MAE231 Introduction to Sets and Logic
This course is a general introduction to sets, logic and methods of proof. It is aimed at students of mathematics, computer science as well as anyone interested in the study of logic for formal reasoning. The topics include: introduction to set theory, infinite sets and cardinality, propositional logic, predicate logic and quantifiers, common methods of proof, mathematical induction, structure of integer, rational and real number systems.
 Prerequisite(s):
 MAE101 and one of MAE119 or MAE129
 Semester:
 Usually Offered in the Fall
 Contact Hours:
 3  1  4
 Credit(s):
 1
MAE233 Discrete Mathematics for Computer Science
This course covers the mathematical foundations required in computer science. The topics included are: An introduction to sets, relations, and functions. An introduction to propositional and predicate logic, normal forms and quantifiers. Basic methods of proofs (notion of implication, equivalence, contraposition, direct proof, counterexample, proof by contradiction, weak and strong induction). Basics of counting (including arithmetic and geometric progression, permutations and combinations, the binomial theorem and the principle of inclusionexclusion). Recurrence relations and modular arithmetic.
 Note(s):
 Mandatory in the Computer Science programmes, it should be taken in the 2nd year.
 Prerequisite(s):
 CSE101
 Semester:
 Usually Offered in the Winter session.
 Contact Hours:
 3  1  4
 Credit(s):
 1
MAE234 Introduction to Cryptography
This course will be an introduction to cryptography including its military, political and mathematical aspects. The course will survey both historical cryptography (antiquity to 1967) and modern (post 1967) cryptography. Students succeeding in this course will understand the workings of important modern techniques including public key cryptography, key exchange protocols and elliptic curve cryptography; both modern encryption and cryptoanalysis will be covered.. More specifically, the following topics will be covered: Historical techniques such as: Alphabetic Ciphers, Frequency Analysis, Vigenere Ciphers, Kaisiski's Method, One Time Pads; The mathematical basis behind modern encryption and decryption: Basic group theory and basic properties of the integers; Modern encryption techniques such as: Public Key Cryptography, RSA, DiffieHelman Key Exchange, Rabin Encryption, El Gamal, Discrete Log, Elliptic Curves. Modern decryption techniques such as: Birthday Attacks, Quadratic Sieve, Known Plaintext attacks, Maninthemiddle attacks.
 Semester:
 Usually Offered in the Fall
 Contact Hours:
 3  0  3
 Credit(s):
 1
MAE236 Introduction to Game Theory
This course is an introduction to two types of mathematical models of games: those introduced by von Neumann and Morgenstern, which have many applications in economics, and combinatorial games. Topics from classical game theory include: twoperson zerosum games, dominant and mixed strategies, solution techniques for small games, Minimax theorem; nonzerosum games, Nash equilibrium, pure and mixed strategy equilibria. Impartial combinatorial games such as takeaway games and Nim are studied, along with the SpragueGrundy theorem and some of its applications.
 Semester:
 Offered in the Winter
 Contact Hours:
 3  0  3
 Credit(s):
 1
CSE244 Programming Development Fundamentals
This course covers an introduction to fundamentals of programming design techniques, such as Programming Concepts (object oriented programming, eventdriven and reactive programming); Fundamental Data Structures (arrays, strings, strategies for choosing the appropriate data structure); Fundamental Algorithms (simple numerical algorithms, approximation and mathematical analysis, sequential search, simple sorting algorithms, simple string processing); Development Methods (program correctness, specification, defensive programming, testing fundamentals, pre/postconditions, modern environments, debugging strategies, documentation, and program style).
 Note(s):
 Mandatory in the Computer Science programmes, it should be taken in the 2nd year.
 Prerequisite(s):
 CSE101
 Semester:
 Offered in the Fall session
 Contact Hours:
 3  2  5
 Credit(s):
 1
CSE260 Introduction to Computer Concepts
Course intended for students in Arts. This course is part of the core curriculum. This course gives an introduction to information technology and its applications. Topics include an overview of computer hardware and system software, algorithm design, programming in a high level language, use of spreadsheets and data base systems, computer networks and the internet, and security considerations.
 Note(s):
 For Arts students only. This course cannot be applied to a degree in Science or Engineering.
 Semester:
 Usually offered in the Winter session.
 Contact Hours:
 3  0  6
 Credit(s):
 1
Courses 300399
MAE310 Statistics
Sampling distributions; estimation of population parameters  point and interval estimators; hypothesis testing for one or two groups; test for goodness of fit, contingency tables; quality control and simple linear regression; time series.
 Prerequisite(s):
 MAE209
 Semester:
 Usually Offered in the Fall or Winter
 Contact Hours:
 3  1  4
 Credit(s):
 1
MAE315 Differential Equations and Fourier Series
Laplace transforms and application to solution of initialvalue problems. Fourier series and integrals. Solution of linear differential equations using power series and Frobenius method. Bessel equation and functions.
 Note(s):
 For Third Year students taking Chemical Engineering.
 Prerequisite(s):
 MAE226, MAE227
 Semester:
 Usually Offered in the Fall
 Contact Hours:
 3  1  4
 Credit(s):
 1
MAE325 Laplace Transforms, Fourier Analysis and Differential Equations
Laplace transforms and initial value problems. Fourier series, integrals and transforms. Power series and Frobenius methods for linear differential equations. Bessel's equation and functions.
 Note(s):
 Mandatory for students taking Electrical and Computer Engineering, or Mathematics
 Prerequisite(s):
 MAE226, MAE227
 Contact Hours:
 3  1  4
 Credit(s):
 1
MAE326 Partial Differential Equations and Complex Analysis
Partial differential equations and solution of boundary value problems using method of separation of variables. Functions of a complex variable: analytic functions, Taylor and Laurent series, complex integration, residue theorem.
 Note(s):
 For students taking Electrical Engineering or Science
 Prerequisite(s):
 MAE325
 Contact Hours:
 3  1  4
 Credit(s):
 1
MAE328 Differential Equations, Boundary Value Problems and Complex Variables
Laplace transforms and the solution of ordinary differential equations. Fourier series. Partial differential equations and the method of separation of variables. Boundary value problems. Functions of a complex variable. Practical examples applied to problems in Mechanical and Aeronautical Engineering.
 Note(s):
 For Third Year students taking Mechanical Engineering.
 Prerequisite(s):
 MAE226, MAE227
 Semester:
 Offered in the Fall
 Contact Hours:
 3  2  5
 Credit(s):
 1
MAE329 Group Theory
Groups, cyclic groups, subgroups and normal subgroups. Homomorphisms, quotient groups, isomorphism theorems and permutation groups. Sylow Theorems and applications to group theory.
 Note(s):
 Mandatory in Mathematics programmes.
 Prerequisite(s):
 MAE229
 Semester:
 Usually Offered in the Fall and Winter
 Contact Hours:
 3  1  4
 Credit(s):
 1
MAE331 Mathematics of Signal Processing
Distributions, Dirac's delta function and convolutions. Correlation and autocorrelation. Linear timeinvariant systems. Continuous and discrete signals. Impulse and step responses. Transfer function and frequency response. Applications of the Laplace transform, Ztransform and solutions of finite difference equations. Applications of the Fourier Transform. Nyquist rate and Shannon's signal reconstruction formula, discrete Fourier transform, wavelet analysis.
 Prerequisite(s):
 MAE325
 Semester:
 Usually Offered in the Winter
 Contact Hours:
 3  0  4
 Credit(s):
 1
MAE333 Introduction to Discrete Mathematics
Brief review of permutations and combinations. Fundamentals of logic. Properties of the integers including induction, recursion, primes and modular arithmetic. Enumeration including the pigeonhole principle, inclusion/exclusion, generating functions and recurrence relations.
 Semester:
 Usually Offered in the Fall or Winter session.
 Contact Hours:
 3  1  4
 Credit(s):
 1
MAE334 Graph Theory
Graphs and subgraphs, trees, connectivity, Euler tours and Hamiltonian cycles, matchings, independent sets and networks. Graph theoretic algorithms for finding spanning trees, shortest paths in weighted graphs and maximal flows in networks. Selected applications will cover timetabling, travelling salesman and tournament scheduling type problems.
 Prerequisite(s):
 CSE101 and one of MAE119 or MAE129
 Semester:
 Usually Offered in the Fall and Winter
 Contact Hours:
 3  1  4
 Credit(s):
 1
MAE336 Ordinary and Partial Differential Equations, Special Functions, BoundaryValue Problems
SturmLiouville theory and problems; study of the associated special functions. Sturm separation and comparison theorems. Introduction to partial differential equations. Separation of variables method for solving boundaryvalue problems. Solution of problems involving the Laplace, wave, diffusion and Schrodinger equations. Introduction to calculus of variations.
 Note(s):
 Required for students in Mathematics degree programmes
 Prerequisite(s):
 MAE325
 Semester:
 Offered in the Winter
 Contact Hours:
 3  1  4
 Credit(s):
 1
MAE337 Complex Analysis
The study of complex analysis is the study of functions of a complex variable and is very useful in many areas including number theory and applied mathematics. The subjects covered include: Complex numbers, Complex functions (limit and derivative). Analytic functions: CauchyRiemann conditions. Elementary complex functions. Cauchy theorem. Cauchy Integral & Formula. Fundamental theorem of algebra. Types of singularities. Taylor and Laurent series. Residue Calculus. Conformal Mapping.
 Prerequisite(s):
 MAE119 or MAE129, MAE226, MAE227
 Semester:
 Usually Offered in the Winter
 Contact Hours:
 3  1  4
 Credit(s):
 1
MAE340 Foundations of Probability
Probability; random variables and distributions; joint distributions; functions of random variables; conditional expectations; sequences of random variables; stochastic processes.
 Prerequisite(s):
 MAE209, MAE226, MAE227
 Semester:
 Usually Offered in the Fall and Winter
 Contact Hours:
 3  1  4
 Credit(s):
 1
MAE352 NonLinear Optimization
Nonlinear Optimization deals with the problem of optimizing i.e. minimizing or maximizing an objective function in the presence or in the absence of equality and inequality constraints. Nonlinear Optimization has many applications in Engineering, Sciences, Economics and in several domains of military activities. In this course will be presented the main mathematical concepts, optimality conditions and numerical methods considered now in Nonlinear Optimization. Short introductions to Optimal Control Theory and Global Optimization will be also presented.
The main subjects of this course are the following. Convex Analysis. Geometrical Optimality Conditions. Optimality Conditions and Duality. Lagrangian Duality and Saddle Point Optimality Conditions. Numerical Algorithms and their convergence. Introduction to optimal Control Theory. Introduction to the Global Optimization.
Several examples and applications will be given.
 Prerequisite(s):
 MAE226, MAE227
 Semester:
 Usually Offered in the Fall and Winter
 Contact Hours:
 3  0  4
 Credit(s):
 1
MAE354 Nonlinear Dynamical Systems, Chaos and Fractals
Some nonlinear systems exhibit unexpected behaviours that require novel methods of explanation. Such are the chaotic systems, the evolution of which is unusually sensitive to small variations in the initial conditions. Chaos in the heavens; asteroids and comets and on Earth; simple iterated functions. Fractals; objects of fractional dimensions. MAPLE will be used to illustrate the effects studied.
Key subjects are: periodicity, orbits, bifurcations, nonlinear maps (Hénon), Julia set, Mandelbrot set, pendulum motion, Lorenz butterfly and strange attractor.
 Prerequisite(s):
 Having done two years at RMC or the equivalent in Mathematics and Computer Science.
 Semester:
 Usually Offered in the Fall and Winter
 Contact Hours:
 3  0  4
 Credit(s):
 1
MAE374 Conflict Analysis
The ability to understand and resolve conflicts is a required skill for decision makers in every domain. The purpose of this course is to present the part of Game Theory and its techniques designed to solve real world problems. The material presented includes models and analysis methods from Stability Analysis, Hypergame Analysis, Two and NPlayer Games Analysis, Equilibrium Analysis (such as Nash's equilibrium), as well as Dynamic Modelling.
This course is of great value to future analysts of both civil and military issues. It provides them with the tools to disentangle complex real economical or geopolitical issues in order to determine the cause(s) and assist in the selection of a rational solution.
The main subjects of this course are the following. Types of conflicts; Simple conflict analysis, Garrison conflict. Hypergames; Cuban Missile Crises, Normandy Invasion. Metagames; Mathematical description, Analysis, Characterization theorem. Conflict analysis methods; Two and NPlayer games, Nuclear conflict. Theory and implications of conflict analysis; Foundations, Equilibriums and solution concepts, Classical Game Theory. Solution procedures for noncooperative games; Stability, Existence with examples, Special classes of games. Dynamic modeling; Supergames, Nuclear conflict, Time transition matrices.
 Prerequisite(s):
 MAE226, MAE227, MAE229
 Semester:
 Usually Offered in the Fall and Winter
 Contact Hours:
 3  0  4
 Credit(s):
 1
CSE301 Scientific Computing
Sources of error in numerical computation. Stable and unstable algorithms, computational pitfalls. Topics in numerical analysis including the solution of linear and nonlinear equations, numerical integration and differentiation, polynomial and spline interpolation, discrete least squares approximation, numerical solution of ordinary differential equations.
 Prerequisite(s):
 MAE129, MAE226, MAE227, CSE101
 Semester:
 Usually Offered in the Fall and Winter
 Contact Hours:
 3  1  4
 Credit(s):
 1
CSE321 Algorithm Analysis
Analysis of algorithms and computational complexity, complexity measures and standard complexity classes, use of recurrence relations to analyze recursive algorithms. Fundamental algorithmic strategies: bruteforce, greedy, divide and conquer, recursive backtracking. Strings and patternmatching algorithms. Graph and tree traversals, algorithms for shortestpath, transitive closure, minimum spanning tree. Implementations of graphs and trees. Introduction to computability, Turing machines, algorithmically unsolvable problems, halting problem.
 Note(s):
 Mandatory in the Computer Science programmes.
 Prerequisite(s):
 CSE350, MAE233, and one of CSE244 or EEE243.
 Semester:
 Usually Offered in the Fall session.
 Contact Hours:
 3  1  5
 Credit(s):
 1
CSE323 Formal Languages and Automata
Introduction to the theory of automata and formal languages with application to the theory of computation. Deterministic finite automata, regular languages, pushdown automata, context free grammars, Turing machines (TM), unsolvable problems about TM and grammars, P and NP classes, NP completeness.
 Prerequisite(s):
 CSE350 or permission of the department
 Semester:
 Usually Offered in the Fall and Winter
 Contact Hours:
 3  2  4
 Credit(s):
 1
CSE341 Introduction to Database Systems
Database system concepts; Primary file organization and index structures; Data modeling using entityrelationship model and enhanced entityrelationship model; Relational model, Normalization; relational algebra and relational calculus; SQL, Embedded SQL and JDBC; query optimization, transaction processing; security and database integrity.
 Note(s):
 Mandatory in the Computer Science programmes.
 Prerequisite(s):
 CSE350 and one of CSE244 or EEE243, or permission of the department
 Semester:
 Usually Offered in the Winter session.
 Contact Hours:
 3  2  5
 Credit(s):
 1
CSE350 Data Structure and Algorithms
Use of recursion and abstract data types. Basic objectoriented programming: using and defining classes. Introduction to computational complexity, big O notation, and analysis of simple algorithms. Fundamental data structures (stacks, queues, hash tables, trees and graphs) and their implementations. Fundamental algorithms: quicksort and other O ( n log n ) sorting algorithms, hashing and collisionavoidance, binary search, operations on binary trees. Introduction to graphs and finding shortestpaths.
 Note(s):
 Mandatory in the Computer Science programmes, it should be taken in the 2nd year.
 Corequisite(s):

Students taking CSE350 should take or have passed CSE244 or EEE243.
 Semester:
 Offered in the Fall session
 Contact Hours:
 3  2  5
 Credit(s):
 1
CSE362 Software Development and Professional Practice
This course starts with a description of humancomputer interaction issues in software design. The course then covers a range of topics integral to the design, implementation, and testing of a mediumscale software system with the practical experience of implementing such a project as a member of a programmer team. Finally, the course includes material on the social context of computing as well as professionalism and ethical responsibilities in software development.
 Note(s):
 Mandatory for the Honours BSc in Computer Science.
 Prerequisite(s):
 CSE350
 Semester:
 Usually Offered in the Fall and Winter
 Contact Hours:
 3  2  5
 Credit(s):
 1
CSE390 Multiprocessing, user interfaces, graphics systems and ecommerce
The course starts by covering aspects of conventional computer architecture such as memory systems and functional organization. Then, multiprocessing and alternative architectures beyond the classical von Neumann model are studied. The second portion of the course will teach fundamental issues in humancomputer interaction, eventdriven programming and effective graphical user interface (GUI) design, with practical experience building a GUI. The third part of the course is concerned with graphics software and video. The fundamental techniques involved in the design of graphic systems are studied using a graphics API and more advanced topics such as geometric modeling and graphics rendering algorithms are also included. Finally, in the course fourth and last part, ecommerce is covered.
 Note(s):
 Mandatory for the Honours BSc in Computer Science.
 Prerequisite(s):
 CSE350
 Semester:
 Usually Offered in the Fall and Winter
 Contact Hours:
 3  2  5
 Credit(s):
 1
Courses 400499
MAE406 Advanced Mathematical Analysis  Part I
The main goal of this course is to present the first part of some fundamental notions and results of modern mathematical analysis, necessary for applied analysis. This course is necessary for anyone who intends to follow advanced courses in fields such as Optimization, Game Theory, Dynamical Systems, Partial Differential Equations, Integral Equations, etc.. The content of this course forms a good background for many courses in Masters and PhD programs. The topics presented include: necessary notions related to real numbers, topological spaces, metric spaces, Lebesgue integral, and convex analysis.
 Prerequisite(s):
 MAE226, MAE227, MAE229
 Contact Hours:
 3  1  4
 Credit(s):
 1
MAE407 Advanced Mathematical Analysis  Part II
The main goal of this course is to present the second part of some fundamental notions and results of modern mathematical analysis, necessary for applied analysis. Part I of this course is a prerequisite. This course is necessary for anyone who intends to follow advanced courses in fields such as Optimization, Game Theory, Dynamical Systems, Partial Differential Equations, Integral Equations, etc. The content of this course forms a good background for many courses in Masters and PhD programs. The material presented is as follows: Banach and Hilbert Spaces, Linear operators between Hilbert Spaces, Fixed Point theorems, and Variational Inequalities.
 Prerequisite(s):
 MAE406
 Contact Hours:
 3  1  4
 Credit(s):
 1
MAE408 Numerical Analysis
Solutions of partial differential equations using implicit difference methods for parabolic, elliptic and hyperbolic equations, and methods for gradient boundary conditions; introduction to finite element methods; root finding and optimization; modern simulation techniques including Monte Carlo, pseudorandom number generation, and simplex applications; other advanced topics as appropriate.
 Prerequisite(s):
 MAE226, MAE227, CSE301
 Semester:
 Usually Offered in the Fall and Winter
 Contact Hours:
 3  0  3
 Credit(s):
 1
MAE413 Mathematical Physics
Integral representation of functions. Green's functions in one and higher dimensions. Solutions of integral equations. Additional topics in mathematical physics as time permits. Software packages for symbolic and numerical computation will be used wherever possible.
 Prerequisite(s):
 MAE325, MAE326
 Semester:
 Usually Offered in the Fall and Winter
 Contact Hours:
 3  0  3
 Credit(s):
 1
MAE420 Senior Project
The purpose of this course is to offer the possibility of doing an indepth study of a scientific topic in which the student is particularly interested. The format is flexible and depends on the topic area. At one end of the spectrum, the student could be associated with a research group in Mathematics and be given responsibility for part of a research project. At the other end, the student may choose a programme of independent study under the supervision of a member of the faculty. In all cases, the student's progress would be regularly monitored and an interim report would be submitted by the student at the end of the Fall term. The final mark would be based on a combination of assessment by the faculty supervisor(s) and an oral presentation to the Honours Science students and a faculty assessment committee.
 Note(s):
 Mandatory for Honours Mathematics students.
 Contact Hours:
 0  0  4
 Credit(s):
 2
MAE429 Rings and Fields
Rings, polynomial rings, homomorphisms. Euclidean and principal ideal domains. Unique factorization domains. Fields, extensions of fields, finite fields and applications.
 Prerequisite(s):
 MAE329
 Contact Hours:
 3  1  4
 Credit(s):
 1
MAE451 Topics in Mathematics
The objective of this course is to allow members of the department to share their expertise with students in areas of mathematics not covered in other courses. Students will present seminars and written reports, as appropriate.
 Prerequisite(s):
 Permission of the instructor
 Semester:
 Usually Offered in the Fall and Winter
 Contact Hours:
 0  3  3
 Credit(s):
 1
MAE452 Probabilistic Operations Research Models
Conditional distributions; probability generating functions; Poisson processes; the role of exponential and Poisson distributions in applications. Introduction to stochastic processes; birthanddeath processes; renewal processes. Markov chains and their properties. Use of computer software programs to solve problems in various stochastic processes.
 Prerequisite(s):
 MAE340, MAE325
 Semester:
 Usually Offered in the Fall and Winter
 Contact Hours:
 3  1  4
 Credit(s):
 1
MAE456 Mathematical Modelling
This course involves a study of the principles of mathematical modelling. Continuous models based on ordinary differential equations, systems of ordinary differential equations, partial differential equations and integral equations. Models based on optimization and variational calculus. Each model type will be illustrated by concrete examples and numerical methods appropriate to these equations will be investigated. The latter part of the course will be dedicated to a qualitative study of mathematical models. Mathematical models for military problems will be considered.
 Prerequisite(s):
 MAE325, MAE326
 Semester:
 Usually Offered in the Fall and Winter
 Contact Hours:
 3  0  4
 Credit(s):
 1
CSE410 Semantic Web and Databases
The course Semantic Web and databases aims at familiarizing students with the basic principles of the Semantic Web and presents its current state of development and challenges. Another goal of the course is to compare Semantic Web triple stores and query language (SPARQL) with relational databases and to explain the main differences and similarities between both areas. The course also explores the various technologies, tools and languages currently used in the Semantic Web. In particular, we detail Semantic Web languages, ontology engineering methods, linked data, queries and semantic search tools and finally inference engines used with ontologies.
 Note(s):
 The lectures take various forms: 1) discussions on various readings (conferences, journals), 2) formal lectures, and 3) Presentations by students. Students must also complete a Semantic Web project in a given application domain using Java and Semantic Web Technologies.
 Prerequisite(s):
 CSE350
 Contact Hours:
 3  0  5
 Credit(s):
 1
CSE411 Advanced Database Concepts and Applications
Concurrency and recovery. Decision support . Object databases. Distributed databases and clientserver architecture. Active databases and temporal databases. Deductive databases. Data warehousing and data mining. Study of applications such as GIS, genome database, bioinformatics, digital library and multimedia databases.
 Prerequisite(s):
 CSE341
 Semester:
 Usually Offered in the Fall and Winter
 Contact Hours:
 3  2  5
 Credit(s):
 1
CSE420 Senior Project
The purpose of this course is to offer the possibility of doing an indepth study of a scientific topic in which the student is particularly interested. The format is flexible and depends on the topic area. At one end of the spectrum, the student could be associated with a research group in Computer Science and be given responsibility for part of a research project. At the other end, the student may choose a programme of independent study under the supervision of a member of the faculty. In all cases, the student's progress would be regularly monitored and an interim report would be submitted by the student at the end of the Fall term. The final mark would be based on a combination of assessment by the faculty supervisor(s) and an oral presentation to the Honours Science students and a faculty assessment committee.
 Note(s):
 Mandatory for Honours Computer Science students
 Contact Hours:
 0  0  4
 Credit(s):
 2
CSE444 Advanced Programming
Laboratory exercises designed to introduce the students to the basic concepts of multiprocessing, multithreading, interprocess communication, distributed programming, parallel computing, socket connection, client/server model, networking, UDP and TCP protocols, routing information protocols, web security, fundamentals of cryptography, firewalls.
 Note(s):
 Each student must develop a project.
 Prerequisite(s):
 CSE350
 Semester:
 Usually Offered in the Fall and Winter
 Contact Hours:
 0  2  4
 Credit(s):
 1
CSE451 Topics in Computer Science
The objective of this course is to allow members of the department to share their expertise with students in areas of computer science not covered in other courses. Students may be expected to work on software projects, and will present seminars and written reports as appropriate.
 Prerequisite(s):
 Permission of the instructor
 Semester:
 Usually Offered in the Fall and Winter
 Contact Hours:
 0  3  3
 Credit(s):
 1
CSE453 Modeling and Simulation
After the course, students will be able to solve problems using computer simulations. More specifically, students will be able to describe the procedures involved in modeling and simulation; they will know how to structure and then verify models for complex systems, how to conduct designs of experiment on models, i.e., simulation, and how to measure and evaluate these experiments (simulation analysis). Advanced applications will be shown and students will be able to solve problems by using various skills of modeling and simulation. Finally, they will be able to apply their knowledge of modeling and simulation to solve defence related applications.
 Prerequisite(s):
 CSE101
 Semester:
 Usually Offered in the Fall and Winter
 Contact Hours:
 3  2  4
 Credit(s):
 1
CSE472 Foundations of Artificial Intelligence
This course gives a comprehensive introduction to the foundations of Artificial Intelligence (AI). It starts with an introduction to intelligent agents. Secondly, it reviews the methods of solving problems by searching and game playing. Then, it explores knowledge, knowledge representations and reasoning with the help of propositional and first order logics. Furthermore, AI programming languages such as Prolog/Clips/JESS and their usages in building expert systems are studied. Afterwards, knowledge and reasoning with uncertainty are discussed. It also explains some concepts of machine learning from the aspects of statistics and mathematics. In addition, computer vision,dealing with sound, and robotics are introduced. Finally, it highlights major applications of AI for military defence.
 Note(s):
 Mandatory for the Honours BSc in Computer Science.
 Prerequisite(s):
 CSE350 or CSE321
 Semester:
 Usually Offered in the Fall and Winter
 Contact Hours:
 3  2  3
 Credit(s):
 1
CSE475 Genetic Algorithms and Neural Networks
Genetic information processing. Natural mechanisms of optimization of species. Molecular computers. Algorithm of artificial genetics. Neural networks. Elements of functioning of natural networks and of learning. Artificial networks: the most important models, including the perception, the adaline, the associative memories, error backpropagation, Kohonen's SOM, the radial basis functions networks, and many of their practical applications.
 Note(s):
 This course includes two periods of laboratory per week. Students will use commercial software and will also write their own programs.
 Prerequisite(s):
 MAE226, MAE227
 Semester:
 Usually Offered in the Fall and Winter
 Contact Hours:
 3  2  3
 Credit(s):
 1
CSE490 Computer Graphics
This course introduces the fundamentals of modern 3D computer graphics. The students will learn about the standard graphic card pipeline and to how program it. Using OpenGL, they will learn to send data to the graphic card memory, to do basic rendering, and to program the GPU vertex and fragment shaders. The students will also learn about 3D projections, transformations, frames of reference, and homogeneous coordinates system. Other topics covered include mesh triangulation, lightning, shading, and texturing. At the end of the semester, the students will have a good idea how modern 3D computer graphics are working and will have written some 3D graphic software of their own.
 Note(s):
 Limited to 10 students.
 Prerequisite(s):
 MAE119 or MAE129, CSE390 (EEE243 recommended)
 Semester:
 Usually Offered in the Fall
 Contact Hours:
 2  2  4
 Credit(s):
 1