Skip to main content

Software Engineering

What is Software Engineering?

Software Engineering deals with the engineering problems, opportunities and needs associated with the development and utilization of computer software. The discipline also addresses the design of computers, computer science, the integration of software into computer systems, and the applications of software systems. The software industry is growing rapidly and of increasing importance to our economy and standard of living. 

New opportunities and challenges include the development of more powerful software and computers. The array of software engineering applications is growing, and ranges from special-effects software for the movie industry, through to the software controlling devices such as digital cameras and robots, to the software that drives businesses and the financial sector.

What do Software Engineers do?

Software Engineers focus on the analysis, design, development and manufacturing of software systems and computer networks. Some aspects of software engineering also include computer engineering, computer science and programming, as well as electronics, automation and control, so Software Engineers often interact with professionals in those areas. 

Mechanical and electronic devices in automobiles, airplanes, communication equipment and manufacturing systems are being replaced or enhanced by software components to provide more adaptability and enhanced functionality. Software components are more easily adapted, integrated, and upgraded to meet future needs and are less expensive to implement. Software engineers are at the heart of such activities.

What types of careers do Software Engineers find?

Software engineers find careers with companies that develop and design software systems, or in the countless number of industries that utilize and apply software. With the emerging need for more powerful and higher-quality software systems, the demand for software engineers continues to grow, and rapid advances in technology will likely accelerate this growth.

Many opportunities exist in the software industry where Software Engineers develop productivity, database and business solution software, or serve as software consultants to produce software designs that are customized to meet the needs of users. Software Engineers also find careers in industries where software is applied. For instance, software systems are used extensively in medical applications, transportation systems, and financial systems.

Software engineering graduates will have the expertise to work productively as engineers and to effectively manage the work of others. Maintenance, repair and testing of software designs are additional areas of employment for our graduates who will be highly qualified to perform research and development, systems engineering, and economics assessments.

Program Description

The Software Engineering program provides graduates with the knowledge and skills required to carry out engineering work for a wide range of software and computer companies and for the many industries that utilize software products. Developed in consultation with industry, the Software Engineering curriculum provides a solid grounding in fundamentals, with significant content in engineering sciences and engineering design.

In the first year, you study mathematics, sciences, computing and technical communications. These courses represent the foundation of most engineering programs. In the second year, you cover basic engineering courses like electronics, digital systems, and introductory software design. In the third and fourth year, you study a range of applied and advanced software engineering courses including computer architecture, operating systems, algorithm design, data management systems, programming languages, computer networks and security, and computer control.

Complementary studies including collaborative leadership, economics, and ethics and law for professionals, promote a broader understanding of the needs of society and technology's impact on it. Students gain technical expertise along with the understanding of business and humanities required for an integrated approach to the software and computer industry.

View the Program Map for Software Engineering here.

Internet of Things (IoT) Specialization

The IoT specialization provides students the opportunity to focus on the Internet of Things, which involves the integration of people, processes and technologies with connectable devices. Students will learn the basics of designing strong and reliable software for today’s autonomous systems and smart technologies through technical courses such as Machine Learning and Data Mining, Design and Analysis of IoT Software Systems, Mobile Application Development, and Cloud Computing. Graduates will be able to design and develop reliable and secure software systems with a focus on IoT applications, design and implement new algorithms and evaluate their performance.

Engineering and Management Program

The Engineering and Management combination programs meet the rapidly increasing need for engineers with the leadership skills to succeed in business and management. Students can choose to complement their technical studies in this engineering program with business and management courses by opting for the five-year Engineering and Management program that corresponds to this discipline.