isLoop 2025 Program
-Day 1: Pharo in one Day
+Day 1: Introduction to Pharo
-During this day you will learn the survival kit to code in Pharo. +
During this day, you will learn the survival kit to code in Pharo. You will learn the syntax and the main tools to code and publish code. After that day you will be able to code in Pharo. Yes the syntax fits in half of a postcard.
-
-
- Basics of Pharo programming -
- Discover and experience eXTreme Test Driven Design -
- Hands-on with ProfStef -
- Understand the key tools for coding, debugging, inspecting and - publishing code -
- Hands on: coding the counter +
- Pharo syntax +
- Pharo environment +
- Development tools: Playground, Inspector, System Browser +
- Live Debugger +
- Basics of object-oriented programming
Day 2: Crafting user interfaces
+Day 2: Testing and Good Practices
-During this day you will learn how to define user interfaces using - the Spec UI builder framework. We will also show you how to extend - tools to shape them to your own needs. We will also build a simple - web server in a couple of pages to revisit the Pharo syntax. You will - see how you can build nontrivial programs in an immersed way by - interacting with life objects.
+You will learn how to verify your application with unit tests. We will also teach you the practice of test-driven development (TDD) which means that you start by writing tests and then write the code to make them pass. Using the unique features of Pharo, you will learn a very powerful practice of extreme test-driven development, which means that you will write your code inside a debugger. You will also learn some advance practices of object-oriented programming such as design patterns, as well as the good practices from experienced Pharo developers.
-
-
- Simple tour of Spec -
- Build a little App with Spec todo App in 15 min -
- Tools are shaping your mind: Define your own tool. Extend the - environment Graph inspector -
- Revisit the syntax building a web server +
- Writing unit tests in Pharo +
- Test-driven development (TDD) +
- Extreme TDD +
- Design patterns +
- Good programming practices
Day 3: Scientific computing in Pharo
+Day 3: Building user interfaces with Spec
-During this day we will focus on scientific computing tools in Pharo - and explore their live object-oriented aspects. You will learn libraries - such as DataFrame, PolyMath, Pharo-AI, and Cormas. We will also show how - you can create live interactive data visualizations using - Roassal visualization engine.
+During this day, you will learn how to define user interfaces using + the Spec UI builder framework.
-
-
- Pharo for the scientists -
- Data analysis with Data Frame -
- Machine learning with Pharo-AI -
- TeaLight and machine learning: you will connect a web server to - machine learning -
- Agent-based modelling with Cormas -
- Using live visualization scripting of - Roassal to script interactive visualization +
- Introduction to Spec UI library +
- Basic presenters: buttons, checkboxes, dropdowns, etc. +
- Spec layouts +
- Dynamic UI +
- Testing Spec presenters
Day 4: Object-oriented Design and Software Engineering
+Day 4: Guided individual projects
-During this day you will rethink your OO understanding. At the end of - this day, you will not think or program object-oriented the same way. - Experts in object-oriented design will give you keys that will change - how you will code in any object-oriented language in the future. We - will also present advanced software engineering techniques. Finally, - we will show you how we can script VLC from Pharo using native - calls.
+We believe in learning by doing, which is why the last two days of our summer school are reserved for the individual projects. You will implement your own simple applications with user interface and we will guide you in this process.
-
-
- Rethink your OOP skills: Understand late binding for real -
- Advanced Tools: Automatic Rewriting, Refactorings, Finder -
- Scripting VLC from Pharo -
- Lapack binding: how to get the full power of Fortran libraries - but with the coolness of Pharo +
- Develop your own application +
- Create user interface for your app
Day 5: Code Analysis
+Day 5: Guided individual projects
-During this day we will present the - Moose is a powerful platform to define and apply - software analyses.
+In the morning, you will have some time to finish up your application and prepare a live demo. In the afternoon, you will present your app to the fellow students and get their feedback.
-
-
- You will define a meta-model to represent commits, files, - and authors -
- You will define specific visualizations in Roassal to display - information +
- Finishing up the project +
- Project demos (show your app to everyone!)