At the end of this course, you will be able to:
Testimony of a participant
"I have just completed week seven of the Pharo Mooc (beginner and object oriented tracks) I am starting a redo of the Mooc with the web track (TinyBlog project). I have already learned so much ! I have spent the last 20 years or so in software development and, following this Mooc, I realized I hadn’t really grasped the essence of object oriented design."
This course is fully dubbed in french and english
Subtitles in french 🇫🇷, english 🇬🇧, spanish 🇪🇸 and japanese 🇯🇵
Pharo is a pure object-oriented programming language in the tradition of Smalltalk. It offers a unique developing experience in constant interaction with live objects. Pharo is elegant, fun to use and very powerful. It is very easy to learn and enables to understand advanced concept in a natural way. When programming in Pharo, you are immersed in a world of live objects. You have immediate feedback at any moment of your development on objects representing web applications, code itself, graphics, network…
Pharo is also a very powerful open-source environment used by companies to develop web applications.
Throughout this MOOC you will be immersed in a live environment and live a new programming experience.
This Mooc will start with a special, optional, sequence for Newbiesto introduce the basics on object-oriented programming.
All along this MOOC, we present more specifically Pharo’s Web stack which changes the way you build web applications.
In addition we present fundamental programming concepts and how Pharo uses them. We present some coding idioms and Design Patterns to better design object-oriented applications. Such concepts can be applied to any object-oriented programming language.
This MOOC is intended for people with a programming experience but everyone motivated could follow the course thanks to the numerous resources proposed. it also has an interest for computer programming teachers: Pharo is a good teaching tool for object-oriented programming and the course will discuss object-oriented design principles (e.g. polymorphism, message sending, self/super, design patterns).
This MOOC will also provide a new vision of the fundamental principles of object-oriented programming, i.e. polymorphism and late binding.
The course contents are structured around 7 weeks, however all the contents are available for a period of one year from the opening of the MOOC. So you can follow the different learning paths at your own pace.
Each week is composed of several sequences containing a 6 to 10 minutes video lecture, quizzes and application exercises or programming demonstrations through video tutorials.
The course is offered in French and English. The videos, in French or English, are subtitled in French, English, and also in Japanese and Spanish. Quizzes and explanation texts are available in French or English. The course materials (pdf format) are provided in English only.
Profiles and learning paths
We propose five profiles to follow this MOOC at different speed and levels. The profiles are not exclusive: to become a Pharo expert you need to start as a newbie and grow up.
Total newbies [🐥 newbie]
Focus on the beginning of the lectures and follow until the end of the Mooc but without trying to understand everything. Take it easy and spend time understanding that the system is written in itself. Focus on the navigation tools (senders and implementors).
Looking for Web [🌐 web]
For those that focus on the web, we suggest to get started with the syntax.
Refresh your OO perspective [🎁 oo]
If you want to rethink your OO perspective, pay attention that even Pharo essential libraries such as Booleans or collections are plain objects. Yes you send a message to a collection to perform a loop. Yes you send a message to a Boolean to perform a conditional.
Wanna be a Pharo expert [🌶 Xpert]
Well it means that you should have a look at everything and that you may drop the web part if you are in a hurry.
Looking for Black Magic [🔮 magic]
If you are interested by really advanced notions close to black magic ;-) It explains things such as reflection, meta-classes, meta-programming, etc... that makes Pharo a unique OO language. Of course, you must already know OO and be a Pharo expert.
A first experience in object-oriented programming is better.
Install the specific version of Pharo for the MOOC
Go to this webpage and follow the instructions.
An attestation of achievement will be delivered, every 3 month, to the participants who will have obtained the minimal score required. The evaluation is based on the quizzes which have to be done each week.
Follow us and Mooc news on: @InriaLearnLab #MoocPharo
You are free to:
Under the following terms:
You are free to:
Under the following terms: