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.
Software and Biomedical Engineering – 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
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
Software and Biomedical Engineering – 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
Software and Biomedical Engineering – Related Courses
Code | Title | Instructor | Outline | Info |
---|---|---|---|---|
MECHTRON 4AX3 Undergraduate | Predictive and Intelligent Control |
|
More | |
SFWRENG 2AA4 Undergraduate | Software Design I – Introduction to Software Development |
|
More | |
SFWRENG 2C03 Undergraduate | Data Structures And Algorithms |
|
More | |
SFWRENG 2DA4 Undergraduate | Digital Systems and Interfacing |
|
More | |
SFWRENG 2DM3 Undergraduate | Discrete Mathematics with Applications I |
|
More | |
SFWRENG 2FA3 Undergraduate | Discrete Mathematics with Applications II |
|
More | |
SFWRENG 2GA3 Undergraduate | Computer Architecture |
|
More | |
SFWRENG 3A04 Undergraduate | Software Design III – Large System Design |
|
More | |
SFWRENG 3BB4 Undergraduate | Software Design II – Concurrent System Design |
|
More | |
SFWRENG 3DX4 Undergraduate | Dynamic Systems and Control |
|
More | |
SFWRENG 3O03 Undergraduate | Linear Optimization |
|
More | |
SFWRENG 3RA3 Undergraduate | Software Requirements And Security Considerations |
|
More | |
SFWRENG 3S03 Undergraduate | Software Testing |
|
More | |
SFWRENG 3XA3 Undergraduate | Software Engineering Practice and Experience: Software Project Management |
|
More | |
SFWRENG 4AA4 Undergraduate | Real-Time Systems and Control Applications |
|
More | |
SFWRENG 4C03 Undergraduate | Computer Networks And Security |
|
More | |
SFWRENG 4E03 Undergraduate | Performance Analysis Of Computer Systems |
|
More | |
SFWRENG 4HC3 Undergraduate | Human Computer Interfaces |
|
More | |
SFWRENG 4X03 Undergraduate | Scientific Computation |
|
More |