Software Engineering – Faculty of Engineering

Software Engineering

Gain a solid foundation in software development to support engineering applications and control physical devices, paving the way for innovation in digital control systems.

Length
4 years
Degree
Bachelor of Engineering (Co-op Available)
Program
Engineering
Options

Co-op, Management, Society

Overview

Software engineering teaches students how to design and build large-scale software systems. Through hands-on labs, projects, and collaborative work, you will learn an engineering approach to solving complex problems, including problem understanding, planning, risk assessment, design, evaluation, and maintenance. The program prepares graduates for careers in software development, systems engineering, and other technology-drive roles across a wide range of industries.

Why study this program?

  1. Software Engineering at McMaster combines end-to-end, industry-informed project work with advanced training in software correctness, cybersecurity, system safety, and accessible design 
  2. Access specialized facilities including an elliptical computer-based tutorial lab, a dedicated $2M GPU cluster for machine learning, and a highly accessible drop-in support centre for academic assistance. 
  3. Opportunities to work with faculty on research in autonomous systems, robotics and other areas through summer research assistantships and applied projects.
A student wearing headphones holds a laptop and gestures to another computer screen.

What you'll learn

Study core areas of software engineering including software design, development, testing, maintenance, and large-scale system construction. The program also covers advanced topics such as software correctness, cybersecurity, system safety, and human-centered and accessible software design. 

All students in McMaster’s undergraduate engineering programs participate in a common first year — Engineering 1. Build a solid base in the fundamentals of engineering disciplines and get exposed to engineering design work right at the start of your degree.

SFWRENG 2C03 – Data Structures & Algorithms  

Explore fundamental data structures and algorithmic problem-solving techniques used to design efficient and scalable software.

SFWRENG 3S03 – Software Testing  

Focus on techniques for verifying and validating software, including testing strategies used to ensure reliability in complex systems.

SFWRENG 3SH3 – Operating Systems  

Learn how operating systems manage hardware and software resources, including processes, memory and concurrency in modern computing systems.

SFWRENG 4AL3 – Applications of Machine Learning  

Learn practical machine learning methods and how they are applied to real systems.

SFWRENG 4C03 – Computer Networks and Security  

Explore how modern networks operate and how software systems are protected, including core principles of cybersecurity and secure communication.

Get practical experience and grow your portfolio with interdisciplinary design courses. All students in a Bachelor of Engineering take four project-based design courses:

1. ENGINEER 1P13: Integrated Cornerstone Design Projects in Engineering

2. ENGINEER 2PX3: Engineering Design 2: Communications and Societal Impact

3. ENGINEER 3PX3: Engineering Design 2: Engineering Economics

4. Capstone project (year-long design project)

Potential career paths

Graduates will be career-ready for high demand areas such as software development, systems design, cybersecurity, data-driven applications, and large-scale software engineering in industry and technology-driven organizations. 

  • Cloud Developer 
  • Data Analyst  
  • Data & Application Services Developer  
  • Full Stack Developer 
  • Software Developer  
  • Technical Systems Analyst  

Explore Software Engineering in grad school

You’ll already be connected to world-renowned researchers leading innovation in your undergrad: continue pursuing research and innovation in a master’s program. 

  • State-of-the-art labs

    The Faculty of Engineering houses innovative design studios, labs and spaces that allow students to develop hands-on learning from day one.

  • Clubs and teams

    McMaster has many clubs, teams and societies you can join to practice your engineering skills, get more hands-on experiences and explore new activities.

    Learn more about Mac Eng Experiences

More helpful links