Workshops

Jumpstart your career with a workshop in conceptual software design, and become a more effective and creative software designer. Workshops are available at different levels and lengths for different audiences. Please contact us for information about upcoming workshops, or for scheduling a private workshop for your company.

Conceptual Software Design: Introduction

Learning outcome. In this workshop, you’ll learn a new way to think about software that will empower you to be more effective in your work, so you can bring greater clarity, simplicity and focus to the software projects you’re involved in, whatever your role. With a shift of perspective, you’ll discover new ways to make software more flexible, usable and powerful.

Intended audience. Suitable for all roles, including programmers, architects, program managers, UX designers, requirements analysts, and consultants.

Workshop format. Half-day workshop consisting of three one-hour tutorials, and participant exercises. Online or in person; no more than ten participants.

Teaching staff. The workshop will be taught by Daniel Jackson, author of The Essence of Software, professor of computer science at MIT, and recipient of MIT’s highest teaching award.

Sample topics. Going beyond programming and user interfaces; levels of design; identifying concepts; concepts as high level patterns; concept reuse and genericity; automation through concept synchronization; drafting and reviewing concept specs; strategies for simplicity (streamlining, merging and factoring).

Conceptual Software Design: Comprehensive

Learning outcome. In this workshop, you’ll learn how to become a proficient conceptual designer. You’ll master a new and powerful approach to software design that will help you streamline your work, making you more productive and focused; produce more modular, and usable software that is simpler but more powerful than the software you built before; learn how to diagnose and fix the most common problems in software design; and become a thought leader who can shape the design of your company’s products and help your company achieve new levels of success.

Intended audience. Suitable for all roles, including programmers, architects, program managers, UX designers, requirements analysts, and consultants.

Workshop format. One and a half day workshop consisting of six one-hour tutorials, participant exercises and a session in which you will apply conceptual design to a problem drawn from your own work. Online or in person; no more than ten participants.

Teaching staff. The workshop will be taught by Daniel Jackson, author of The Essence of Software, professor of computer science at MIT, and recipient of MIT’s highest teaching award.

Sample topics. Going beyond programming and user interfaces; levels of design; identifying concepts; concepts as high level patterns; concept reuse and genericity; automation through concept synchronization; drafting and reviewing concept specs; strategies for simplicity (streamlining, merging and factoring); detailed design of software concepts; designing state, representation independence, invariants and polymorphism; designing actions; synergistic design; identifying and eliminating synchronization problems; achieving modularity in software design; heuristics for mapping concepts to user interfaces.