Software Systems

Software Systems (SoSy) is a four year Bachelor of Science (BSc) program offered exclusively at SFU Surrey’s state-of-the-art campus. This program is housed within the School of Computing Science.

Software Systems is an applied area of computing science that focuses on the development of high quality software for public and private industry. Embedded software is used in cell phones, security systems, internet search engines, movie and music distribution, and in specialized areas such as medical imaging, financial analysis systems, and safety critical applications like air traffic control systems. This is a practical hands-on program delivered through a combination of lectures, case studies, and individual and team projects. Graduates will have a solid understanding of the software development life cycle including testing and verification, documentation, and revision control, all of which are needed to take projects from conception to delivery.

Why Study Software Systems at SFU Surrey?

  • Be ready upon graduation to seek employment with high-tech companies like SAP, IBM, HSBC, BC Hydro, Microsoft, Electronic Arts, Google, Triumf, and the Government of Canada to name just a few. You may also want to explore exciting opportunities abroad.
  • SFU is located in a major technology center that is home to local and international companies in software development, telecommunications, gaming, finance, bioinformatics and more.
  • Have the opportunity to obtain up to 20 months of work experience, earning competitive wages in our co-operative education program.
  • Graduate with an industry recognized degree from one of Canada’s most prestigious schools of computing science.
  • Be well prepared to continue with graduate studies (MSc., PhD.) thanks to our school’s strong research focus.

The Software Systems curriculum:

Software Engineering: The study of how to effectively program as part of a group under realistic time and resource constraints. This includes high-level issues such as software architecture and project management, as well as low-level issues such as version control and best practices for coding.

Systems: The study of computer systems and the way they are organized, including software protocols. Knowing the capabilities of and restrictions on computer systems is a prerequisite for designing effective software.

Fundamentals: The study of mathematics, writing, and theoretical computing. These are the foundations for any field of technical studies.