A Moldable Development Curriculum

This is the start of a DRAFT curriculum for learning Moldable Development through case studies, tutorials, and exercises in the GT Book. Ongoing work to develop the curriculum is taking place in a dedicated GitHub repo. As materials stabilize, they will be migrated to this book.

You are new to GT. You have a software problem and think GT might help. For example: - You have a legacy system and questions about the source code and runtime. - You want to explore the API of an external system. - You have massive log data to analyze. - You are building a novel application and need to explore different ways of modeling the domain. In any case, you have software data (static or dynamic) and you want to model that data so you can answer questions about it. In short, you want to turn your software into an explainable system . Below is a possible roadmap to systematically learn GT and use it effectively, with several optional side roads along the way.

You will learn: - What is GT? - Using a simple case study, how can GT be used to create an explainable system? - What is moldable development , and how does it support the creation of explainable systems? - How to use Lepiter notebooks to create live documentation for your exploration? Side roads: - How to navigate the GT book. - How to engage with the GT community. - How to work with Smalltalk. Specific points to cover in unit 1: - Understanding snippets and the inspector. - Reading the interface from top to bottom. - Reading a view. - Learning a script from a view (for example, how to get the URL from a string). - Understanding Meta. - Expanding a contextual snippet based on what we see on the right. - Extracting from a snippet to a method. - Creating a class from a snippet. - Creating a view. - The accordion metaphor (in particular, why it is important to collapse).

Other, planned learning modules ...