Learn object-oriented design with Pharo

Pharo is an amazing language and IDE from which you can learn object-oriented design as in any other language. Once you program in Pharo, you will never program the same way in any other object-oriented language.

Two free MOOCs (massive open online courses) take you from your first message send to advanced design.

Two MOOCs, one journey

Both MOOCs are free, self-paced on France Université Numérique, with quizzes to check your understanding. All slides and videos are also freely available on their websites.

Start here

Live Object Programming in Pharo

Whether you are a beginner or an expert in object-oriented programming, this MOOC will change the way you program with objects: come and learn or rediscover object-oriented programming with Pharo.

  • 7 weeks
  • Dubbed in English & French
  • Subtitles EN · FR · ES · JA
  • Quizzes & certificate

You will

  • learn how to program in Pharo and be immersed in a live environment,
  • understand polymorphism and late binding with a new vision,
  • discover coding idioms and design patterns that apply to any object-oriented language,
  • develop a web application with Pharo's web stack.

Visit the Pharo MOOC Enroll on FUN

Next level

Advanced Object-Oriented Design and Development with Pharo

Get to know and understand the key mechanisms and the essence of object-oriented design. We are sure that you will not develop the same way after following this unique lecture, built on more than 60 years of combined experience teaching object-oriented design.

  • 10 modules
  • Over 60 videos
  • English
  • Quizzes & Open Badge

Topics

  • Understanding messages
  • Test-Driven Design
  • Hooks: support for evolution
  • Objects: state and behavior
  • Elementary design patterns
  • Double dispatch
  • Object creation
  • Sharing objects
  • Inversion of control
  • About types

Design exercises range from little interpreters to games and quizzes.

Visit the Advanced Design MOOC Enroll on FUN

What learners say

Really one of the best mooc I have ever attended. And I have attended quite a few (openSAP, openHPI). As an old fashioned ABAP developer, I want to be reborn as Pharo developer in my next life :-)— Anonymous, Pharo MOOC
I love this course so much. I remember how difficult it was to understand OOD concepts in the early 2000s. […] It is so satisfying to see lecture after lecture explaining those object-oriented principles while refactoring examples. This is the course I wanted 24 years ago.— bambooer, Advanced OO Design MOOC
J'ai trouvé ça très intéressant, beaucoup plus que prévu ! je regrette de ne pas m'y être mis plus tôt. J'ai enfin l'impression de vraiment faire de la POO ! Ou à l'inverse je me rend que je n'en faisais pas vraiment...— Anonymous, Pharo MOOC, 2019
In my opinion, this MOOC is a must-learn for any developer using Object-Oriented Programming. It teaches the essential concepts common to most OOP languages in a concise and well-paced way.— Advanced OO Design MOOC
[…] 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.— Anonymous, Pharo MOOC
Thank you so much for giving me the rationales to finally understand the OOP paradigm after years of working with it using heuristics and half-understood notions. It feels like a new beginning for me.— Advanced OO Design MOOC

Why the Pharo programming language?

All the concepts you will learn are language independent and can be applied to any object-oriented language. We use Pharo because it is a pure object-oriented programming language.

Live objects

A unique development experience in constant interaction with live objects, with immediate feedback at any moment.

Elegant and powerful

Pharo is elegant, fun to use and very powerful, in the tradition of Smalltalk.

Easy to learn

It is very easy to learn and lets you understand advanced concepts in a natural way.

Used in industry

A very powerful open-source environment used by companies, for example to develop web applications.

Learning support

Free books

Pharo by Example, Learning Object-Oriented Programming, Design and TDD with Pharo, and many more on books.pharo.org.

Amazing tools

The code Finder, the Inspector, the Debugger and many other features of the Pharo IDE.

A friendly community

Join the Pharo Discord: there is a newbie help channel and people are friendly.

The partners

logo Inria logo Université de Lille logo IMT Nord Europe logo Unit