{"id":24874870,"url":"https://github.com/olekscode/isloop2025","last_synced_at":"2026-01-05T18:50:09.477Z","repository":{"id":275128291,"uuid":"925159109","full_name":"olekscode/isloop2025","owner":"olekscode","description":"Course materials for isLoop 2025","archived":false,"fork":false,"pushed_at":"2025-02-07T20:06:26.000Z","size":30289,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-07T20:32:43.913Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/olekscode.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-31T10:48:06.000Z","updated_at":"2025-02-07T20:06:30.000Z","dependencies_parsed_at":"2025-02-07T20:27:27.469Z","dependency_job_id":null,"html_url":"https://github.com/olekscode/isloop2025","commit_stats":null,"previous_names":["olekscode/isloop2025"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olekscode%2Fisloop2025","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olekscode%2Fisloop2025/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olekscode%2Fisloop2025/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olekscode%2Fisloop2025/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/olekscode","download_url":"https://codeload.github.com/olekscode/isloop2025/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245767360,"owners_count":20668827,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-02-01T07:31:08.163Z","updated_at":"2026-01-05T18:50:09.447Z","avatar_url":"https://github.com/olekscode.png","language":null,"readme":"# isLoop 2025: Course Materials\n\nThis repository contains materials for [isLoop 2025: International School on Live Object-Oriented Programming](https://isloop.pharo.org) \ngiven by O.Zaitsev, S. Jordan Montaño, S. Ducasse and Mega on February 3-7, 2024 in Montpellier.\n\n- Exercise descriptions are in the folder Exercises\n- Install Pharo using the PharoLauncher from http://www.pharo.org\n\n\n## Monday, 3 February, 2025\n\n#### 1. Welcome (40 min)\n\n- _(Oleks)_ Welcome words\n- _(Sebas)_ What is Pharo? [[slides]](./slides/C019-W1S02-WhatIsPharo.pdf)\n- _(together)_ Install Pharo\n- _(Mega)_ First look and Hello World in Pharo environment\n- _(Mega)_ First look at the environment: Playground, Inspector, System Browser, Debugger\n\n#### 2. Exercise: ProfStef (30 min)\n\n#### 3. Core elements (1.30 h)\n\n- _(Oleks)_ Pharo object model in a nutshell [[slides]](./slides/C019-W1S04-PharoModelInaNushell.pdf)\n- _(Oleks)_ Class and method definition [[slides]](./slides/C019-W1S06-ClassAndMethodDefinition.pdf)\n\n#### 4. Exercise: Counter\n\n#### Recommended videos\n\n- [Understanding return](https://youtu.be/dEUcZolohlw)\n- [yourself](http://rmod-pharo-mooc.lille.inria.fr/MOOC/PharoMOOC-Videos/EN/Week2/C019SD-W2-S10-EN-V1.mp4)\n- [Class methods](http://rmod-pharo-mooc.lille.inria.fr/MOOC/PharoMOOC-Videos/EN/Week3/C019SD-W3-S6-EN-V1.mp4)\n\n## Tuesday, 4 February, 2025\n\n#### 1. Exercise: Counter (30 min strict!)\n\n#### 2. Kata: Rock-Paper-Scissors if-else (1 hour)\n\n#### Lunch (2 hours)\n\n#### 3. Lecture: Inheritance (1 hour)\n\n- _(Mega)_ Inheritance Basics [[slides]](./slides/M1-3-Essence-03-Inheritance-Basic.pdf)\n- _(Mega)_ Inheritance and Lookup: self [[slides]](./slides/M1-4-Essence-04-Self.pdf)\n\n#### 4. Kata: Rock-Paper-Scissors double dispatch (2 hours)\n\nAsk advanced people to do live coding\n\n#### Tasks for advanced people\n\n- **Andrzej:** Visitor, Robot\n- **Jovan:** Network\n- **Omar:** Double dispatch, Visitor\n- **Kyla:** _(ask Sebas)_\n\n#### Recommended videos\n\n- [Essence of dispatch: Taking Pharo Booleans as Example](https://rmod-pharo-mooc.lille.inria.fr/AdvancedDesignMooc/Videos/M01_S1.mp4)\n- [Essence of Dispatch: Let the receiver decide](https://rmod-pharo-mooc.lille.inria.fr/AdvancedDesignMooc/Videos/M01_S2_V2.mp4)\n- [Inheritance Basics](https://rmod-pharo-mooc.lille.inria.fr/AdvancedDesignMooc/Videos/M01_S3.mp4)\n- [Inheritance and Lookup: Self - Understand lookup once for all](https://rmod-pharo-mooc.lille.inria.fr/AdvancedDesignMooc/Videos/M01_S4.mp4)\n\n## Wednesday, 5 February 2025\n\n#### 1. Exercise (1 hour 30 min)\n\n- Finish Rock-Paper-Scissors with beginners\n- Pair-program with advanced students on their exercises\n\n#### 2. Lecture: Messages (1 hour)\n\n- _(Sebas)_ Understanding messages [[slides]](./slides/C019-W2S01-Messages.pdf)\n- _(Sebas)_ Message composition and precedence [[slides]](./slides/C019-W2S03-Messages-Precedence.pdf)\n- _(Sebas)_ Message sequence and cascade messages [[slides]](./slides/C019-W2S04-Messages-Sequence.pdf)\n\n#### Lunch (2 hours)\n\n#### 3. Stephane's lectures\n\n## Follow-up Materials\n\n#### Lectures\n\n- MOOC videos of our lectures\n- Associated videos for topics we couldn't cover\n    - collections\n    - class methods\n    - XTDD\n    - Exception handling\n    - Iceberg\n- Chapters for our lectures\n\n#### General Pharo\n\n- PBE\n- Deep into Pharo\n- MOOC\n- AMOOC \n- Spec book\n- Learning OOP with Pharo\n- Pharo with Style\n- Testing on Pharo\n\n#### Fun stuff\n\n- Pharo things\n- Roassal graphics\n- Phausto\n- Thales VR\n- Pharo JS\n- Cormas\n- Reflective kernel\n\n#### Events\n\n- GSoC\n- ESUG\n- UK Smalltalk \n- MISS ABMS\n\n#### Community\n\n- Discord\n- Mailing lists\n- Mastodon\n- Pharo Association \n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Folekscode%2Fisloop2025","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Folekscode%2Fisloop2025","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Folekscode%2Fisloop2025/lists"}