Pharo learning
# Pharo - [Pharo MOOC](https://mooc.pharo.org/) - [YouTube Playlist](https://www.youtube.com/playlist?list=PL2okA_2qDJ-kCHVcNXdO5wsUZJCY31zwf) ## Week 1 - Pharo Object Model - Syntax and Constructs - Messages: Unary, Binary, Keyword - Basics: Classes, Method, Packages - Counter, Unit Tests ## Week 2 - Messages - Composition and Precedence - Sequence and Cascade - Blocks - Loops - Booleans - Eager and Lazy Logic Operators - Parentheses `()` vs Brackets `[]` - `yourself` - Tooling - Finder - Inpspector - Scoped Operations - TDD / Debugging (todo) ## Week 3 - Dispatch - Variables and Keywords - Class methods - Collections - Iterators - Streams - Returns - Implementors and Senders - Class References - Spotter - Die Assignment ## Week 4 - Inheritance and Lookups - `self` and `super` - `doesNotUnderstand` - Metaclasses Todo - Seaside (todo) ## Week 5 - Seaside Components (todo) - Class Methods - Common Errors - Exceptions (review) Todo: - Debugging - SUnit - Files - Spotter Actions ## Week 6 - Hooks and Templates (review) - Runtime Architecture (todo) - Characters, Strings, and Symbols - Dynamic vs Literal Arrays ## Week 7 - Advanced Points on Classes - Variable Size Object - Understanding Metaclasses Todo - Reflective Operations for Live Programming - `doesNotUnderstand` - Stack as an Object - Avoid Null Checks - Conclusion