An open API service indexing awesome lists of open source software.

https://github.com/olekscode/isloop2025

Course materials for isLoop 2025
https://github.com/olekscode/isloop2025

Last synced: 3 months ago
JSON representation

Course materials for isLoop 2025

Awesome Lists containing this project

README

        

# isLoop 2025: Course Materials

This repository contains materials for [isLoop 2025: International School on Live Object-Oriented Programming](https://isloop.pharo.org)
given by O.Zaitsev, S. Jordan Montaño, S. Ducasse and Mega on February 3-7, 2024 in Montpellier.

- Exercise descriptions are in the folder Exercises
- Install Pharo using the PharoLauncher from http://www.pharo.org

## Monday, 3 February, 2025

#### 1. Welcome (40 min)

- _(Oleks)_ Welcome words
- _(Sebas)_ What is Pharo? [[slides]](./slides/C019-W1S02-WhatIsPharo.pdf)
- _(together)_ Install Pharo
- _(Mega)_ First look and Hello World in Pharo environment
- _(Mega)_ First look at the environment: Playground, Inspector, System Browser, Debugger

#### 2. Exercise: ProfStef (30 min)

#### 3. Core elements (1.30 h)

- _(Oleks)_ Pharo object model in a nutshell [[slides]](./slides/C019-W1S04-PharoModelInaNushell.pdf)
- _(Oleks)_ Class and method definition [[slides]](./slides/C019-W1S06-ClassAndMethodDefinition.pdf)

#### 4. Exercise: Counter

#### Recommended videos

- [Understanding return](https://youtu.be/dEUcZolohlw)
- [yourself](http://rmod-pharo-mooc.lille.inria.fr/MOOC/PharoMOOC-Videos/EN/Week2/C019SD-W2-S10-EN-V1.mp4)
- [Class methods](http://rmod-pharo-mooc.lille.inria.fr/MOOC/PharoMOOC-Videos/EN/Week3/C019SD-W3-S6-EN-V1.mp4)

## Tuesday, 4 February, 2025

#### 1. Exercise: Counter (30 min strict!)

#### 2. Kata: Rock-Paper-Scissors if-else (1 hour)

#### Lunch (2 hours)

#### 3. Lecture: Inheritance (1 hour)

- _(Mega)_ Inheritance Basics [[slides]](./slides/M1-3-Essence-03-Inheritance-Basic.pdf)
- _(Mega)_ Inheritance and Lookup: self [[slides]](./slides/M1-4-Essence-04-Self.pdf)

#### 4. Kata: Rock-Paper-Scissors double dispatch (2 hours)

Ask advanced people to do live coding

#### Tasks for advanced people

- **Andrzej:** Visitor, Robot
- **Jovan:** Network
- **Omar:** Double dispatch, Visitor
- **Kyla:** _(ask Sebas)_

#### Recommended videos

- [Essence of dispatch: Taking Pharo Booleans as Example](https://rmod-pharo-mooc.lille.inria.fr/AdvancedDesignMooc/Videos/M01_S1.mp4)
- [Essence of Dispatch: Let the receiver decide](https://rmod-pharo-mooc.lille.inria.fr/AdvancedDesignMooc/Videos/M01_S2_V2.mp4)
- [Inheritance Basics](https://rmod-pharo-mooc.lille.inria.fr/AdvancedDesignMooc/Videos/M01_S3.mp4)
- [Inheritance and Lookup: Self - Understand lookup once for all](https://rmod-pharo-mooc.lille.inria.fr/AdvancedDesignMooc/Videos/M01_S4.mp4)

## Wednesday, 5 February 2025

#### 1. Exercise (1 hour 30 min)

- Finish Rock-Paper-Scissors with beginners
- Pair-program with advanced students on their exercises

#### 2. Lecture: Messages (1 hour)

- _(Sebas)_ Understanding messages [[slides]](./slides/C019-W2S01-Messages.pdf)
- _(Sebas)_ Message composition and precedence [[slides]](./slides/C019-W2S03-Messages-Precedence.pdf)
- _(Sebas)_ Message sequence and cascade messages [[slides]](./slides/C019-W2S04-Messages-Sequence.pdf)

#### Lunch (2 hours)

#### 3. Stephane's lectures

## Follow-up Materials

#### Lectures

- MOOC videos of our lectures
- Associated videos for topics we couldn't cover
- collections
- class methods
- XTDD
- Exception handling
- Iceberg
- Chapters for our lectures

#### General Pharo

- PBE
- Deep into Pharo
- MOOC
- AMOOC
- Spec book
- Learning OOP with Pharo
- Pharo with Style
- Testing on Pharo

#### Fun stuff

- Pharo things
- Roassal graphics
- Phausto
- Thales VR
- Pharo JS
- Cormas
- Reflective kernel

#### Events

- GSoC
- ESUG
- UK Smalltalk
- MISS ABMS

#### Community

- Discord
- Mailing lists
- Mastodon
- Pharo Association