-
Live Live A: Selecting Expressions []
-
Live Live B: Prof Stef []
-
Live Live C: Syntax Highlighting gives Feedback
-
Live Live D: Learn Keyboard Shortcuts
-
Redo Redo 1: Packages, classes and methods
-
Redo Redo 2: Adding some unit tests
-
Redo Redo 3: Looking back at method creation
-
Redo Redo 4: Save your code with Iceberg
-
Redo Redo 5: Object initialization
-
Redo Redo 6: Better printing with printOn:
-
Redo Redo 7: Looking a commit history and changes with Iceberg
Exercise Expressions and Messages
-
Lecture Understanding Messages: Sequence and Cascade PDF(https://rmod-pharo-mooc.lille.inria.fr/MOOC/PharoMOOC/Week2/C019-W2S04-Messages-Sequence.pdf) /Video en
- Live A: Understanding Implementor/Senders https://rmod-pharo-mooc.lille.inria.fr/MOOC/PharoMOOC-Videos/EN/
- Live Live B: Understanding class references https://rmod-pharo-mooc.lille.inria.fr/MOOC/PharoMOOC-Videos/EN/
- Live Live C: Find information using Spotter https://rmod-pharo-mooc.lille.inria.fr/MOOC/PharoMOOC-Videos/EN/
- Redo Redo 1: Implementing Die mechanics https://rmod-pharo-mooc.lille.inria.fr/MOOC/PharoMOOC-Videos/EN/
- Redo Redo 2: Implementing a Die handle https://rmod-pharo-mooc.lille.inria.fr/MOOC/PharoMOOC-Videos/EN/
- Redo Redo 3: Finalizing the DSL https://rmod-pharo-mooc.lille.inria.fr/MOOC/PharoMOOC-Videos/EN/
-
Lecture Booleans and Conditions []
- Live A: Finding methods with the Finderhttps://rmod-pharo-mooc.lille.inria.fr/MOOC/PharoMOOC-Videos/EN/
- Live Live B: Look closer at objects with the Inspectorhttps://rmod-pharo-mooc.lille.inria.fr/MOOC/PharoMOOC-Videos/EN/
- Live Live C: Browsing a classhttps://rmod-pharo-mooc.lille.inria.fr/MOOC/PharoMOOC-Videos/EN/
- Live Live D: Working with scoped operations https://rmod-pharo-mooc.lille.inria.fr/MOOC/PharoMOOC-Videos/EN/
-
Redo Redo 1:Xtreme TDD
-
Live A: Git: New project creation https://rmod-pharo-mooc.lille.inria.fr/MOOC/PharoMOOC-Videos/EN/
-
Live Live B: Git: Creating a remote repository to an existing projecthttps://rmod-pharo-mooc.lille.inria.fr/MOOC/PharoMOOC-Videos/EN/
-
Live Live C: Loading a project with Metacellohttps://rmod-pharo-mooc.lille.inria.fr/MOOC/PharoMOOC-Videos/EN/
-
Live Live D: Applying Refactoringshttps://rmod-pharo-mooc.lille.inria.fr/MOOC/PharoMOOC-Videos/EN/
-
Live Live E: Quality checker in actionhttps://rmod-pharo-mooc.lille.inria.fr/MOOC/PharoMOOC-Videos/EN/
-
Lecture An Overview of Essential Collections
-
Lecture Variables
-
Lecture A Simple HTTP Application: a Pretext to Revisit Pharo Syntax
- Lecture Inheritance Basics PDF / Video en
- Lecture Inheritance & Lookup: Lookup PDF / Video en
- Lecture Inheritance & Lookup: Super PDF / Video en
- Lecture Inheritance & Lookup: DoesNotUnderstand:
- Lecture Inheritance & Lookup: Lookup in Metaclasses
- Lecture Class Methods at Work
- Overview of Pharo Web Stack
- Lecture Seaside: an Innovative Web Application Framework
- Lecture Seaside: Rendering Components
- Lecture Seaside: a Glance at MetaData and REST
- Lecture Voyage: NoSql Object Database
- Lecture Characters, Strings and Symbols
- Lecture Dynamic Vs. Literal Arrays
- Live Live A: Customized tabs in the Inspector
- Live Live B: Personalize your image startup
- Lecture Message sends are plans for reuse
- Lecture Hooks and Templates
- Really Understanding Class Methods
- Lecture Common Errors
- Lecture Powerful Exceptions: an Overview
- Lecture Debugging in Pharo
- Lecture Files in Pharo
- Lecture Understanding Metaclasses
- Lecture Advanced Points on Classes
- Lecture Variable Size Objects
- Lecture Benchmarking in Pharo
- Lecture Reflection: Basic Introspection
- Lecture Reflective Operations for Live Programming
- Lecture DoesNotUnderstand: a Precious Hook
- Lecture Reflection: Stack as an Object
-
Lecture Taking Pharo Booleans as Example [PDF](https://rmod-pharo-mooc.lille.inria.fr/AdvancedDesignMooc/Slides/M1-1-Essence-01-NotExample.pdf]/[Video en](https://rmod-pharo-mooc.lille.inria.fr/AdvancedDesignMooc/Videos/M01_S1.mp4)
-
Lecture Hooks and Template: One of the Cornerstones of OOP PDF / Video en
-
Lecture Using Well asString and printString: A Pharo Code Idiom PDF / Video en
-
Lecture Methods: The Elementary Unit of Reuse PDF / Video en
-
Lecture Objects vs. Data – An API Perspective Studying the Class Point PDF / Video en
-
Lecture Fat Classes Are Bad – A Large Class vs. a Class Hierarchy PDF / Video en
-
Lecture Singleton: A Highly Misunderstood Pattern PDF / Video en
-
Lecture Composite: A Nice and Common Design Pattern PDF / Video en
-
Lecture Command Design Pattern: Actions as Objects PDF / Video en
-
Lecture Application of Command Design Pattern PDF / Video en
-
Lecture Blocks vs. Objects: Rethinking Common Abstractions PDF / Video en
-
Lecture A Double Dispatch Starter: Stone Paper Scissors PDF / Video en
-
Lecture Double Dispatch: Does Not Have to Be Symmetrical PDF / Video en
-
Lecture A Die + a DieHandle: Practicing Dispatch More PDF / Video en
-
Lecture Visitor: Modular and Extensible First-Class Actions PDF / Video en
-
Lecture Stone Paper Scissors: The Case of Results PDF / Video en
-
Lecture Double Dispatch: Adding Numbers as a Kata PDF / Video en
-
Lecture About Null Check: The Case of Lazy Initialization PDF / Video en
-
Lecture Customization Degree of Hooks: Class vs. Instance Hooks PDF / Video en
-
Lecture DieHandle new vs. self class new: When Classes Are First-Class Citizens PDF / Video en
-
Lecture Delegation of Actions and Accumulator: Form Validation as an Example PDF / Video en
-
Lecture Behavior Delegation at Work: The Case of the Class Printer PDF / Video en
-
Lecture Builder Design Pattern: Encapsulating Object Creation PDF / Video en
-
Lecture Sharing with Instance-Specific Possibilities PDF / Video en
-
Lecture Shared Pools: Static Sharing Between Hierarchies PDF / Video en
-
Lecture About Registration: When Class Method-Based Registration Is Too Much PDF / Video en
-
Lecture Application Settings: From a Monolithic to a Modular Architecture PDF / Video en
-
Lecture Learning from a Sokoban Implementation PDF / Video en
-
Lecture Class vs. Object-Oriented Programming PDF / Video en
-
Lecture The Two Interfaces: In Presence of Delta Programming PDF / Video en
-
Lecture Polymorphic Objects: Support for Software Evolution PDF / Video en