Dependable Software Systems

Course Information

The Master of Engineering Leadership (MEL) in Dependable Software Systems offers a bold approach to professional graduate education in engineering. Sixty per cent of the courses you’ll take are technical in nature and offered through the UBC Faculty of Applied Science. The remaining 40 per cent are business courses offered through UBC Sauder School of Business.

Many courses use a flipped classroom format. This means you are expected to independently review course content ahead of classroom time through assigned readings and lecture videos. The classes themselves are then an opportunity for engaged learning – discussing and applying what you’ve learned through case studies, group project work, experiments and demonstrations.

Course Overview

Dependable Software Systems Courses

Winter term: January to April

CPEN 522: 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.

CPEN 523: Software Project Management

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 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.

BA 580B: Strategy & Innovation

This course provides an introduction to the principles and frameworks of strategic management, as well as concepts surrounding the creation or expansion of innovation capabilities, within organizations. Strategic management involves analysis, planning and execution of initiatives that achieve objectives in support of organizational goals. Innovation generally involves the development of revolutionary new or evolutionary improvements to existing ideas, methods, products, services, or combinations thereof that are adopted. The course will also consider the changing nature of organizational strategy and innovation in an environment of increasing globalization, digitization and automation. Entrepreneurship and intrapreneurship will be recurring themes throughout the course. The course will emphasize actionable lessons and models that students, regardless of their professional or academic backgrounds, can apply in practice to create tangible and valuable outcomes across organizational types, growth stages, and industries.

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.

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.

CPEN 533: 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.

APPP 504: Business Acumen for Technical Leaders

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 course 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.

CPEN 542: 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 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.

UBC Sauder School of Business Courses

Students can choose a UBC Sauder Business Course to gain greater exposure to a particular area of interest. Options include (subject to change):

BA580B – 201: Strategy & Innovation

This course provides an introduction to the principles and frameworks of strategic management, as well as concepts surrounding the creation or expansion of innovation capabilities, within organizations.

BASC 550: Operations and Logistics

This course will introduce students to the key concepts and tools needed to understand and effectively manage supply chains and business operations in general. A key concept in this course is the “business process”, and managing and improving such processes.

BAMA 505-001: Business Development

This course uses the Business Development = Sales = Essential skill for business people = everyone today is in the business of selling thinking. This course is focused on the learning of foundational skills with the intention of enabling students to create better and more successful selling encounters in whatever career they pursue.

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.