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

Learn to Program: Crafting Quality Code
University of Toronto via Coursera
Introduction to Agile Software Development: Tools & Techniques
University of California, Berkeley via edX
Software Architecture & Design
Georgia Institute of Technology via Udacity
Software Design for Non-Designers
mooc.house via Independent
Técnicas Avançadas para Projeto de Software
Instituto Tecnológico de Aeronáutica via Coursera