B.Sc. Software Engineering

Software engineers apply principles and techniques from computer science, engineering and mathematical analysis to specify, design, implement, evaluate, and maintain software systems. The Bachelor of Science in software engineering prepares students for a wide range of careers in the computing fields, as well as related positions in other domains, such as healthcare, finance, communications, government, industry, education, marketing, and academia.

Programming skills are one of the basic skills of a successful graduate of the Software Engineering program. Students also acquire requirement specification, design, quality assurance and project management skills. Problem solving in teams through effective use of oral and written communication is also emphasized in the program. Students specify, design, and implement non-trivial software systems and complete one semester capstone project. Each student is required to obtain professional experience through an internship or a research project prior to graduation, which is facilitated by the program’s collaboration with industrial and academic partners.


In addition to the common program objectives, within four years software engineering majors are expected to:

  • Demonstrate core software engineering knowledge and skills
  • Demonstrate ethical behavior in their pursuits
  • Have achieved sustained employment and/or be pursuing additional educational opportunities
  • Demonstrate professional and personal growth by seeking leadership and mentoring roles in their profession and community.

Upon completion of the software engineering program, students will have attained:

  • An ability to apply knowledge of mathematics, science and engineering.
  • An ability to design and conduct experiments, as well as to analyze and interpret data.
  • An ability to design a system, component or process to meet desired needs within realistic constraints such as economic, environmental, social, political, ethical, health and safety, manufacturability and sustainability
  • An ability to function on multidisciplinary teams
  • An ability to identify, formulate and solve engineering problems
  • An understanding of professional and ethical responsibility
  • The broad education necessary to understand the impact of engineering solutions in a global, economic, environmental and societal context.
  • A recognition of the need for and an ability to engage in life-long learning.
  • An ability to use the techniques, skills and modern engineering tools necessary for engineering practice.

Some of the areas of work into which our graduates venture include:

  • Programmer Analyst
  • Database Administration
  • Web Design and Programming
  • Software Developers
  • Systems Analysis and Architecture
  • Information System Conception and/or Management
  • IT Consultancy
  • Software Support Specialist

Download Full Course Structure in PDF