Frequently asked questions


What is software engineering?

Software engineering isn't just about writing code: it is a disciplined and systematic approach to solving problems with software-based solutions. Software engineering focuses on building usable, reliable, maintainable, secure, scalable and efficient systems that people use and trust everyday. Software engineers graduate from an accredited engineering program and use engineering principles to design and build the software systems that modern societies rely on.

How is software engineering different from computer science or computer engineering?

The three programs offered at UVic are similar because they all deal with digital hardware and software. However, they have different aims.

  • Computer engineering (CENG) is focused on the workings of computer systems: digital hardware and computers and the built-in software to make them run. Its problem-solving applications are centered around hardware and firmware (the hardware-software interface). Computer engineers design, develop and maintain computer systems.
  • Computer science (CSC) is the least structured of the three programs; students can stay broad or specialize within the field. It concentrates on understanding computers and computer programs using data transformation (making data into useful information) and algorithms (a set of programmed instructions).
  • Software engineering (SENG) deals with software systems. It is more applied than computer science and stresses the entire development process, but also applies discipline through systematic practices and design to ensure safety and reliability. Software engineering deals with large software systems, and (as the name suggests) is more software oriented than computer engineering.

What are potential careers in the field?

Software engineering is one of the fastest growing occupations. More than a million new jobs will be created in the next decade for which software engineers are perfectly suited. Software engineers also face a wide range of career choice; due to the replacement of mechanical or electronic devices in transportation, communication, industry and entertainment (to name a few), software engineers are in demand in many fields. Software engineers can work in software development to solve problems in a variety of industries, or can hold a decision-making position (such as Project Manager or Systems Analyst) because of their skills with large-scale software management. The BSEng program is accredited and graduates will be able to register both as Professional Engineers and Information System Professionals, which opens up many more career choices.

Career examples by sector

UVic’s Bachelor of Software Engineering Program prepares you for a career as a professional software engineer and provides you with the background for life-long learning that's required to succeed. The skills you will develop remain relevant despite rapidly changing technologies and are in demand across industries—engineering skills are highly transferable!

An undergraduate degree in software engineering offers a multitude of career opportunities that can benefit people in all walks of life. You will be able to excel at a variety of jobs in these industries and more:
  • Autonomous and networked vehicles (self-driving cars, drones, AUVs, etc.)
  • Cloud computing
  • Cyber-physical systems (smart cities, grids, buildings, critical infrastructure, etc.)
  • Cybersecurity and privacy
  • Medicine, eHealth, and bioinformatics
  • Green tech and energy efficiency
  • Interactive entertainment (online games, multiplayer games, etc.)
  • Social media, social networks, collaboration
  • Virtual and augmented reality

Career examples by title

When looking for jobs in an area as potentially broad as Software Engineering, you may find many titles and descriptions. Depending on the size of the organization and their philosophy, divisions of work can vary. However, here are a few sample titles and a glimpse of what might be involved.

  • Software Architect: Meets with clients to determine their overall needs, and plans the high level software specifications. Once specifications are signed off by customer, leads the design team that implements the software, manages the test team, oversees quality assurance, user documentation, software rollout, directs the instructors who train the clients and their employees, and most importantly, ensures that the new software has fulfilled the needs of the customer.
  • Software Developer: Works as part of a team, from a high level design specification document, to write code used in company products. May oversee the efforts of several computer programmers on large projects.
  • Software Programmer: While Software Engineers are often found in the management area, they are also quite accomplished at programming.
  • Software Documentation Manager: This position is responsible for ensuring that the organization provides excellent installation and user guides, for all products.
  • Software LifeCycle Manager: This position is responsible for version control throughout the lifetime of a supported product, maintaining design specification updates, software patches, security updates and may play an integral part of new design discussions.
  • Software Reverse Engineer: A reverse engineer develops a design specification from an older existing software system, which no longer fully meets a client’s needs and yet is a key part of a client’s infrastructure. The design spec is reworked, and the existing software is either rewritten (and properly documented) or the user interface and subsystems are updated to reflect the current needs of the customer.
  • Software Instructor/Trainer: This position requires a solid understanding of the organization’s software products, and a ability to communicate well with people to achieve maximum benefits to clients in a short period of time.
  • Customer Support Supervisor: Manages a technical group that provides on-line, telephone or on-site support for troubleshooting issues related to the company’s products. Must be well organized, have keen attention to detail and possess excellent interpersonal skills. This position significantly affects the image of the organization, through the quality of help that customers receive.

What opportunities for graduate studies exist?

Software engineering students can pursue graduate studies under the Departments of Computer Science and Electrical and Computer Engineering at the Master's or PhD levels. There are several professors from these departments who conduct software engineering research.

What is the campus like?

The University of Victoria is situated in the heart of beautiful Victoria, British Columbia’s capital city. UVic's lovely campus has plenty of trees and shady grassy space, and the temperate climate allows year-round outside activity. UVic is a five minute walk from the beach in Cadboro Bay and with a bus terminal stationed right on campus, you can go anywhere in the greater Victoria area at a convenient price. Visit the UVic Virtual tour.

What is undergraduate campus life like?

UVic is a particularly friendly campus. Staff and students are quite willing to help others, and with our multiple student support groups, you will always have something to do to get your mind off of your studies. In the Faculty of Engineering, you will find many initiatives throughout the year which are enjoyable and beneficial to the community. Our campus shows diversity in cultural, social, artistic and recreational opportunities to ensure that students have an enjoyable and memorable experience. For more information, visit the UVic campus info page.

Does UVic have a good software engineering program?

Currently, UVic is ranked as one of the top universities in Canada for its innovation and co-op education program. In fact, Maclean’s magazine ranked UVic number two in 2015 in the comprehensive category. The Co-op program supplements academic terms with real-world experience, so by the time a student graduates, they will have already worked for a few companies in their chosen field and may even have identified an organization or area where they really enjoyed working. Employers benefit from having a role in the training of these employees, and by observing just how talented these students are. This combination of academic skills and on-the-job training is something employers can look for when hiring, and this can help students get that first big break to enter the workforce.

UVic’s approach to software engineering ensures that students are taught by professors that are experienced and well-respected in academic circles and in industry. The majority of the faculty for the BSEng program are drawn from both the Computer Science and the Electrical and Computer Engineering departments, which are mature departments with a reputation for providing quality education.

Where can I find more information on UVic?

What is the program like?

The Software Engineering Program at UVic emphasizes the application of engineering philosophy—a systematic and disciplined approach—and good design principles to software development. Students will learn technical programming skills and develop a working understanding of how high-quality software is made. However, the program is designed to prepare students for a career in the software industry that exceeds that of a normal programmer by integrating project management and engineering design into a computer science curriculum. Communication and teamwork skills are developed throughout and students gain invaluable industry experience through the mandatory co-op program.

What kinds of hands-on work will there be?

In addition to the very interactive co-op work placements, students will have the opportunity to do many projects, labs, and tutorials during the BSEng program:

  • Many required courses include structured laboratory/tutorial components using prescribed methods.
  • Over half of required core courses have substantial project work (development assignments).
  • There is a required four-month Technical project, which can be extended to eight months.
  • Optionally, two projects can be taken in two fourth-year terms for full credit.

What is the curriculum?

The BSEng curriculum includes 47 courses (38 prescribed and 9 elective) and 16 months of co-op work experience, as well as a four-month technical project.

How long will it take to graduate?

The BSEng program takes 4 and 2/3 years to complete. Students have a great degree of flexibility with the length and number of their work terms, although each term of courses is four-months long.

What will the first-year workload be like?

In the first year, all engineering students take the same core courses* regardless of which program they pursue. The Engineering core includes courses in mathematics, physics, programming, engineering fundamentals, communication and research skills, and chemistry. This common curriculum for the early part of your Engineering program provides the foundation needed for the rest of your degree and profession.

*Students targeting Software Engineering take an extra programming course in term 1B (CSC 115) and the required chemistry course (CHEM 101) in term 2A. You can read more about the BSEng courses here.

What will class sizes be like?

Class sizes for the Bachelor of Software Engineering program are small. Classes average around 40 students and labs are capped at 30 students. To search for the size of a particular class, visit UVic’s WebTT (online timetable).

Do I need to own a computer?

No. The University’s computer facilities are available for use and students will be given access cards to labs as well as accounts on the Faculty of Engineering network, which has both Windows and Linux workstations. The Faculty of Engineering provides remote connectivity for those who do have their own computers.

What Faculty is BSEng offered by?

The Bachelor of Software Engineering Program is offered jointly by the Department of Computer Science and the Department of Electrical and Computer Engineering at the University of Victoria. These departments are branches of the Faculty of Engineering.

What will my degree say?

Upon graduation, you will receive a Bachelor of Software Engineering (BSEng) degree.

Is the BSEng program accredited?

Yes! The Bachelor of Software Engineering Program has been accredited by the CEAB. Our program will serve as a prerequisite for students to become registered as Professional Engineers (P.Eng) in Software Engineering. Students can also choose to become Information Systems Professionals.

What is the co-op schedule and how much will I do?

The co-op program for BSEng starts as early as your first year at the university. A minimum of sixteen months work experience is mandatory in the BSEng program in order to graduate. We suggest that you do your work terms in four month blocks. However, the program is very flexible in order to fit your schedule.

Is co-op mandatory for BSEng?

Yes. BSEng has made co-op a critical part of the curriculum to ensure students have the opportunity to practice and apply the knowledge and skills acquired throughout their studies. Also, four years of engineering-related work experience is required for Professional Engineer (P.Eng.) certification in British Columbia, and co-op experience can be used as credit for one year of this experience.

Why should I want to do a co-op program?

One of the key skills that employers look for when hiring is experience. A combination of excellent courses taught at the university and sixteen months of work terms will bring our graduates the experience and knowledge needed to excel in real-world situations. As well, co-op offers employers a chance to let students explore and innovate, and allows students to utilize their skills and creativity in a career situation. Of course, getting paid doesn’t hurt either!

What co-op jobs are potentially available?

The co-op portion of the BSEng degree program is very flexible and designed with many options for work terms. For example, co-op terms can be entrepreneurial, in the private sector, and in the BC Provincial or the Federal Government. Even international co-op terms are possible. The jobs must relate technically to your degree program to ensure that you gain the right knowledge, in the right areas. Even the length of the co-op term is flexible; students can choose to work many short jobs or stay with one employer for a considerable length of time.

What marks and courses do I need to get in (from secondary school)?

Please consult UVic's Admission Requirements.

How do I apply?

Students can enter the Bachelor of Software Engineering Program in first year, or switch from computer science or other engineering disciplines. UVic also accepts transfers from other universities or colleges. See the Applying to UVic page for more details.

For those students who wish to enter the UVic BSEng program from high school, submitting an online application is the easiest and fastest way to apply. Check out the UVic Admissions site and follow the links for how to apply.

When do I have to apply by?

Entry to the Bachelor of Software Engineering Program begins in September, but applications must be submitted much earlier. See the Application deadlines page for specific dates.

What factors are considered in my application?

The UVic BSEng Program considers applicants based only on their UVic application form, which takes into account high school (or college/university if entering Year 3) grades only.

How much will it cost?

There is a large variability in individual costs because of personal choice. The Student Awards and Financial Aid department has a useful web site for all UVic students, Annual Costs, but for more specific information see the UVic Course Calendar. More financial information is available at UVic’s Budgeting to Fund Your Education

What entrance scholarships are available?

BSEng students are eligible for the same scholarships as computer science and engineering students; which you can find listed, along with descriptions and deadlines, at the UVic Engineering Awards and Scholarships page. Most of the internal scholarships do not require additional application; students are awarded these based on their grade point average, but there are some which do require an application to be sent in. This page also lists many external scholarships available to engineering and computer science students.
It is important to remember that any co-op terms you secure can also help to reduce the cost of your education, as well as to give you valuable work experience and a change of scenery once in a while.

A final note

This FAQ is an attempt to collect a wide range of information from several sources. While a lot of effort has been put in to ensure it is as accurate as possible, official sources such as the UVic Calendar will have the final word. So if you are unsure about something you’ve read about here, or just have a question about the BSEng Program, please ask our staff. We will try our best to help you.