# X. Collaborative Specializations

## Artificial Intelligence

### Courses

#### Required Courses

UNIV*6080 Computational Thinking for Artificial Intelligence U [0.25] | |
---|---|

This course will provide students with an overview of the mathematical and computational foundation that is required to undertake artificial intelligence and machine learning research. Students will also gain an understanding of the historical context, breadth, and current state of the field. Students are expected to have already taken undergraduate courses in probability & statistics, calculus, linear algebra, and data structures & algorithms (STAT*2120, MATH*1210, ENGG*1500, and CIS*2520, or equivalents). | |

Offering(s): | Also offered through Distance Education format. |

Department(s): | Dean's Office, College of Engineering and Physical Sciences |

UNIV*6090 Artificial Intelligence Applications and Society U [0.50] | |
---|---|

This multidisciplinary, team-taught course provides an in-depth study of how artificial intelligence methodologies can be applied to solve real-world problems in different fields. Students will work in groups to propose solutions whilst considering social and ethical implications of artificial intelligence technologies. | |

Prerequisite(s): | UNIV*6080 |

Restriction(s): | Restricted to students in the collaborative specialization in Artificial Intelligence |

Department(s): | Dean's Office, College of Engineering and Physical Sciences |

#### Elective Core

CIS*6020 Artificial Intelligence U [0.50] | |
---|---|

An examination of Artificial Intelligence principles and techniques such as: logic and rule based systems; forward and backward chaining; frames, scripts, semantic nets and the object-oriented approach; the evaluation of intelligent systems and knowledge acquisition. A sizeable project is required and applications in other areas are encouraged. | |

Department(s): | School of Computer Science |

ENGG*6500 Introduction to Machine Learning U [0.50] | |
---|---|

The aim of this course is to provide students with an introduction to algorithms and techniques of machine learning particularly in engineering applications. The emphasis will be on the fundamentals and not specific approach or software tool. Class discussions will cover and compare all current major approaches and their applicability to various engineering problems, while assignments and project will provide hands-on experience with some of the tools. | |

Department(s): | School of Engineering |

STAT*6801 Statistical Learning U [0.50] | |
---|---|

Topics include: nonparametric and semiparametric regression; kernel methods; regression splines; local polynomial models; generalized additive models; classification and regression trees; neural networks. This course deals with both the methodology and its application with appropriate software. Areas of application include biology, economics, engineering and medicine. | |

Department(s): | Department of Mathematics and Statistics |

#### Complementary AI-related

BINF*6970 Statistical Bioinformatics W [0.50] | |
---|---|

This course presents a selection of advanced approaches for the statistical analysis of data that arise in bioinformatics, especially genomic data. A central theme to this course is the modelling of complex, often high-dimensional, data structures. | |

Prerequisite(s): | Introductory courses in statistics, mathematics and programming |

Restriction(s): | Restricted to students in Bioinformatics programs. Students in other programs may consult with course instructor. |

Department(s): | Dean's Office, College of Biological Science |

CIS*6050 Neural Networks U [0.50] | |
---|---|

Artificial neural networks, dynamical recurrent networks, dynamic input/output sequences, communications signal identification, syntactic pattern recognition. | |

Department(s): | School of Computer Science |

CIS*6060 Bioinformatics U [0.50] | |
---|---|

Data mining and bioinformatics, molecular biology databases, taxonomic groupings, sequences, feature extraction, Bayesian inference, cluster analysis, information theory, machine learning, feature selection. | |

Department(s): | School of Computer Science |

CIS*6070 Discrete Optimization U [0.50] | |
---|---|

This course will discuss problems where optimization is required and describes the most common techniques for discrete optimization such as the use of linear programming, constraint satisfaction methods, and genetic algorithms. | |

Department(s): | School of Computer Science |

CIS*6080 Genetic Algorithms U [0.50] | |
---|---|

This course introduces the student to basic genetic algorithms, which are based on the process of natural evolution. It is explored in terms of its mathematical foundation and applications to optimization in various domains. | |

Department(s): | School of Computer Science |

CIS*6100 Parallel Processing Architectures U [0.50] | |
---|---|

Parallelism in uniprocessor systems, parallel architectures, memory structures, pipelined architectures, performance issues, multiprocessor architectures. | |

Department(s): | School of Computer Science |

CIS*6120 Uncertainty Reasoning in Knowledge Representation U [0.50] | |
---|---|

Representation of uncertainty, Dempster-Schafer theory, fuzzy logic, Bayesian belief networks, decision networks, dynamic networks, probabilistic models, utility theory. | |

Department(s): | School of Computer Science |

CIS*6140 Software Engineering U [0.50] | |
---|---|

This course will discuss problems where optimization is required and describes the most common techniques for discrete optimization such as the use of linear programming, constraint satisfaction methods, and meta-heuristics. | |

Department(s): | School of Computer Science |

CIS*6160 Multiagent Systems U [0.50] | |
---|---|

Intelligent systems consisting of multiple autonomous and interacting subsystems with emphasis on distributed reasoning and decision making. Deductive reasoning agents, practical reasoning agents, probabilistic reasoning agents, reactive and hybrid agents, negotiation and agreement, cooperation and coordination, multiagent search, distributed MDP, game theory, and modal logics. | |

Department(s): | School of Computer Science |

CIS*6320 Image Processing Algorithms and Applications U [0.50] | |
---|---|

Brightness transformation, image smoothing, image enhancement, thresholding, segmentation, morphology, texture analysis, shape analysis, applications in medicine and biology. | |

Department(s): | School of Computer Science |

CIS*6420 Soft Computing U [0.50] | |
---|---|

Neural networks, artificial intelligence, connectionist model, back propagation, resonance theory, sequence processing, software engineering concepts. | |

Department(s): | School of Computer Science |

ENGG*6100 Machine Vision U [0.50] | |
---|---|

Computer vision studies how computers can analyze and perceive the world using input from imaging devices. Topics covered include image pre-processing, segmentation, shape analysis, object recognition, image understanding, 3D vision, motion and stereo analysis, as well as case studies. | |

Department(s): | School of Engineering |

ENGG*6140 Optimization Techniques for Engineering U [0.50] | |
---|---|

This course serves as a graduate introduction into combinatorics and optimization. Optimization is the main pillar of Engineering and the performance of most systems can be improved through intelligent use of optimization algorithms. Topics to be covered: Complexity theory, Linear/Integer Programming techniques, Constrained/Unconstrained optimization and Nonlinear programming, Heuristic Search Techniques such as Tabu Search, Genetic Algorithms, Simulated Annealing and GRASP. | |

Department(s): | School of Engineering |

ENGG*6570 Advanced Soft Computing U [0.50] | |
---|---|

Neural dynamics and computation from a single neuron to a neural network architecture. Advanced neural networks and applications. Soft computing approaches to uncertainty representation, multi-agents and optimization. | |

Prerequisite(s): | ENGG*4430 or equivalent |

Department(s): | School of Engineering |

MATH*6020 Scientific Computing U [0.50] | |
---|---|

This course covers the fundamentals of algoithms and computer programming. This may include computer arithmetic, complexity, error analysis, linear and nonlinear equations, least squares, interpolation, numerical differentiation and integration, optimization, random number generators, Monte Carlo simulation; case studies will be undertaken using modern software. | |

Department(s): | Department of Mathematics and Statistics |

MATH*6021 Optimization I U [0.50] | |
---|---|

A study of the basic concepts in: linear programming, convex programming, non-convex programming, geometric programming and related numerical methods. | |

Department(s): | Department of Mathematics and Statistics |

MATH*6051 Mathematical Modelling U [0.50] | |
---|---|

The process of phenomena and systems model development, techniques of model analysis, model verification, and interpretation of results are presented. The examples of continuous or discrete, deterministic or probabilistic models may include differential equations, difference equations, cellular automata, agent based models, network models, stochastic processes. | |

Department(s): | Department of Mathematics and Statistics |

PHIL*6760 Science and Ethics U [0.50] | |
---|---|

A consideration of the problems which arise in the conjunction of science and ethics. | |

Department(s): | Department of Philosophy |

STAT*6841 Computational Statistical Inference U [0.50] | |
---|---|

This course covers Bayesian and likelihood methods, large sample theory, nuisance parameters, profile, conditional and marginal likelihoods, EM algorithms and other optimization methods, estimating functions, Monte Carlo methods for exploring posterior distributions and likelihoods, data augmentation, importance sampling and MCMC methods. | |

Department(s): | Department of Mathematics and Statistics |

#### Undergraduate Complementary AI-related Courses

ENGG*4460 | [0.50] | Robotic Systems |

STAT*4000 | [0.50] | Statistical Computing |