Computer Science (Non-Thesis) (M.Sc.) (45 credits)
Offered by: Computer Science (Faculty of Science)
Degree: Master of Science
Program credit weight: 45
Program Description
The M.Sc. in Computer Science; Non-Thesis offers an in depth study of advanced topics in computer science, mainly through course-based work. The program includes the possibility to complete a short research project or to conduct an internship for practical experience.
Note: For information about Fall 2025 and Winter 2026 course offerings, please check back on May 8, 2025. Until then, the "Terms offered" field will appear blank for most courses while the class schedule is being finalized.
Required Courses (2 credits)
Course | Title | Credits |
---|---|---|
COMP 602 | Computer Science Seminar 1. | 1 |
Computer Science Seminar 1. Terms offered: this course is not currently offered. Exposure to ongoing research directions in computer science through regular attendance of the research colloquium organized by the School of Computer Science. | ||
COMP 603 | Computer Science Seminar 2. | 1 |
Computer Science Seminar 2. Terms offered: this course is not currently offered. Exposure to ongoing research directions in computer science through regular attendance of the research colloquium organized by the School of Computer Science. |
Complementary Courses (43 credits)
Choose either: project courses and course work; or internship and course work; or all course work.
Research Project
0-15 credits from:
Course | Title | Credits |
---|---|---|
COMP 693 | Research Project 1. | 3 |
Research Project 1. Terms offered: this course is not currently offered. Ongoing research pertaining to project. | ||
COMP 694 | Research Project 2. | 6 |
Research Project 2. Terms offered: this course is not currently offered. Ongoing research pertaining to project. | ||
COMP 695 | Research Project 3. | 6 |
Research Project 3. Terms offered: this course is not currently offered. Ongoing research pertaining to project. |
Internship
0-15 credits from:
Course | Title | Credits |
---|---|---|
COMP 689 | Internship in Computer Science. | 15 |
Internship in Computer Science. Terms offered: this course is not currently offered. Four month internship in a company or organization, to give experience with industrial practices in computer science, data science or software engineering. |
Course Work
28-43 credits of lecture- or seminar-based COMP courses at the 500 level or higher.
The following courses outside o the School of Computer Science may count towards the complementary courses, subject to approval by an academic adviser.
Course | Title | Credits |
---|---|---|
ECSE 507 | Optimization and Optimal Control. | 3 |
Optimization and Optimal Control. Terms offered: this course is not currently offered. General introduction to optimization methods including steepest descent, conjugate gradient, Newton algorithms. Generalized matrix inverses and the least squared error problem. Introduction to constrained optimality; convexity and duality; interior point methods. Introduction to dynamic optimization; existence theory, relaxed controls, the Pontryagin Maximum Principle. Sufficiency of the Maximum Principle. | ||
ECSE 508 | Multi-Agent Systems. | 3 |
Multi-Agent Systems. Terms offered: this course is not currently offered. Introduction to game theory, strategic games, extensive form games with perfect and imperfect information, repeated games and folk theorems, cooperative game theory, introduction to mechanism design, markets and market equilibrium, pricing and resource allocation, application in telecommunication networks, applications in communication networks, stochastic games. | ||
ECSE 516 | Nonlinear and Hybrid Control Systems. | 3 |
Nonlinear and Hybrid Control Systems. Terms offered: this course is not currently offered. Examples of hybrid control systems (HCS). Review of nonlinear system state, controllability, observability, stability. HCS specified via ODEs and automata. Continuous and discrete states and dynamics; controlled and autonomous discrete state switching. HCS stability via Lyapunov theory and LaSalle Invariance Principle. Hybrid Maximum Principle and Hybrid Dynamic Programming; computational algorithms. | ||
ECSE 518 | Telecommunication Network Analysis. | 3 |
Telecommunication Network Analysis. Terms offered: this course is not currently offered. Mathematical modeling and analysis techniques for the control and management of modern networks. Introduction to queuing networks; birth/death processes; routing optimization and fairness; multi-commodity network flow; traffic modeling; effective bandwidth and network calculus; performance modeling. | ||
ECSE 523 | Speech Communications. | 3 |
Speech Communications. Terms offered: this course is not currently offered. Articulatory and acoustic descriptions of speech production, speech production models, speech perception, digital processing of speech signals, vocodors using formant, linear predictive and cepstral techniques, overview of automatic speech recognition systems, speech synthesis systems and speaker verification systems. | ||
ECSE 526 | Artificial Intelligence. | 3 |
Artificial Intelligence. Terms offered: this course is not currently offered. Design principles of autonomous agents, agent architectures, machine learning, neural networks, genetic algorithms, and multi-agent collaboration. The course includes a term project that consists of designing and implementing software agents that collaborate and compete in a simulated environment. | ||
ECSE 539 | Advanced Software Language Engineering. | 4 |
Advanced Software Language Engineering. Terms offered: this course is not currently offered. Practical and theoretical knowledge for developing software languages and models; foundations for model-based software development; topics include principles of model-driven engineering; concern-driven development; intentional, structural, and behavioral models as well as configuration models; constraints; language engineering; domain-specific languages; metamodelling; model transformations; models of computation; model analyses; and modeling tools. | ||
ECSE 542 | Human Computer Interaction. | 4 |
Human Computer Interaction. Terms offered: this course is not currently offered. Design, development, and evaluation of human-computer interfaces, with emphasis on usability, interaction paradigms, computer-mediated human activities, and implications to society. These issues are studied from a number of perspectives including that of the engineer and end-user. A team-based project applies knowledge and skills to the full life cycle of an interactive human-computer interface. | ||
ECSE 546 | Advanced Image Synthesis. | 4 |
Advanced Image Synthesis. Terms offered: this course is not currently offered. Introduction to mathematical models of light transport and the numerical techniques used to generate realistic images in computer graphics. Offline (i.e., raytracing) and interactive (i.e., shader-based) techniques. Group project addressing important applied research problems. | ||
ECSE 551 | Machine Learning for Engineers. | 4 |
Machine Learning for Engineers. Terms offered: this course is not currently offered. Introduction to machine learning: challenges and fundamental concepts. Supervised learning: Regression and Classification. Unsupervised learning. Curse of dimensionality: dimension reduction and feature selection. Error estimation and empirical validation. Emphasis on good methods and practices for deployment of real systems. | ||
ECSE 552 | Deep Learning. | 4 |
Deep Learning. Terms offered: this course is not currently offered. Overview of mathematical background and basics of machine learning, deep feedforward networks, regularization for deep learning, optimization for training deep learning models, convolutional neural networks, recurrent and recursive neural networks, practical considerations,applications of deep learning, recent models and architectures in deep learning. | ||
ECSE 556 | Machine Learning in Network Biology. | 4 |
Machine Learning in Network Biology. Terms offered: this course is not currently offered. Basics of machine learning; basics of molecular biology; network-guided machine learning in systems biology; network-guided bioinformatics analysis; analysis of biological networks; network module identification; global and local network alignment; construction of biological networks. | ||
ECSE 570 | Automatic Speech Recognition. | 3 |
Automatic Speech Recognition. Terms offered: this course is not currently offered. Acoustic phonetics and signal representations. Pattern classification, stochastic modelling, language modelling and search algorithms as applied to speech recognition. Techniques for robustness, integration of speech recognition with other user interface modalities, and the role of automatic speech recognition in speech understanding. | ||
ECSE 626 | Statistical Computer Vision. | 4 |
Statistical Computer Vision. Terms offered: this course is not currently offered. An overview of statistical and machine learning techniques as applied to computer vision problems, including: stereo vision, motion estimation, object and face recognition, image registration and segmentation. Topics include regularization, probabilistic inference, information theory, Gaussian Mixture Models, Markov-Chain Monte Carlo methods, importance sampling, Markov random fields, principal and independent components analysis, probabilistic deep learning methods including variational models, Bayesian deep learning. | ||
MATH 523 | Generalized Linear Models. | 4 |
Generalized Linear Models. Terms offered: this course is not currently offered. Exponential families, link functions. Inference and parameter estimation for generalized linear models; model selection using analysis of deviance. Residuals. Contingency table analysis, logistic regression, multinomial regression, Poisson regression, log-linear models. Multinomial models. Overdispersion and Quasilikelihood. Applications to experimental and observational data. | ||
MATH 524 | Nonparametric Statistics. | 4 |
Nonparametric Statistics. Terms offered: this course is not currently offered. Distribution free procedures for 2-sample problem: Wilcoxon rank sum, Siegel-Tukey, Smirnov tests. Shift model: power and estimation. Single sample procedures: Sign, Wilcoxon signed rank tests. Nonparametric ANOVA: Kruskal-Wallis, Friedman tests. Association: Spearman's rank correlation, Kendall's tau. Goodness of fit: Pearson's chi-square, likelihood ratio, Kolmogorov-Smirnov tests. Statistical software packages used. | ||
MATH 533 | Regression and Analysis of Variance. | 4 |
Regression and Analysis of Variance. Terms offered: this course is not currently offered. Multivariate normal and chi-squared distributions; quadratic forms. Multiple linear regression estimators and their properties. General linear hypothesis tests. Prediction and confidence intervals. Asymptotic properties of least squares estimators. Weighted least squares. Variable selection and regularization. Selected advanced topics in regression. Applications to experimental and observational data. | ||
MATH 559 | Bayesian Theory and Methods. | 4 |
Bayesian Theory and Methods. Terms offered: this course is not currently offered. Subjective probability, Bayesian statistical inference and decision making, de Finetti’s representation. Bayesian parametric methods, optimal decisions, conjugate models, methods of prior specification and elicitation, approximation methods. Hierarchical models. Computational approaches to inference, Markov chain Monte Carlo methods, Metropolis—Hastings. Nonparametric Bayesian inference. | ||
MATH 563 | Honours Convex Optimization . | 4 |
Honours Convex Optimization . Terms offered: this course is not currently offered. Honours level introduction to convex analysis and convex optimization: Convex sets and functions, subdifferential calculus, conjugate functions, Fenchel duality, proximal calculus. Subgradient methods, proximal-based methods. Conditional gradient method, ADMM. Applications including data classification, network-flow problems, image processing, convex feasibility problems, DC optimization, sparse optimization, and compressed sensing. | ||
MATH 578 | Numerical Analysis 1. | 4 |
Numerical Analysis 1. Terms offered: this course is not currently offered. Development, analysis and effective use of numerical methods to solve problems arising in applications. Topics include direct and iterative methods for the solution of linear equations (including preconditioning), eigenvalue problems, interpolation, approximation, quadrature, solution of nonlinear systems. | ||
MATH 680 | Computation Intensive Statistics. | 4 |
Computation Intensive Statistics. Terms offered: this course is not currently offered. General introduction to computational methods in statistics; optimization methods; EM algorithm; random number generation and simulations; bootstrap, jackknife, cross-validation, resampling and permutation; Monte Carlo methods: Markov chain Monte Carlo and sequential Monte Carlo; computation in the R language. | ||
MECH 513 | Control Systems. | 3 |
Control Systems. Terms offered: this course is not currently offered. State-space modelling and related linear algebra. Controllability and observability of linear time-invariant systems and corresponding tests, system realizations. Stability: Bounded-Input-Bounded-Output (BIBO), internal, Lyapunov. Linear state feedback control: pole placement and root locus design methods, linear quadratic regulator. State observers: full- and reduced-order designs, separation principle, Linear Quadratic Gaussian (LQG) design. Introduction to optimal control and optimal state estimation. |