Skip to main content
COVID-19 information and screening. Learn how we’re keeping our campus community safe, healthy and engaged during our gradual return to campus.
Note: The university’s mandatory vaccine directive is now in effect. Learn more about vaccine requirements.
COVID-19 information and screening.

Learn how we’re keeping our campus community safe, healthy and engaged during our gradual return to campus.
Note: The university’s mandatory vaccine directive is now in effect. Learn more about vaccine requirements.

Ontario Tech acknowledges the lands and people of the Mississaugas of Scugog Island First Nation.

We are thankful to be welcome on these lands in friendship. The lands we are situated on are covered by the Williams Treaties and are the traditional territory of the Mississaugas, a branch of the greater Anishinaabeg Nation, including Algonquin, Ojibway, Odawa and Pottawatomi. These lands remain home to many Indigenous nations and peoples.

We acknowledge this land out of respect for the Indigenous nations who have cared for Turtle Island, also called North America, from before the arrival of settler peoples until this day. Most importantly, we acknowledge that the history of these lands has been tainted by poor treatment and a lack of friendship with the First Nations who call them home.

This history is something we are all affected by because we are all treaty people in Canada. We all have a shared history to reflect on, and each of us is affected by this history in different ways. Our past defines our present, but if we move forward as friends and allies, then it does not have to define our future.

Learn more about Indigenous Education and Cultural Services

Software Engineering

With growing market demand, software engineering is one of Canada's newest engineering disciplines; however, there are few software engineering programs in Canada. At Ontario Tech University, our Software Engineering program focuses on the design of computer software and is exposed to software design for embedded systems, enterprise and mobile systems,  distributed systems, real-time control systems, multi-media, and man-machine interfaces. Courses including software design, user interface, advanced networks, and design and analysis of algorithms prepare graduates for successful careers in the software engineering field.

You may also choose to specialize in the Internet of Things (IoT), which offers courses such as; the design and analysis of IoT software systems, connecting IoT devices and services to the cloud, and mobile programming. 

Consider Software Engineering if you find yourself asking questions such as:

  • What is cloud computing, and how can we ensure individual privacy and security?
  • How can I design and build a program for my mobile phone?
  • What impact will artificial intelligence have on the development of software and engineering design?
  • How will mobile phones communicate with vehicles of the future?
  • How can we build an intelligent traffic system?

 

Develop robust software systems for a continually advancing sector

 

Option to specialize in our Internet of Things program in 4th year

 

Hands-on experiments using industry-standard and open-source software technologies

After graduating you can...

  • Design and develop reliable and secure software systems for a variety of platforms and devices.
  • Design intelligent software algorithms.
  • Design and develop software systems for the enterprise, mobile, and embedded market.
  • Design distributed systems and cloud-based applications.
  • Manage software projects, computer networks, and cloud-based applications.
  • Design animation, visualization and entertainment software.

...and many more!

Key Courses

  • Object Oriented Programming and Design
    Introduction to the fundamentals of software design through object-oriented programming, abstraction principles, information hiding and encapsulation. Introduction to design tools like pseudo-coding and basic Unified Modelling Language (UML) diagrams. Introduction to simple data structures, including linked lists, stacks, and queues, and their applications to Engineering problems. The content outline by topic is as follows: principles of object oriented programming; debugging and analysis; maintain and document programs using techniques of good programming style; basic and advanced, aspects of abstraction, recursion, parameter passing, file I/O and classes; object libraries and packages; object-oriented analysis and design using UML object interaction, messaging, association, and composition diagrams; abstract data types and basic data structures like lists, stacks, and queues.
  • Introduction to Artificial Intelligence
    This course introduces students to basic concepts and methods of artificial intelligence from a software engineering perspective. Emphasis of the course will be on the selection of data representations and algorithms useful in the design and implementation of intelligent systems. Knowledge representation methods, state space search strategies, and use of logic for problem solving. Applications chosen from among expert systems, planning, natural language understanding, uncertainty reasoning, machine learning, and robotics. The course will contain an overview of one AI language and discussion of important applications of artificial intelligence methodology.
  • Cloud Computing
    The objective of this course is to expose students to the state of the art in cloud computing. Students will learn about issues relevant to the design, implementation and operation of cloud computing infrastructures, platforms, and services for the Internet of Things (IoT). Topics include web services, description languages, communication protocols, data centres, virtualization, storage, big data, and cloud programming models, services and resource management, and security, privacy and trust issues. In addition, students will learn about systems research through a research and development project.  
  • Computer Graphics Design
    The basic concepts, tools and techniques of computer graphics are described, and the fundamental transformations of scaling, translation, rotation, windowing, hidden line removal, image processing and clipping are presented. Mathematical tools needed for the geometrical aspects of computer graphics are discussed. Particular emphasis will be placed on new developments in microcomputer graphics. Students will be expected to develop a graphics application in C++ and/or JAVA in conjunction with available graphics libraries.

Undergraduate Labs

Undergraduate Labs

Undergraduate Labs

Explore our Undergraduate Labs