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
Learn to Program: Crafting Quality CodeUniversity 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