Program Details


What is Software Engineering?
Software is ubiquitous and central to our lives. We interact daily with software systems: at home through computer games, at the office through on-line services and in the car through embedded control systems. We expect software to be reliable, efficient and effective in safety critical systems as well as desktop computers.

Software engineering applies both computer science and engineering principles and best practices to the design, implementation, testing, maintenance, and evolution of software. Software Engineering covers not only the technical aspects of building software systems, but also management issues. Today Software Engineering, as a discipline, is a cornerstone of the information technology sector and a significant factor in our economy.

The focus of UVic’s Software Engineering Degree Program will be both on the application of engineering methods to software, and on the development of engineering software applications. There will be special emphasis on three themes: (1) the analysis and testing of software for correctness, performance, and usability; (2) the design of software to reduce the costs of maintenance and evolution; and (3) the design of software as part of larger, embedded, and real-time systems.


Career Prospects of Software Engineers
The software industry has grown dramatically over the years: Mechanical and electronic devices in automobiles, airplanes, entertainment and communication equipment, and manufacturing are being replaced by software components because software is more adaptable and can provide greater functionality. Software is used in medical, transportation, and financial systems to automate critical tasks. Scientists and business researchers use software to sift through data warehouses and identify pertinent facts and trends. Banking, insurance, and other businesses use software to automate and personalize the services they offer to their customers. This proliferation of software applications has led to an urgent and growing demand for software professionals in Canada and all over the world.

The BSEng program at UVic covers a broad range of materials from theory to practice. The emphasis is on providing you with the necessary skills for careers as software engineers and the background for life-long learning required to succeed in the fast moving world of engineering and technology. An undergraduate degree in Software Engineering offers a multitude of career opportunities-a career that potentially benefits people in all walks of life.


Knowledge and Skills
The knowledge and skills you are expected to acquire during the BSEng program include:

  • an understanding of all aspects of software development and the software development process from the early design stages to long-term software maintenance and evolution;
  • the ability to construct and evaluate software in the context of physical systems and real-world applications;
  • the ability to apply engineering design principles to software development including trade-off analyses;
  • an understanding of software quality criteria and assurance and the ability to assess the quality of a software system;
  • the ability to plan and manage large software projects;
  • the ability to work independently and collaboratively;
  • an understanding of engineering economics and entrepreneurship in software practice;
  • the ability to understand the underlying principles on which physical systems and real-world applications are built on;
  • the ability to integrate and participate in the design process of these systems and applications;
  • the capability to communicate effectively both orally and in writing; and
  • a breadth of knowledge and skills in software engineering, as well as related areas of engineering, computer science, mathematics and complementary studies, that will provide you with a base for life-long learning.


The BSEng Program
The Bachelor of Software Engineering program has been designed to prepare you for a successful career in the software industry and the information technology sector by teaching you a breadth and depth of knowledge of software engineering that combines theory and practice of Computer Science and Engineering. You will also acquire communication skills and become proficient in engineering design, particularly as it applies to software development and software systems.

Co-op is an integral component of the degree program. This work experience is critical to providing you the opportunity to practise and apply knowledge and skills acquired throughout your studies in industrial settings and to sample different job prospects.


Co-operative Education
The UVic BSEng degree includes a mandatory Co-operative Education component that combines practical on-the-job experience with your university studies. Not only do you gain experience, this is a great way to help finance your education and to determine your long term career plans. Many students receive permanent job offers from their former co-op employers.

The BSEng co-op program is very flexible with respect to the lengths of work terms. In addition, students with extensive technical work experience or co-op work terms completed at other post-secondary institutions may apply for credit for up to eight months.


Transfer to Other Programs
There are two other programs in the Faculty of Engineering at UVic that are related to the Software Engineering program (SENG): Computer Science (CSC) and Computer Engineering (CENG). BSEng, CSC, and CENG all stress an understanding of both digital hardware and software, though to varying degrees and with different objectives. The BSEng program has no minors or majors. If desired, you will however be able to pursue the Software Engineering Option within a Computer Science degree or a Software Engineering Specialization within a Computer Engineering degree.

Computer Engineering (CENG) deals with designing, developing, and operating computer systems. It concentrates on digital hardware devices and computers, and the software that controls them. Advanced courses focus on standard designs and techniques for specific application domains. In contrast to CSC and SENG, CENG emphasizes solving problems in digital hardware and at the hardware-software interface (i.e., firmware).

Computer Science (CSC) focuses on understanding, designing, and developing programs and computers. It concentrates on data, data transformation, and algorithms. Advanced courses present specialized programming techniques and specific application domains. The CSC program is less structured than the CENG and SENG programs, giving students more flexibility to build depth or breadth in a variety of application domains or in the fundamentals of Computer Science.

Software Engineering deals with building and maintaining software systems. It is more software-oriented and has a greater emphasis on large software applications than Computer Engineering. SENG is more applied than Computer Science, placing greater emphasis on the entire software development process, from idea to final product. SENG is also more disciplined than Computer Science, applying more systematic practices and engineering design to help ensure that products are reliable and safe. SENG emphasizes communication skills.


Accreditation
The UVic BSEng program is accredited by the Canadian Engineering Accreditation Board (CEAB). As an ongoing process, accreditation will help ensure that the BSEng program is kept up to date and effective and that the curriculum meets the guidelines of the Association of Professional Engineers and Geoscientists of British Columbia.

Graduation from a nationally accredited program is the first step on your way of becoming a Professional Engineer (P.Eng).

Comments are closed.