Bachelor of Engineering (B.Eng. Co-op Optional)
Software Engineering
Software engineers (SEs) are engineers who specialise in designing, building, testing, and maintaining the software in computer systems.
Overview
Computing is used to solve problems, manage information, create smart technologies, explore the world, and connect to other people. Software engineers master the fundamentals of engineering like their colleagues, but specialize in the design and development of computer systems and software.
"Multiple people have complimented me for not being a 'typical engineer' and I think McMaster Engineering's Software & Society program is partially to thank for that. Being considerate and mindful while practicing engineering is important, especially as we continue to be a more connected world." - Graeme Crawley, Software Engineering and Society
What makes this program unique?
Our students are trained as engineers with a core specialization in the development of software. McMaster’s Software Engineering program is unique in that it provides students with a solid grounding in software development for supporting engineering applications and for controlling physical devices.
Software Engineers are ultimately responsible for the usability, safety, and reliability of their products. For example, the SE must make sure that the system and its documentation are consistent, that the hardware configuration is appropriate to the task, that programs will behave as required, and that the system will meet all real-time deadlines and other performance requirements. Because they must understand what is going on outside the computer, not just the software, the McMaster programme includes much more than software design
McMaster Software Engineering programme prepares students for a career in a rapidly changing field by emphasising fundamental design principles, material that will still be useful and valid three decades from today. Students learn to apply basic mathematics and science (including relevant Computer Science), as well as undertake disciplined testing and simulation to ensure that any system they design will perform its tasks adequately when delivered to a customer for use. Although the students will use current systems in their laboratory work, the lectures stress ideas and techniques of lasting value.
Important information:
Degree Type
Undergraduate Degree
LENGTH
4 years
ACADEMIC Requirements
Completion of Engineering 1
DEGREE REQUIREMENTS
Co-op and Experiential Learning
Experiential learning provides students with hands-on opportunities beyond the traditional lecture-style format to gain valuable experience.
Engineering Co-op Program
The Engineering Co-op Program is an optional program which provides you with the opportunity to work in real engineering positions before you graduate. The Undergraduate Co-op Program is administered by the Engineering Co-op and Career Services Department (ECCS).
Example Employers:
- Bell Canada
- IBM Canada
- RBC Royal Bank
- CIBC Canadian Imperial Bank of Canada
- Thales Canada
- Intelex
- Ericsson
- Evertz Microsystems
- NCR Corporation
- Sun Life Financial
Learn more about the co-op program
Extracurricular Activities
McMaster Engineering has many engineering clubs, teams and societies you can join to enhance your practical knowledge and soft skills, provide support, or give you the chance to explore new activities. Clubs are an enjoyable way to enrich your student life and contribute to your social development and academic success.
- Software Engineering Club
- PhaseOne (formerly HackItMAC)
- McMaster SumoBot Club
- MacACM
- McMaster Solar Car Project
Careers and Research
Career Paths
Most graduates start out being developers, but a wide variety of software-intensive industries, from large companies to start-ups. McMaster, through The Forge, provides a lot of help to entrepreneurial students with bright new ideas.
- Biomedical field
- Computer system development
- Power, chemical, or automotive industry
Research Areas
McMaster Engineering has a world renowned research group in software engineering pursuing research in a wide range of areas including:
- Software certification
- Wireless systems
- Optimization
- Software development
- Biomedical engineering
- Power systems
Undergraduate Degree
(Co-op Optional)
Mechatronics
Mechatronics Engineering is a modern discipline that transcends the boundaries between Embedded Systems, Mechanical, Electrical, and Computer Engineering.
Length | Academic Requirements |
---|---|
4 years | Completion of Engineering 1 |
Code | Title | Instructor | Outline | Info |
---|---|---|---|---|
COMPSCI 4DC3Undergraduate / Technical Elective | Distributed Computing List E: Software Engineering Technical Electives | More Info. | ||
ENGINEER 1D04Undergraduate | Engineering Computation | More Info. | ||
MECHTRON 4AX3Undergraduate / Technical Elective | Predictive and Intelligent Control List A : Mechatronics, List E: Software Engineering Technical Electives | More Info. | ||
SFWRENG 2AA4Undergraduate | Software Design I - Introduction to Software Development | More Info. | ||
SFWRENG 2C03Undergraduate | Data Structures And Algorithms | More Info. | ||
SFWRENG 2DA4Undergraduate | Digital Systems and Interfacing | More Info. | ||
SFWRENG 2DM3Undergraduate | Discrete Mathematics with Applications I | More Info. | ||
SFWRENG 2FA3Undergraduate | Discrete Mathematics with Applications II | More Info. | ||
SFWRENG 2GA3Undergraduate | Computer Architecture | More Info. | ||
SFWRENG 2OP3Undergraduate | Object-Oriented Programming | More Info. | ||
SFWRENG 3A04Undergraduate | Software Design II - Large System Design | More Info. | ||
SFWRENG 3BB4Undergraduate | Software Design III - Concurrent System Design | More Info. | ||
SFWRENG 3DB3Undergraduate / Technical Elective | Databases List A : Mechatronics | More Info. | ||
SFWRENG 3DX4Undergraduate | Dynamic Models and Control of Physical Systems | More Info. | ||
SFWRENG 3FP3Undergraduate / Technical Elective | Functional Programming List D : Software Engineering and Society Technical Electives, List E: Software Engineering Technical Electives | More Info. | ||
SFWRENG 3GB3Undergraduate / Technical Elective | Game Design List E: Software Engineering Technical Electives, List G: Computer Science | More Info. | ||
SFWRENG 3GC3Undergraduate / Technical Elective | Computer Graphics List D : Software Engineering and Society Technical Electives, List E: Software Engineering Technical Electives | More Info. | ||
SFWRENG 3I03Undergraduate | Communication Skills | More Info. | ||
SFWRENG 3K04Undergraduate | Software Development | More Info. | ||
SFWRENG 3MD4Undergraduate / Technical Elective | Safe Software-Intensive Medical Devices List E: Software Engineering Technical Electives, IBEHS Technical Electives | More Info. | ||
SFWRENG 3MX3Undergraduate / Technical Elective | Signals and Systems List G: Computer Science | More Info. | ||
SFWRENG 3O03Undergraduate / Technical Elective | Linear Optimization List F: Additional Technical Electives for Software Engineering and Embedded Systems or Game Design, IBEHS Technical Electives | More Info. | ||
SFWRENG 3RA3Undergraduate / Technical Elective | Software Requirements And Security Considerations List A : Mechatronics | More Info. | ||
SFWRENG 3S03Undergraduate / Technical Elective | Software Testing List G: Computer Science | More Info. | ||
SFWRENG 3SH3Undergraduate / Technical Elective | Operating Systems List D : Software Engineering and Society Technical Electives, List E: Software Engineering Technical Electives | More Info. | ||
SFWRENG 3XA3Undergraduate | Software Engineering Practice and Experience: Software Project Management | More Info. | ||
SFWRENG 3XB3Undergraduate | Software Engineering Practice and Experience: Binding Theory to Practice | More Info. | ||
SFWRENG 4AA4Undergraduate | Real-Time Systems and Control Applications | More Info. | ||
SFWRENG 4AD3Undergraduate / Technical Elective | Advanced Databases List D : Software Engineering and Society Technical Electives, List E: Software Engineering Technical Electives | More Info. | ||
SFWRENG 4C03Undergraduate / Technical Elective | Computer Networks And Security List A : Mechatronics | More Info. | ||
SFWRENG 4E03Undergraduate / Technical Elective | Performance Analysis Of Computer Systems List A : Mechatronics, List F: Additional Technical Electives for Software Engineering and Embedded Systems or Game Design | More Info. | ||
SFWRENG 4F03Undergraduate / Technical Elective | Parallel Computing List A : Mechatronics, List D : Software Engineering and Society Technical Electives, List E: Software Engineering Technical Electives | More Info. | ||
SFWRENG 4G06A/BUndergraduate | Software Engineering Capstone Design Project | More Info. | ||
SFWRENG 4HC3Undergraduate | Human Computer Interfaces | More Info. | ||
SFWRENG 4J03Undergraduate / Technical Elective | Communications Systems List A : Mechatronics, List D : Software Engineering and Society Technical Electives, List E: Software Engineering Technical Electives, List G: Computer Science | More Info. | ||
SFWRENG 4TE3Undergraduate / Technical Elective | Continuous Optimization Algorithms List A : Mechatronics, List D : Software Engineering and Society Technical Electives, List E: Software Engineering Technical Electives, List F: Additional Technical Electives for Software Engineering and Embedded Systems or Game Design, IBEHS Technical Electives | More Info. | ||
SFWRENG 4TH3Undergraduate | Theory of Computation | More Info. | ||
SFWRENG 4X03Undergraduate | Scientific Computation | More Info. |