Midterm Report
Evaluation and Policy
SYDE 522 Machine Intelligence

Intelligent machines can function and interact autonomously within unstructured, dynamic and sometimes partially observable environments. These machines employ intelligent techniques to mimic human intelligence in decision making, problem solving, learning from the environment and adapting to its changes. The course provides a comprehensive introduction to the key machine intelligence concepts and techniques involved in the development of intelligent machines. These techniques can be used to endow the machines with low-level and high-level cognitive faculties such as ability to handle data imperfection aspects such as uncertainty and vagueness, ability to solve problems via metaheuristics, ability to take a decision under uncertainty and ability to learn from examples and from observation. Team-based projects are integrated as an essential part of the course. These projects help students to get hands-on experience in applying different techniques studied in this course in the development of intelligent algorithms/systems. Topics to be covered include: Bayesian framework, fuzzy logic, trajectory-based and population-based metaheuristics, decision trees, neural networks and reinforcement learning.

Course Objectives:
  • To understand the basic concepts behind machine intelligence
  • To learn how to handle uncertainty and vagueness as two main data imperfection aspects
  • To learn different meta-heuristics for problem solving
  • To learn decision making under uncertainty
  • To understand different machine learning techniques and how to verify the learning capabilities of a given technique via proper theoretical and experimental tools
  • To learn how to choose the right intelligent technique for a given problem and how to overcome the limitations of individual techniques through hybridization or the fusion of various techniques
Course Topics:
  • Introduction to machine intelligence
  • Handling uncertainty using Bayesian framework
  • Dealing with vagueness using fuzzy logic
  • Problem solving via trajectory-based and population-based metaheuristics
  • Making decisions under uncertainty using decision trees
  • Decision tree learning
  • Learning from examples using neural networks
  • Learning from observation using reinforcement learning
  • Hybrid intelligent systems

Prerequisite: One of SYDE 223, MTE 140, ECE 250, CS 240 and Systems Design Engineering or level at least 4A Mechatronics Engineering or Mechatronics Option or Computer Engineering Option.

Antirequisites: ECE 457A

Course Instructor: Alaa Khamis
Email: akhamis[at]pami[dot]uwaterloo[dot]ca
Office hours: Fridays 16:00-17:20PM

Course TA: Eric Hunsberger
Email: ehunsberger[at]uwaterloo[dot]ca
Office: TBD
Office hours: TBD

Lecture date and venue:Tuesdays and Thursdays 18-19:20 in E5 6006
Tutorial date and venue: Fridays 11:30-12:20 in E5 6002.

No particular textbook will be used. A list of several reference books will be provided.