The MEL is a 12-month degree starting in January. While 60 per cent of your Dependable Software Systems courses will focus on your technical specialization, the remaining 40 per cent are leadership development courses that will enhance your business, communication and people skills.
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 543: Software Project Management – February & March
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.
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 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.
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 504: Business Acumen for Technical Leaders (August Boot Camp)
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 Boot Camp 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.
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.
Sauder Business Course
Students can choose a 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.