Sites Inria

Version française

Massive Open Online Course

5/04/2016

Pharo: a MOOC to unite an ecosystem

According to Stéphane Ducasse, Pharo is the best language to learn and understand Object-Oriented Programming. With two other researchers, he revisited 10 years of teaching in a MOOC, which will soon be available on the FUN platform.

To present their MOOC (Massive Open Online Course), Stéphane Ducasse, Head of the Rmod project-team at Inria Lille – North Europe (common with the University of Lille 1*), Damien Cassou researcher from the team, and Luc Fabresse from the Ecole des  Mines de Douai (Douai Engineering School), took part in the teaser exercise. Standing in front of the camera, speaking rapidly and sporting a winning smile, the three researchers present the objectives of this 7-week session, available free of charge as from 2 May on the platform of France Université Numérique (FUN). 70 video clips of 6 to 18 minutes, in French and English, exercises, quizzes, MCQs, models to be replicated: they have spent more than a year to design this session aimed at teaching the Pharo language. Their objective is ambitious: "we would like to encourage those who follow this course, even experienced programmers, to ask critical questions on Object-Oriented Programming", explains Stéphane Ducasse. And he is confident Pharo can achieve this.

Collaboration with the Inria Mooc Lab

Stéphane Ducasse

For the conduct of this session, the researchers got the support of Inria's Mooc Lab, in particular for technical aspects. The institution has been highly committed to the development of this new learning method since 2013 and has contributed to the development of the FUN platform. The format, running order as well as sequencing were determined following lengthy meetings and discussions. This exercise proved a challenge for researchers used to imparting their knowledge in front of a responsive audience. "We do not have any direct feedback, no expression in front of us: we are standing looking at a green circle, not sure how to position ourselves, what intonation to adopt. And then, he adds, smiling, we can't feel our audience, crack jokes or indeed swear."

Pharo: an "immersive" language

"This language has excellent educational attributes, he explains, since its syntax can fit on the back of a postcard where others can extend over several pages." Gone therefore is the highly tedious phase of learning the "grammar", to the delight of teachers: "if I was teaching poetry, I wouldn't have to teach the dictionary, says Stéphane Ducasse happily. With Pharo, it's the same: in the class, we can focus on real questions, go into the fundamentals of this subject of Object-Oriented Programming. I personally think that this is the reason why students who know Pharo are often better in object-oriented design." With this language you can immediately see the result of your work and so it is easier to correct any mistakes. This is why it is called "immersive".

We would like to encourage those who follow this course, even experienced programmers, to ask critical questions on Object-Oriented Programming

A scalable training

Learners can follow a "multi-level" MOOC depending on their objectives.   Thus, they will have a common core part as well as a technological pile dedicated to the web and videos focused on the development of dynamic web applications. "We have designed the sequences in a non-linear manner, in spirals. We are teaching this language for a very long time and we know precisely where the main difficulties lie. So when we introduce a complex aspect, we go back a few videos before, approaching it from a different angle. We know that sometimes students feel they have understood something but when the problem is defined differently, they realise that they do not really understand it."

A tool to unite a community

The challenge, for the designers of a MOOC, is to ensure that learners do not drop out before the end of a session. The completion rate is only 13%* on average. "At the end of each video, in each exercise presentation, we give an overview of what will follow to create some suspense", they explain. But Stéphane Ducasse's objective is also to get a community to grow and live around Pharo. There are currently about fifteen research teams using this language, including the Rmod project-team at Inria Lille - North Europe. It is taught in some thirty establishments across the world (Chile, Argentina, Russia, Ukraine, as well as some African countries). "The objective was also to create teaching materials which can be used by teachers. All videos designed by us as well as all related documents will be in Creative Commons and available on the Uniciel network."

We don't want the Pharo language to be restricted to the academic world: given that it is simple and streamlined, it can be used to create effective solutions and robust systems.

Applications in the business world

With his team, he hopes to contribute to stimulating an ecosystem made up of teams of researchers, teachers as well as enterprises. "We don't want the Pharo language to be restricted to the academic world: given that it is simple and streamlined, it can be used to create effective solutions and robust systems.” Moreover, Pharo offers a range of very powerful and compact tools for development. Several companies have already chosen to use this language in open source.

Pharo: some success stories

Yesplan

This company uses Pharo to set up resource management and coordination systems, for example for the management of music or opera festivals.

QUUVE

To create its applications, the company which specialises in the analysis of data from financial markets has chosen to use Pharo.

DrGeo

This tool designed for learning geometry was developed using Pharo.  It has been downloaded 180,000 times.

Pharocloud 

With this tool, programmers can find simple and easy solutions to create web applications with Pharo.

*1 within the UMR 9189 CNRS-Centrale Lille-Université Lille1, CRIStAL.

*2 according to a study conducted by France Stratégie.

Keywords: Object-Oriented Programming Mooc Lab Inria Rmod Project-team Programming language Pharo MOOC

Top