Description
I'll freely admit I'm not an expert in Pharo or Smatlltalk. I have however spent a lot of my spare time using the language and studying its history and origins.
It's worth looking at the Ruby track concepts for inspiration as it is the language that is most closely related to Smalltalk in terms of OOP semantics.
Other references include Pharo books, and the Pharo wiki. We should definitely put a call out in the Pharo discord for review of this list.
Also check the general reference for concept exercises.
Given that Pharo is so well integrated with its IDE I believe concepts should also cover use of the IDE. This can include things like using Spotter to find classes and messages in the class library. This is quite important because the class libraries are not typically documented online like C# or Java for example, but are fully available and easy to explore from within the IDE. So effective use of the IDE is critical to getting the best experience of the language.
Pharo by Example will likely be an excellent reference for Pharo specific concepts, especially Chapter 6: The Pharo Object Model.
The output of this issue should be a list of concepts. From that we can short list 20 concepts to make exercises for.
Here is a rough list of possible concepts, some plucked from the list of concepts:
- Using the IDE (debugging, browsing, playground, searching)
- Object and message syntax
- Object Oriented Programming
- Classes
- Encapsulation
- Blocks
- Streams
- Objects
- Inheritance
- Traits
- Polymorphism
- Enumeration
- The Pharo Object Model