## Programme Information

## Course Descriptions

- MA501 Advanced Math Topics
- MA503 Optimization Theory and Applications
- MA511 Topics in Optimization
- MA513 Game Theory
- MA515 Interval Analysis
- MA517 Mathematical Models for Combat
- MA525 Deterministic Numerical Simulation
- MA527 Prime Numbers and Cryptography
- MA531 Logic and its Application to Computer Science
- MA533 Probability and Discrete-time Processes
- MA535 Stochastic Processes I
- MA537 Stochastic Processes II
- MA539 Multiobjective Optimization (Pareto Optimization)
- MA541 Semantic Web and Ontologies
- MA543 Discrete-Time Stochastic Processes Modelling
- MA545 Applied Stochastic Modelling
- MA547 Advanced Modelling of Queues
- MA549 Representation Theory
- MA551 Topics in Combinatorics
- CS501 Advanced Topics in Computer Science
- CS503 Development of Scientific Software
- CS505 Reinforcement Learning
- CS507 Deep Learning with Artificial Neural Networks
- CS551 Pattern Recognition and Image Processing
- CS553 Modelling and Simulation
- CS565 Data Base Management Systems
- CS567 Applications of Artificial Intelligence in Command and Control
- CS571 Computer Graphics
- CS575 Computer Simulation for Guided Weapon Systems
- CS581 Foundations of Artificial Intelligence
- CS585 Software Engineering Mathematics
- CS591 Algorithm and Analysis
- CS595 Complexity Theory
- CS597 Topics in Softcomputing with Emphasis on Neural Networks
- CS599 Cryptology
- PR500 Project
- TH500 Thesis (Master's Level)
- TH600 Thesis (Doctoral Level)
- CP600 Comprehensive Exam (Doctoral Level)

## Contact

- Department Head
- Dr Claude Tardif
- Graduate Studies Committee Chair
- Dr. Mohan Chaudry
- Telephone
- 613-541-6000 ext 6458
- Fax
- 613-541-6584
- Web Page
- Department of Mathematics and Computer Science

## Programmes Offered

The Department of Mathematics and Computer Science offers Master's and Doctoral degrees in Science, with specialty fields of Mathematics and Computer Science.

Graduate research may be pursued in the following areas:

- artificial intelligence
- constraint programming
- database
- intelligent tutoring systems
- numerical simulation
- signal and image processing
- user modelling
- mathematical physics
- mathematical modelling
- neural networks
- operations research
- optimization
- statistics
- stochastic processes

## Admission

Candidates for the degrees Master of Science and Doctor of Philosophy will be admitted under the General Admission Requirements. Details regarding admission to the Royal Military College as a graduate student can be found in the Admission to Graduate Studies section of this calendar.

## Programme Requirements

**Important:**All students must complete the zero-credit course AI500: Academic Integrity or an equivalent course by the end of their first term of study.

The Master of Science degree with a specialty in either Mathematics or Computer Science will be awarded to candidates who successfully complete a programme of studies normally comprised of six-term courses plus a thesis. The Master's degree when pursued full-time in the residential programme normally requires two academic years plus the intervening summer to complete. The Doctoral degree will be awarded to candidates who successfully complete a programme of studies normally comprised of at least ten term courses at the graduate level in addition to a thesis.

## Course Descriptions

### MA501 Advanced Topics in Mathematics

This is a reading and tutorial course with topics in mathematics selected to complement the student's thesis research.

- Tutorial:
- 3 periods per week (one term)
- Credit(s):
- 1

### MA503 Optimization Theory and Applications

In this course are presented the fundamental concepts, results and numerical methods of optimization. The content is: introduction, mathematical background, mathematical models for optimization, convexity in Rn (Convex sets, convex functions, separation and polarity, external structure of convex sets), linear programming (necessary and sufficient conditions of optimality, the duality theorem, the simplex method), convexity and differentiability (gradients, subgradients, directional derivative), geometrical optimality conditions, analytical optimality conditions (Fritz-John optimality condition, Karush-Kuhn-Tucker optimality condition), Lagrangian duality and saddle point optimality conditions, numerical algorithms and their convergence (gradient methods, projected gradient methods, penalty-function methods, modified Lagrangian methods, relaxation methods).

- Lectures:
- 3 periods per week (one term)
- Credit(s):
- 1

### MA511 Topics in Optimization

This course covers topics in optimization such as: Global optimization, Interval Analysis applied to optimization, Introduction to Optimal Control, Nondifferentiable optimization, Linear programming, Combinatorial optimization, etc.

- Lectures:
- 3 periods per week (one term)
- Credit(s):
- 1

### MA513 Game Theory

The main purpose of this course is to present the basic mathematical machinery utilized in the theory of games. The content is: mathematical preliminaries, matrix games, infinite antagonistic games, non-cooperative games, cooperative games, introduction to differential games and applications.

- Lectures:
- 3 periods per week (one term)
- Credit(s):
- 1

### MA515 Interval Analysis

The goal of this course is to present the fundamental notions of interval analysis and its applications to numerical methods used in applied mathematics. Content: The set I(R) of bounded real intervals. The set I(C) of complex intervals. Interval arithmetic. Interval evaluation and range of real functions. Machine interval arithmetic. Finite convergence. Metric, absolute value and width in I(R) and in I(C). Interval matrix operations. Computable sufficient conditions for existence and convergence. Interval analysis and zeros of polynomials. Interval analysis and linear equations. Interval analysis and fixed points theory. Interval analysis and differential equations. Interval analysis and non-linear equations. Interval analysis and opt im is at ion problems.

- Lectures:
- 3 periods per week (one term)
- Credit(s):
- 1

### MA517 Mathematical Models for Combat

The goal of this course is to present the most important mathematical models considered in defence analysis. Content: the importance of mathematical modelling for defence analysis. Principles of mathematical modelling. Defence planning, combat models and the scientific study of warfare. Differential equations and differential systems (background). Different types of combat models. Lanchester's classical combat models. Some simple models of battle termination. Lanchester attrition-rate coefficients. Modelling tactical engagements. Optimizing tactical decisions. Mathematical models for combat and differential games. Mathematical models for combat and army race. Mathematical models for combat and dynamical systems. Numerical methods applicable to mathematical models for combat.

- Lectures:
- 3 periods per week (one term)
- Credit(s):
- 1

### MA525 Deterministic Numerical Simulation

Review of numerical linear algebra with special emphasis on eigenvalue problems. Special matrices. Storage techniques for large matrices and algorithms for solution of large linear systems. Parallel algorithms. Computational techniques for ordinary differential equations. Classification of partial differential equations (PDE). Solution of first and second order PDE's by direct, spectral and iterative methods. Existence and uniqueness of solutions. Non-linear PDE's. Diffusion and convection problems.

- Prerequisite:
- MA507 or its equivalent
- Lectures:
- 3 periods per week (one term)
- Credit(s):
- 1

### MA527 Prime Numbers and Cryptography

Prime numbers play an important role in many cryptographic methods. This course studies some of the many algorithms linked to prime numbers: deterministic and probabilistic primality tests, generating large primes, factoring methods. Relevant results from theoretical and computational number theory are developed and discussed as needed. Applications of these algorithms in cryptographic methods are also considered.

- Lectures:
- 3 periods per week (one term)
- Laboratory:
- 1 period per week (one term)
- Credit(s):
- 1

### MA531 Logic and Its Application to Computer Science

This course is an introduction to the notion of formal theories and proofs. The propositional calculus and the predicate calculus will be revisited along these lines. First order theories will be discussed and some generalisations will also be considered, in particular those playing a role in computer science.

- Lectures:
- 3 periods per week (one term)
- Credit(s):
- 1

### MA533 Probability and Discrete-time Processes

Advanced concepts in probability distributions and expectations; generating functions; compound distributions; discrete-time renewal theory; recurrent events, random walk and ruin problems.

- Lectures:
- 3 periods per week (one term)
- Credit(s):
- 1

### MA535 Stochastic Processes - I

Counting processes and compound Poisson processes; continuous-time renewal theory; Markov chains in discrete and continuous time. Discussion of various queuing models.

- Prerequisite:
- MA533 or its equivalent
- Lectures:
- 3 periods per week (one term)
- Credit(s):
- 1

### MA537 Stochastic Processes - II

Advanced mathematical modelling of queues; Markov chains and processes, birth-and-death processes, continuous-time renewal theory; Poisson and non-Poisson queues; transient and steady-state solutions; bulk queues.

- Prerequisite:
- MA533 or its equivalent
- Lectures:
- 3 periods per week (one term)
- Credit(s):
- 1

### MA539 Multiobjective Optimization (Pareto Optimization)

Life inevitably involves decision-making, choices, and searching for compromises. It is only natural to want all of these to be as good as possible, in other words, optimal. The difficulty in studying these kinds of problems lies in the conflict between our various objectives and goals. Multiobjective optimization is also called vector optimization.

In multiobjective optimization, one investigates optimal elements such as minimal, strongly minimal, properly minimal or weakly minimal elements of a non-empty subset of a partially ordered linear space. Multiobjective optimization problems can be found not only in mathematics but also in engineering, economics, and in military domains.

The goal of this course is to present the models and the mathematical methods used in multiobjective optimization

- Lectures:
- 3 periods per week (one term)
- Credit(s):
- 1

### MA541 Semantic Web and Ontologies

The course Semantic Web and ontologies aims to familiarize students with the basic principles of the Semantic Web and to present its current state of development and research challenges. The course also explores the various technologies, tools and languages currently used. In particular, as ontologies are the backbone of the Semantic Web, the course also presents ontology engineering and ontology learning methodologies. The lectures take various forms: 1) discussing various readings, 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:
- Java
- Lectures:
- 3 periods per week (one term)
- Laboratory:
- 5 hours per week (minimum)
- Credit(s):
- 3

### MA543 Discrete-time Stochastic Processes Modelling

Numerical inversion of generating functions and Laplace transforms. Discrete-time single-server and multi-server queuing models (finite and infinite space, Markov and non-Markov ); complex models involving bulk arrivals or bulk service. Introduction to matrix-analytic methods.

- Prerequisite:
- MA537 or its equivalent
- Lectures:
- 3 periods per week (one term)
- Credit(s):
- 1

### MA545 Applied Stochastic Modelling

This course studies the general Markovian arrival process as well as phase-type distributions in discrete- and continuous time. These concepts give rise to different models leading to applications in internet and telecommunication systems as well as other types of congestion processes. Various techniques such as matrix-analytic, matrix-geometric, spectral analysis and the roots method will be used to solve these models.

- Prerequisite:
- MA537 and MA543 or equivalent
- Lectures:
- 3 periods per week (one term)
- Credit(s):
- 1

### MA547 Advanced Modelling of Queues

This course studies single and bulk arrival multi-server queues wherein inter-arrival times follow arbitrary distributions. Both discrete- and continuous-time aspects of these queues will be studied. While looking at the computational aspects of these queues, various distributions such as heavy-tailed distributions which have applications in financial engineering will be considered. In addition, single-server finite-space queues will be investigated using the roots method. Current solution approaches will be examined in detail for all models studied.

- Prerequisite:
- MA537 and MA543 or equivalent
- Lectures:
- 3 periods per week (one term)
- Credit(s):
- 1

### MA549 Representation Theory

Representation theory is the study of algebraic structures and their modules through the use of matrices and linear algebra. The purpose of this course is to give the student an introduction to representation theory in some algebraic settings. This includes topics ranging from representation theory of associative algebras to representation theory of Lie algebras. Key results in representation theory of associative algebras include Gabriel's theorem on finite type path algebras, classification of semi-simple algebras, Jordan-Holder theorem and Krull-RemakSchmidt theorem. On the Lie algebra side, important results include the relationship between Lie groups and Lie algebras, the classification results (including the classification of simple complex Lie algebras through Dynkin diagrams), and the description of the representations of some classical Lie algebras.

- Lectures:
- 3 periods per week (one term)
- Credit(s):
- 1

### MA551 Topics in Combinatorics

This course covers advanced topics in combinatorics such as graph theory, ordered sets, designs, enumerative combinatorics, combinatorial group theory and extremal set theory.

- Lectures:
- 3 periods per week (one term)
- Credit(s):
- 1

### CS501 Advanced Topics in Computer Science

This is a reading and tutorial course with topics in computer science selected to complement the student's thesis research.

- Tutorial:
- 3 periods per week (one term)
- Credit(s):
- 1

### CS503 Development of Scientific Software

Scientific software is defined as software that is computationally intensive. This course looks at the topics dealing with the production of high quality scientific software. Topics will be examined both from the viewpoint of the computing specialist and from the viewpoint of the scientist. As such, this course is of interest to students in computing and students in other disciplines that depend on computationally intensive software. Topics include performance and resources, safety, trustworthiness and confidence, issues in validation and other types of testing, regulatory standards, architecture and design, data design, and long-term evolution and change.

- Lectures:
- 3 periods per week (one term)
- Credit(s):
- 1

### CS505 Reinforcement Learning

This course is an in-depth coverage of reinforcement learning theory, algorithmic solutions, neuropsychological basis, and discussions on states representations. Topics included the basic definition of reinforcement learning and Bellman equations, as well as algorithms from three classes of solutions to the problem: Dynamic Programming, Monte Carlo Methods, and Temporal Difference Learning (including eligibility traces). It also covers the psychological and neurological foundations of animal reinforcement learning as well as advanced topics on learning state and action representations. Selected mathematical proofs may also be covered.

- Lectures:
- 3 periods per week (one term)
- Credit(s):
- 1

### CS507 Deep Learning with Artificial Neural Networks

This course introduces the fundamentals of machine learning with a focus on deep learning with artificial neural networks. This includes, but is not limited to, deep feed forward networks, convolution networks, recurrent neural networks, regularization and optimization. At the end of the semester, the students will have a good idea of how modern deep learning artificial neural network algorithms are working and will be able to understand the relevant literature on the given topics. The students should also be able to use some deep learning library and to apply it to a problem of their choice.

- Lectures:
- 3 periods per week (one term)
- Credit(s):
- 1

### CS551 Pattern Recognition and Image Processing

Introduction to the basic mathematical tools and algorithms for image processing by digital computers. Topics covered will include various aspects of image filtering, restoration and enhancement. Principles of deterministic, statistical and syntactic approaches to pattern recognition. Techniques of feature extraction and classification. Scene analysis. Expert system techniques and computer applications will be covered. Students will be expected to complete computer-based projects.

- Lectures:
- 3 periods per week
- Laboratory:
- 2 periods per week (one term)
- Credit(s):
- 1

### CS553 Modelling and Simulation

This course gives a comprehensive treatment of model design and exesutin for simulation. It reviews the important aspects of a simulation study, including modelling, simulation software, model verification and validation. Study of input modelling, random-number generators, generating random variates and processes, statistical design and analysis of simulation experiments. Highlight of major application areas such as military defence.

- Lectures:
- 2 periods per week
- Laboratory:
- 2 periods per week (one term)
- Credit(s):
- 1

### CS565 Data Base Management Systems

Concepts, approaches and techniques in Data Base Management Systems (DBMS). Data as a model of reality, logical models of databases. Theory of relational databases. Query languages. Concurrency, transactions and distributed processes. Knowledge-based system rules, logic programming and object-oriented databases.

- Lectures:
- 3 periods per week
- Laboratory:
- 2 periods per week (one term)
- Credit(s):
- 1

### CS567 Applications of Artificial Intelligence in Command and Control

In this course, the fundamental aspects of command and control will be discussed with a view to using artificial intelligence. In particular, the following aspects will be considered: knowledge-based systems, knowledge representation, intelligent tutoring systems, planning, and constraint programming.

- Lectures:
- 3 periods per week (one term)
- Credit(s):
- 1

### CS571 Computer Graphics

This course will cover various mathematical and computational aspects of computer graphics. Algorithms for representing and transforming lines, curves and surfaces. Display files and data structures. Students will be expected to complete computer-based projects.

- Lectures:
- 3 periods per week
- Laboratory:
- 2 periods per week (one term)
- Credit(s):
- 1

### CS575 Computer Simulation for Guided Weapon Systems

Topics discussed include a review of the basic concepts of classical mechanics and their application to describe flight trajectories. Fundamental problems of missile guidance, measurement of missile motion and analysis of different laws governing the flight of a homing missile. Theory of inertial navigation and applications of inertial guidance. Attitude control, orbit transfer and optimal control of trajectories in space and in atmospheric flight. Pursuit evasion games.

- Lectures:
- 3 periods per week
- Laboratory:
- 2 periods per week (one term)
- Credit(s):
- 1

### CS581 Foundations of Artificial Intelligence

This course covers topics in: LISP language: History, introduction to the language: Sexpressions, CONS, CAR, CDR, etc.; production and matching: production system, methodology, pattern matching, examples; knowledge representation: definition, overview of knowledge representations, semantic networks, frames, inheritance, conceptual graphs; reasoning: inference, resolution, resolution strategies, nonmonotonic reasoning, knowledge and belief, metaknowledge and metareasoning; and planning: initial state, goals, actions, plans, conditional plans.

- Lectures:
- 3 periods per week (one term)
- Credit(s):
- 1

### CS585 Software Engineering Mathematics

Propositional logic and predicate calculus. First order theories. Sets, relations and functions. The use of mathematics to specify software and to describe its properties. Hoare triples. The use of assertions in programming. Techniques for checking completeness and consistency. Small practical examples. Introduction to techniques such as Z and VDM.

- Lectures:
- 3 periods per week (one term)
- Credit(s):
- 1

### CS591 Algorithm Analysis

This course covers advanced topics in the design and analysis of algorithms. In particular, algorithms for parallel computation will be investigated in more detail. The students are expected to read and discuss current material on these subjects.

- Prerequisite
- CSE321
- Lectures:
- 3 periods per week (one term)
- Credit(s):
- 1

### CS595 Complexity Theory

This course reviews important results in complexity theory and discusses the following topics: time complexity, space complexity, intractability. Some advanced topics will also be covered in some details: approximation algorithms, probability algorithms, parallel computation, and cryptography.

- Lectures:
- 3 periods per week (one term)
- Credit(s):
- 1

### CS597 Topics in Softcomputing with Emphasis on Neural Networks

How nature computes with DNA and neural networks. The principles of artificial computing with DNA, genetic algorithms and neural networks. Artificial Neural Networks are studied in some depth; the topics discussed including: single and multi-layer perceptron's, back propagation networks, self-organizing maps, and some of their applications. This course has a practical computing dimension. Students will be introduced to LISP and possibly other computer languages so that they can write their own software implementing the course material. They will also use some commercially available software packages.

- Lectures:
- 3 periods per week (one term)
- Credit(s):
- 1

### CS599 Cryptology

Topics covered include: classical cryptosystems; modern block and stream ciphers; Shannon's information theory; public key ciphers, primality testing, factoring algorithms; digital signatures; unkeyed hash functions and message authentication codes; key distribution and agreement; identification and authentication; pseudo-random number generation. Each student will investigate an advanced topic using current research literature.

- Lectures:
- 3 periods per week (one term)
- Credit(s):
- 1

### PR500 Project

This code is used to capture students registered in a project.

### TH500 Thesis; Master's Level

This code is used to capture students registered in a master's-level thesis.

### TH600 Thesis; Doctoral Level

This code is used to capture students registered in a doctoral-level thesis.

### CP600 Comprehensive Examination; Doctoral Level

This code is used to capture students registered in a comprehensive exam.