Skip to content

Latest commit

 

History

History
51 lines (29 loc) · 2.55 KB

index.md

File metadata and controls

51 lines (29 loc) · 2.55 KB

Introduction

This book accompanies the 'The Advanced Object-Oriented Design and Development with Pharo' MOOC (AOOD) that is freely available at https://advanced-design-mooc.pharo.org. The AOOD Mooc is not about Pharo but about object-oriented design and presents a large set of topics on this subject from basic to advanced points. From this perspective, AOOD Mooc extends the Pharo Mooc https://mooc.pharo.org. AOOD Mooc uses Pharo and readers may want to watch some videos of the Pharo Mooc to better understand the code. The module 0 of the AOOD Mocc proposes a selection of lectures to get up to speed with Pharo.

The current document contains a collection of design exercises at different levels of guidance and difficulties.

  • The first part of the book is dedicated to teachers and presents different setups in which this material has been used.
  • The second part proposes several little projects to exercise double dispatch, Command, and Visitor Design Patterns.
  • The third part proposes some unguided extensions to the previous projects as well as some exercises that are also loosely described to give space for variations.
  • The fourth part presents some game ideas that you are invited to design and build with Bloc the new graphic layer of Pharo and that can also benefit from the micro-framework Myg.

<!inputFile|path=Chapters/ForTeachers/exerciseMap.md!>

Teacher corner

<!inputFile|path=Chapters/ForTeachers/forTeachers.md!>

Guided Exercices

<!inputFile|path=Chapters/SimpleLan/Simple-LAN-Definition.md!> <!inputFile|path=Chapters/DSL/DSL.md!> <!inputFile|path=Chapters/PaperStoneScissor/PaperStoneScissor.md!>

<!inputFile|path=Chapters/DSLDoubleDispatch/DSLDoubleDispatch.md!> <!inputFile|path=Chapters/Robots/robots.md!> <!inputFile|path=Chapters/Compass/compass.md!>

<!inputFile|path=Chapters/Expression/Expression.md!> <!inputFile|path=Chapters/Visitor/Visitor.md!>

Unguided exercises

In this part, we propose two less-guided projects and multiple extensions to the previous projects. It is fun to challenge ourselves to see how we could support the proposed variations.

<!inputFile|path=Chapters/Tamagotchi/Tamagotchi.md!> <!inputFile|path=Chapters/Civilization/Civilization.md!> <!inputFile|path=Chapters/Unguided/Unguided.md!>

Unguided Projects

In this part, we propose you design some simple board games using the Bloc graphical framework taking as an example the games of the Myg project.

<!inputFile|path=Chapters/Games/Games.md!> <!inputFile|path=Chapters/Games/Microdown.md!>