- About
- Events
- Calendar
- Graduation Information
- Cornell Learning Machines Seminar
- Student Colloquium
- BOOM
- Fall 2024 Colloquium
- Conway-Walker Lecture Series
- Salton 2024 Lecture Series
- Seminars / Lectures
- Big Red Hacks
- Cornell University - High School Programming Contests 2024
- Game Design Initiative
- CSMore: The Rising Sophomore Summer Program in Computer Science
- Explore CS Research
- ACSU Research Night
- Cornell Junior Theorists' Workshop 2024
- People
- Courses
- Research
- Undergraduate
- M Eng
- MS
- PhD
- Admissions
- Current Students
- Computer Science Graduate Office Hours
- Advising Guide for Research Students
- Business Card Policy
- Cornell Tech
- Curricular Practical Training
- A & B Exam Scheduling Guidelines
- Fellowship Opportunities
- Field of Computer Science Ph.D. Student Handbook
- Graduate TA Handbook
- Field A Exam Summary Form
- Graduate School Forms
- Instructor / TA Application
- Ph.D. Requirements
- Ph.D. Student Financial Support
- Special Committee Selection
- Travel Funding Opportunities
- Travel Reimbursement Guide
- The Outside Minor Requirement
- Diversity and Inclusion
- Graduation Information
- CS Graduate Minor
- Outreach Opportunities
- Parental Accommodation Policy
- Special Masters
- Student Spotlights
- Contact PhD Office
Concepts: The Essence of Software Design
Abstract: In explaining the success of Zoom, Shira Ovide (writing in the New York Times) argued that Zoom’s software “just works” and that simplicity and clarity are the keys to success. But can clarity in software design be codified? In this talk, I’ll present the outline of a theory of software design that attributes clarity, simplicity and fitness for purpose in an application to its underlying semantic concepts, and I’ll give examples from a variety of familiar products that illustrate the role that concepts play in determining usability.
Bio: Daniel Jackson is a Professor of Computer Science at MIT, a MacVicar teaching fellow, and an Associate Director of the Computer Science and Artificial Intelligence Laboratory. His research has focused primarily on software modeling and design. He was the lead designer of the Alloy modeling language, and chaired a National Academies study on software dependability. His current research projects include new paradigms for end-user programming, a safety interlock for self-driving cars, and a new theory of software design that aims to connect user experience to underlying conceptual structures. Jackson is also a photographer; his most recent projects are Portraits of Resilience and At a Distance.