Cerciras Training School Plan and Program

Summer School Program

Live Immersive Programming with Pharo

Keywords: Reflective, OO design, IA, XTDD, Visualization, Scripting C libraries, Live coding, mastering your debugger

Day One: Pharo in One Day

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.

  1. Pharo for the scientists
  2. Discover and experience eXTreme Test-Driven Design
  3. Hands-on with ProfStef
  4. Understand the critical tools for coding, debugging, inspecting, and publishing code
  5. Handon: coding the counter

Day Two: Crafting user interfaces

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 make nontrivial programs immersed by interacting with life objects.

  • A 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 for building a web server

Day Three: IA with Pharo

During that day we will focus on AI and visualization. You will learn about DataFrame (how to grab, and collect data), train a model, and validate your results. We will show how you can understand your data and results using the Roassal scripting visualization engine available from http://agilevisualization.com.

  • Getting started with machine learning
  • TeaLight and machine learning: you will connect a web server to machine learning
  • Data Frame
  • Train a model
  • Validate a model
  • Using live visualization scripting of Roassal http://agilevisualization.com to script interactive visualization

Day Four: Object-oriented Design and Software Engineering

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.

  • 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

Day Five: Code Analysis

During this day we will present the Moose http://modularMoose.org is a powerful platform to define and apply software analyses.

  • You will define a meta-model to represent commits, files, and authors.
  • You will define specific visualizations in Roassal to display information.