- 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, Boundary-Value Problems
- MAE337 Complex Analysis
- MAE340 Foundations of Probability
- MAE352 Non-Linear Optimization
- MAE354 Non-linear 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
- CSE250 Data Structures and Algorithms
- CSE260 Introduction to Computer Concepts
- CSE301 Scientific Computing
- CSE321 Algorithm Analysis
- CSE323 Formal Languages and Automata
- CSE341 Introduction to Database Systems
- CSE362 Software Development and Professional Practice
- CSE390 Multiprocessing, User Interfaces, Graphics Systems and E-commerce
- 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 100-199

### 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 3-dimensional 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 non-calculus 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, non-linear 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 "real-world" 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. Anti-derivatives 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 three-space. Introduction to complex numbers. Systems of linear equations. Matrix algebra. Determinants. Finite-dimensional 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 low-level 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 (0-0-9 distance)
- Credit(s):
- 1

## Courses 200-299

### 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

Vector-valued 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; Gram-Schmidt 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
- Exclusion(s):
- MAE231
- 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 inclusion-exclusion). Recurrence relations and modular arithmetic.

- Note(s):
- Mandatory in the Computer Science programmes, it should be taken in the 2nd year.
- Prerequisite(s):
- CSE101
- Exclusion(s):
- MAE231
- 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, Diffie-Helman Key Exchange, Rabin Encryption, El Gamal, Discrete Log, Elliptic Curves. Modern decryption techniques such as: Birthday Attacks, Quadratic Sieve, Known Plaintext attacks, Man-in-the-middle 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: two-person zero-sum games, dominant and mixed strategies, solution techniques for small games, Minimax theorem; non-zero-sum games, Nash equilibrium, pure and mixed strategy equilibria. Impartial combinatorial games such as take-away games and Nim are studied, along with the Sprague-Grundy 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, event-driven 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/post-conditions, modern environments, debugging strategies, documentation, and program style).

- Prerequisite(s):
- CSE101
- Semester:
- Offered in the Fall session
- Contact Hours:
- 3 - 2 - 5
- Credit(s):
- 1

### CSE250 Data Structures and Algorithms

Use of recursion and abstract data types. 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 collision-avoidance, binary search, operations on binary trees. Introduction to graphs and finding shortest-paths.

- Note(s):
- Mandatory in the Computer Science programmes, it should be taken in the 2nd year.
- Prequisite(s):
- EEE243
- Semester:
- Offered in the Winter 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 300-399

### 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 initial-value 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 time-invariant systems. Continuous and discrete signals. Impulse and step responses. Transfer function and frequency response. Applications of the Laplace transform, Z-transform 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 sub-graphs, 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, Boundary-Value Problems

Sturm-Liouville 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 boundary-value 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: Cauchy-Riemann 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 Non-Linear 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 Non-linear Dynamical Systems, Chaos and Fractals

Some non-linear 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, non-linear 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 N-Player 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 N-Player games, Nuclear conflict. Theory and implications of conflict analysis; Foundations, Equilibriums and solution concepts, Classical Game Theory. Solution procedures for non-cooperative 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 non-linear 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: brute-force, greedy, divide and conquer, recursive backtracking. Strings and pattern-matching algorithms. Graph and tree traversals, algorithms for shortest-path, 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):
- CS250 and one of MAE231 or MAE233.
- 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):
- CSE250 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 entity-relationship model and enhanced entity-relationship 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):
- CSE250 and one of MAE231 or MAE233, or permission of the department
- Semester:
- Usually Offered in the Winter session.
- Contact Hours:
- 3 - 2 - 5
- Credit(s):
- 1

### CSE362 Software Development and Professional Practice

This course starts with a description of human-computer interaction issues in software design. The course then covers a range of topics integral to the design, implementation, and testing of a medium-scale 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):
- CSE250
- Semester:
- Usually Offered in the Fall and Winter
- Contact Hours:
- 3 - 2 - 5
- Credit(s):
- 1

### CSE390 Multiprocessing, user interfaces, graphics systems and e-commerce

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 human-computer interaction, event-driven 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, e-commerce is covered.

- Note(s):
- Mandatory for the Honours BSc in Computer Science.
- Prerequisite(s):
- CSE250
- Semester:
- Usually Offered in the Fall and Winter
- Contact Hours:
- 3 - 2 - 5
- Credit(s):
- 1

## Courses 400-499

### 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, pseudo-random 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 in-depth 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; birth-and-death 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):
- CSE250
- Contact Hours:
- 3 - 0 - 5
- Credit(s):
- 1

### CSE411 Advanced Database Concepts and Applications

Concurrency and recovery. Decision support . Object databases. Distributed databases and client-server 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 in-depth 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):
- CSE250
- 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):
- CSE250 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 back-propagation, 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