Dependable Software Systems

Course Information

The MEL in Dependable Software Systems is a 12-month, full-time program.

Many of the courses you take will adopt a flipped classroom format. This means that you will be expected to review course content ahead of classroom time, through readings or watching lecture videos. During classroom time, you’ll be engaged in discussions and activities to apply what you’ve learned. This could include case studies, group project work, and experiments and demonstrations.


Winter term: January to April

EECE 513: Error-Resilient Computing Systems
This course focuses on the design of dependable (fault-tolerant and reliable) computing systems. In particular, we will attempt to understand the root causes of faults in computer systems and their impact. We will study both traditional and cutting-edge techniques to build dependable computing systems. Finally, we will explore the practical applications of the techniques in the context of deployed systems. An important thread that runs through the course is the evaluation of dependable systems, and to this end, we will study techniques ranging from analytical modelling to empirical validation. The assignments will give students hands-on exposure to cutting-edge tools and techniques for dependability evaluation.

EECE 514: Software Verification & Testing
This is a course on concepts, principles and techniques related to software testing and formal program verification. Students will become acquainted with both the strengths and limitations of various functional and structural testing methods, as well as techniques for proving the functional correctness of sequential programs. Topics include black-box and white-box test case design strategies, incremental integration testing techniques, inspections and reviews, axiomatic verification, predicate transforms and function-theoretic verification. Students will have the opportunity to practice the techniques presented in class via optional exercises.

APPP 501: Project Management & Leadership
Develop skills for leading complex multidisciplinary projects by using management processes that include: project management frameworks; standards; planning, scheduling and estimating; communication; and risk management. Case studies in industry-relevant project management will be incorporated into the course. This course is collaboratively delivered with the Faculty of Commerce and Business Administration.

APPP 503: Organizational Leadership
Understand the behaviour of people and groups and how this applies to management and leadership within professional organizations. This course explores motivation, group dynamics, organizational structure, leadership styles and tools for assessing organizational effectiveness. The course is collaboratively delivered with the Faculty of Commerce and Business Administration.

APPP 505: Analytics & Interpretation for Applied Sciences
Professionals who can manage analytics and “big data” are highly sought after by companies across the world. This course will provide students with the opportunity to identify, interpret and utilize key analytics from real-world data sets. Graduates will feel comfortable with the latest data collection methods, measurement and presentation tools, be able to interpret data and identify trends, and understand the role of big data and predictive analytics across several different industries. This course is delivered in partnership with the Vancouver Institute of Visual Analytics.

Summer term: May to August

APPP 506: Capstone Project Part 1
A capstone design project is a major component of any engineering curriculum: it is the culmination of a course of study enabling students to showcase the knowledge and skills they have acquired. Teams of four to five students will solve an open-ended problem in software engineering for an industry partner in the greater Vancouver area. This project will also allow students to deepen their skills in project management and professional practice.

EECE 543: Software Project Management – May & June
This course will include a critique of the “thermostat model” of project management found in WBS (Work Breakdown Structure), Gantt and PERT charts, and much of the common wisdom represented in the PMBOK. We will look at how a new breed of techniques and tools are emerging, more suited to software development, with iterative development and agile methods, including XP, Scrum, Lean Development, Adaptive Development, RUP, SaFE, Nexus and others.

APPP 504 Business Acumen for Technical Leaders – August Bootcamp
An asset to the aspiring technical leader, business acumen is knowing how business works and applying that knowledge with the goal of business improvement. This Bootcamp offers an elevated perspective of how technical skills contribute to building value in a business. The course immerses aspiring technical leaders in the practical application of core business skills and the development of six core business competencies, which are presented as modules: Managerial Accounting; Strategy and Performance; Market Evaluation; Operations Management; Negotiations and Contract Management; and Business-Case Building and Valuation. This course is collaboratively delivered with the Faculty of Commerce and Business Administration.

Fall term: September to December

APPP 506: Capstone Project Part 2
Students will work in small groups to design and prototype a dependable system, on a topic defined in collaboration with an industrial partner of UBC.

EECE 512: Topics in Computer Security
The course introduces students to the subject of computer security from the technical point of view. Students will learn the principles of computer and information security in general, and of constructing secure systems in particular.

DSS Technical Elective
Students can choose one course from a variety of schools on campus. The course must be of a technical nature, related to software development (including machine learning, data mining or computer graphics), and approved by the Program Director. Potential courses can be found from the Electrical and Computer Engineering Program and Computer Science Department, although students are not limited to choosing courses from these lists.

APPP 502: Sustainability & Leadership
This course helps students build skills to lead change that influences the triple bottom line and explores concepts related to sustainability, change agency systems thinking, awareness and perspective for engagement and communication, adaptive leadership, and change dynamics. It also incorporates case studies in organizational and social change. This course is collaboratively delivered with the Faculty of Commerce and Business Administration.

Sauder Business Course
Students can choose a Sauder business course to gain greater exposure to a particular area of interest.

Keep Reading: Faculty & Staff

Application Deadlines

January 2018 intake:
July 1, 2017 – International Students
October 1, 2017 – Domestic Students

Apply Now