YoVDO

The Essence of Software - Why Systems Often Fail by Design, and How to Fix Them

Offered By: Association for Computing Machinery (ACM) via YouTube

Tags

Software Design Courses User Experience Design Courses Software Architecture Courses Program Management Courses

Course Description

Overview

Explore the fundamental principles of software design and learn why systems often fail in this thought-provoking conference talk. Delve into surprising snags in familiar applications like Dropbox, Gmail, and Twitter, and discover how concept-based design can diagnose and fix these issues. Gain actionable insights into the importance of concepts as free-standing "nano services" that factor system behavior into independent, reusable parts. Apply these principles to your work, whether you're a coder, program manager, software architect, UX designer, or consultant. Examine real-world examples, understand the benefits of concept design, and participate in a Q&A session with the speaker, Daniel Jackson, Professor of Computer Science at MIT and author of "Essence of Software: Why Concepts Matter for Great Design."

Syllabus

Introduction
Puzzle 1 Dropbox
Puzzle 2 Twitter
Puzzle 3 Google Calendar
Identifying Concepts
Naming Concepts
Actions
Dropbox
Twitter
Google Calendar
Summary
Benefits of Concept Design
Conclusion
Questions Answers


Taught by

Association for Computing Machinery (ACM)

Related Courses

Pattern-Oriented Software Architectures: Programming Mobile Services for Android Handheld Systems
Vanderbilt University via Coursera
The Caltech-JPL Summer School on Big Data Analytics
California Institute of Technology via Coursera
Automated Visual Software Analytics
openHPI
Software Architecture & Design
Georgia Institute of Technology via Udacity
Software Architecture for the Internet of Things
EIT Digital via Coursera