Smart Systems Stream

Why study Smart Systems?

Computing devices are everywhere. As they are being embedded in more and more everyday products and services, there is an increasing demand for such computing to understand and adapt to both user needs and requests, as well as dynamic real-world environments in a more human-like and human-comprehensible fashion. Handling the complexity and uncertainty that characterizes both human beings and dynamic real-world environments in a manner that is efficient, robust, and intelligent requires special techniques. Many of those techniques are both inspired by, and operate well within, limits imposed by nature.

The aim of the Smart Systems stream is to give an overview of the growing body of algorithmic and mathematical techniques that have proven practical in allowing computer systems to deal intelligently with the complexities and uncertainties of both human beings and the real world in an efficient and robust manner.

Smart Systems Courses
Core (all required)
COMP 3200: Algorithmic Techniques for Artificial Intelligence
COMP 3201: Introduction to Nature-Inspired Computing
COMP 3202: Introduction to Machine Learning

Plus one of:

COMP 3301: Visual Computing and Applications
COMP 3401: Introduction to Data Mining
COMP 3550: Introduction to Bioinformatics
Electives (two required)
COMP 4301: Computer Vision
COMP 4303: Artificial Intelligence in Computer Games
COMP 4750: Introduction to Natural Language Processing
COMP 4766: Introduction to Autonomous Robotics

Admission to the Major programs in the Department of Computer Science is highly competitive and selective.  There is a set of courses that you must complete here at Memorial before you can apply.  Full details about how and when to apply can be found here, and please see our FAQ page for more information and advice.

Please note that the Smart Systems Stream is only available to students taking a Bachelor of Science (BSc) degree
Required Courses to Complete the Major (Smart Systems)

As a component of the Degree Regulations for the General Degree of Bachelor of Science, for the CS Major (Smart Systems) you must complete the following courses:

  1. Forty-five credit hours in computer science:
    1. Computer Science 1001, 1002, 1003, 2001, 2002, 2003, 2004, 2005, 2006, 2007 and 2008.
    2. Computer Science 3200, 3201, 3202 and one of 33013401 or 3550; and
    3. Six additional credit hours in Computer Science courses selected from Computer Science 4301, 4303, 4750, 4766.  Some of these courses require the completion of prerequisites that are not themselves part of the major.
  2. Mathematics 1000, 1001, 2000, 2050, and Statistics 2500 or 2550.
Suggested Courses (all Majors programs)

In addition to the set of required courses, students are encouraged to take Mathematics 3000 and Statistics 2560.


Since the program specifies approximately half of the courses required for your degree, a great deal of your program will be made up of elective courses, both in computer science and other disciplines. These electives can be chosen from many areas, subject to the general regulations for the Faculty of Science or the Faculty of Humanities and Social Sciences.

Choose your electives wisely

The quality and usefulness of your degree to both yourself and prospective employers depend, to some extent, on the elective courses that you choose. A general recommendation is to try to have a concentration of courses in one or two other areas: for example, an area in which you have a professional interest (an area in which you wish to work in the future) or an area in which you have a personal interest. In order to accomplish this, we recommend that you choose some area as a minor, and work to fulfil the requirements for a minor in that area as specified in the university Calendar.

And Finally...

Remember to keep track of your progress!

Page last updated March 7th 2022