The Essence of Software - Why Systems Often Fail by Design, and How to Fix Them
Offered By: Association for Computing Machinery (ACM) via YouTube
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 SystemsVanderbilt 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