Engineer: “What is 2 + 2?”
Computer: “I don’t know”
Engineer: “2 + 2 = 4”
Computer: “Okay, 2 + 2 = 4”
Enginer: “What is 3 + 3?”
Computer: “3 + 3 = 4”
What is Machine Intelligence Engineering (MI)?
Machine Intelligence is the study, development, and application of computer algorithms that can identify patterns in data and use these insights to make decisions when confronted with new situations. MI can be found everywhere in the world, and is enabling advancements in smart infrastructure, industrial automation, transportation, finance, medicine, marketing, entertainment, and many more fields at an extremely fast rate. The EngSci MI major covers the math, hardware, computer science, and software engineering involved in artificial intelligence (AI), machine learning, and big data analytics.
EngSci MI balances theoretical and applied courses, covering computing (software engineering), information and intelligence (signals, search, optimization), and algorithms and data analytics (learning, statistical reasoning, decision. Students will learn through “first principles,” which establish a strong understanding of the mathematics and modelling behind AI, while also getting solid experience with practical applications of MI.
U of T has always been a pioneering institution in the realm of artificial intelligence; in fact, deep learning (a subspace of artificial intelligence) is said to have originated here at U of T! EngSci MI was launched in 2017 as Canada’s first undergraduate program in this field. Courses are taught by faculty members from the Departments of Electrical & Computer Engineering, Industrial Mechanical & Engineering, Computer Science, and the Robotics Group from the University of Toronto Institute for Aerospace Studies. Furthermore, the Vector Institute, an AI research institution established in 2017 with connections to U of T , provides students with unparalleled opportunities for internships and research positions in MI.
Why Choose MI?
Why Choose This Major?
You’re interested in:
- the theory or application of computer science and AI!
- a valuable skillset that can be used in any field. In addition to the enormous tech companies which rely on AI for their products and services, AI can benefit almost every company.
- entrepreneurship! There are many startups around the world that use machine learning to develop unique products and services. New companies are using machine learning for trading stocks, camera systems for object detection for autonomous vehicles, software for medical diagnosis, sound and music processing, and and more!
From learning the inner mathematics of machine learning algorithms, to integrating your knowledge through software engineering, EngSci MI will perfectly prepare you for computer science-related jobs and research, especially those in artificial intelligence.
Where Can This Major Take You?
Recent EngSci MI graduates have pursued graduate studies at top universities such as:
- Carnegie Mellon University
- ETH Zurich
- MIT
- UC Berkeley
- University of Michigan
- University of Toronto
Sample employers for recent MI graduates include:
- Accenture
- AMD
- Intel
- Qualcomm
Courses in Year 1 and Year 2 That Relate to Machine Intelligence Engineering
Year 1
ESC103 will introduce linear algebra topics, such as matrices and vectors, before moving on to computation. Computation is the process of using a computer to calculate or approximate an answer, and in ESC103, you’ll learn how to use the MATLAB programming language to automate mathematical calculations. MAT185 will greatly extend your linear algebra knowledge through topics such as eigenproblems. Many topics in computer science and machine learning algorithms are heavily dependent on linear algebra, and computation will be essential when producing and visualizing the results of a machine learning model.
ESC180 will be your first programming course in university! You will learn the Python programming language, which is widely used in scientific computing and machine learning. This course will provide you with a foundation for all your future computer science endeavors.
ESC190 will be your second programming course in university! You will learn the C programming language, which is much more low-level and high-performance (many machine learning libraries and frameworks for Python are programmed in C). Most importantly, you will learn about algorithm development: algorithms are sets of rules that act upon data, such as sorting, building a set with certain properties, or finding a minimum path. Machine learning is built upon algorithms, so ESC190 is indispensable to this major. The course also covers data structures, which are objects that store and organize information on a computer in a useful way; with how data-heavy machine learning is, data structures are important to the field. The course will briefly cover computer hardware; having knowledge of hardware allows programmers to use computers to their full capabilities and make more efficient and useful programs.
ESC101 and ESC102 will require you and your team to identify, frame, and develop solutions for an engineering design opportunity. The course will expose you to working with engineering requirements and various frameworks for representing product functionality, which are important aspects of software engineering theory. Furthermore, groups in the past have been able to incorporate computer programs and even machine learning into their Praxis projects.
Year 2
ECE253 teaches you about how computers operate on a low-level scale. Again, understanding hardware allows MI engineers to take full advantage of their computers when creating fast and powerful software.
ECE286 will teach you all about analyzing data through various mathematical methods. Probability and statistics will be very important when interpreting the results and optimizing the accuracy of your machine learning models.
ESC203 teaches you about the societal and ethical implications of engineering. The ethics and safety surrounding AI is of significant discussion today and will likely shape the future of the field. This course will help you formulate nuanced and informed arguments to articulate your opinions while considering situations from modern and historic perspectives, so that you can contribute to this important debate.
Interesting Courses in This Major
ECE421: Introduction to Machine Learning
This course introduces the theory, algorithms, and computational toolboxes of machine learning, balancing the practical and theoretical approaches, along with experience with relevant software packages. Supervised and unsupervised learning models will be covered.
CSC401: Natural Language Computing
This course covers the algorithms and software behind information retrieval, speech recognition and synthesis, machine translation, summarization, and dialogue.
ECE444: Software Engineering
This course covers the collaborative software development process in open-source software and web applications, including requirements, development, testing, quality assurance, and maintenance. In this course, you will build some really cool software projects!
ROB501: Computer Vision for Robotics
This course covers the geometry of image formation, image processing, cameras, image feature detection, stereo vision, 3D processing, and more. You will discuss the use of machine learning for applications such as segmentation, object detection, and tracking, and will examine several successful robotic vision systems.
Where To Get Some Experience Before Deciding?
U of T Machine Intelligence Student Team (UTMIST)
UTMIST is a team consisting of over 60 undergraduate and graduate students dedicated to clearing “the MIST around machine intelligence for the eager young minds.” Their Academics Department hosts lecture series dedicated to machine learning topics such as introductory workshops with PyTorch and Large Language Model seminars. Their Engineering Department consists of several subteams led by student directors, who submit proposals to recruit their own development team to pursue machine learning research projects in a six-month development cycle (these projects may be selected towards product deployment or academic publications). Overall, if you want to immerse yourself in machine learning and gain academic and professional experience, check UTMIST’s website and get involved!
aUToronto Autodrive
aUToronto is a student design team dedicated to building a self-driving car. From 2016 to 2021, the team competed and emerged victorious in the GM/SAE AutoDrive Challenge Round I, taking four consecutive wins. Currently, they are working towards a Level 4 autonomous vehicle capable of complete navigation in urban driving environments to compete in Round II. Whether you’re interested in perception and artificial intelligence, or control, electronics, or autonomous vehicles in general, apply to aUToronto.
U of T Robotics Association (UTRA)
Founded in 2004, UTRA has built robots for all kinds of purposes. Their teams include Sumo, RoboSoccer, Combat, Pacbots, Robonars workshops, and even an annual hackathon called UTRAHacks. However, their Autonomous Rover Team is their most popular team and would likely be of greatest interest to prospective MI students. UTRA builds a fully autonomous rover to compete in the annual International Intelligent Ground Vehicle Competition. Check out their website to learn more about their teams and how to get involved.
Check out the EngSci majors website here for more info: