| CARVIEW |
The Pharo MOOC
Presequel: Basics on OOP
This MOOC includes some presequel videos and slides about Object-oriented Programming (OOP) for newbies French version and English version.Join the 2020 Mooc run With Pharo 8.0
Fourth run started 9th of November 2020. Join, have fun and learn (check the testimonies below). This new version of the Mooc uses Pharo 8.0, github, and comes with 70 new videos. In addition new versions of the dubs videos are available. (cf. download)April 2019
For its third run, the Pharo Mooc got more than 3200 participants with around 500 active learners from more than 100 countries with 181 participants that obtained the attestation by answering quiz.We would like want to thanks our sponsors: Unit, Unisciel, and the LearningLab of Inria.
February 2018
For its second run, the Pharo Mooc got more than 2500 participants with around 500 active learners from 92 countries with 176 participants that finished it.We would like want to thanks our sponsors: Unit, Unisciel, and the LearningLab of Inria.
Testimonies
This Mooc is demanding but rewarding - check below what the participants are saying :) Thank you for these messages, they boost us!About this course
If you are either 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!
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. More…
Pharo is also a very powerful open-source environment used by companies to develop web applications.
In this MOOC, we will present more specifically Pharo’s Web stack which changes the way you build web applications.
In addition we will present fundamental programming concepts and how Pharo uses them. We will 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. This MOOC will also have 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).
Throughout this MOOC you will :
- learn how to program in Pharo,
- be immersed in a live environment and live a new programming experience,
- develop a web application to apply the different aspects of Pharo presented in the course.
This MOOC will also provide a new vision of the fundamental principles of object-oriented programming, i.e. polymorphism and late binding.
This course lasts 7 weeks.
Each week is composed of several sequences containing a video lecture, quizzes and other videos proposing application exercises and programming demonstrations.
This course is proposed in french and in english. Videos are in french with french and english subtitles. Pdf course documents (in english only) will be available. All other materials (quizzes, explanation texts…) will be offered in both languages.
Obtaining the MOOC
You can follow the MOOC during the next session on France Université Numérique because you will be able to discuss with other learners.
Join the discord channel mooc on the Pharo community (Invitation at https://discord.gg/QewZMZa)
But, you can also access all resources of this MOOC offline on:
How to follow this MOOC?
We propose five profiles to follow this MOOC at different speed and levels. The Mooc sequences will be tagged according to these profiles. The profiles are not exclusive: to become a pharo expert you need to start as a newbie and grow up. Of course, you can also follow the full MOOC.- 🐥 Total newbies [Newbies] Focus on the beginning of the lectures, you can skip the Seaside/Mongo and tinyBlog exercises. Follow 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 web development, we suggest to get started with the syntax (since we really love this lecture you should really watch the not implementation and sequels), then look at Seaside/Mongo combo. From the exercise stand point, focus on tinychat and tinyblog.
- 🎁 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. You may drop the Web and the Black Magic parts if you are in a hurry.
- 🔮 Looking for Black Magic [Magic] If you are interesting 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, these lectures require almost everything except the Web part.
Download & Install Pharo for this MOOC
During this MOOC, we assume that you use the PharoWeb image in a specific version (currently Pharo 8.0). To install this version, we recommand using the PharoLauncher as described below.