Skip to main content
FUN MOOC
  • FAQ
  • Home
  • News
  • Courses
  • GRADEO
  • Diplômes
  • Organizations
  • You are here:
  • Home
  • Courses
  • Live Object Programming in Pharo
  • Archived on 2021-04-12 15:52:45

Live Object Programming in Pharo 5.2 (Archive)

Ref. 41010
CategoryComputer science and programmingCategoryDigital and technology
  • Duration: 7 weeks
  • Effort: 39 hours
  • Pace: ~5h30/week
No open course runs
Archived on 04/12/2021
Go to current version

Description

This course is fully dubbed in french and english
Subtitles in french 🇫🇷, english 🇬🇧, spanish 🇪🇸 and japanese 🇯🇵

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…

Pharo is also a very powerful open-source environment used by companies to develop web applications.

This Mooc will start with a special, optional, sequence for Newbiesto introduce the basics on object-oriented programming.

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.

Format

The course contents are structured around 7 weeks, however all the contents will be available from the opening of the MOOC. Some more weeks of work are available before the course ends.
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. Lectures videos are available in different versions: french audio with french, english, spanish, japanese subtitles; english audio (voice-over) with english, spanish and japanese subtitles. Pdf course documents (in english only) will be available. All other materials (quizzes, explanation texts…) will be offered in both languages.

Prerequisites

A first experience in object-oriented programming is better.

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.

Assessment and certification

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.

Course plan

  • Week 1 : Welcome on Board and Syntax Discovery
  • Week 2 : Pharo Syntax, Blocks and Inspector
  • Week 3 : Design, Class Methods and Collections
  • Week 4 : Inheritance & Lookup and Web Development
  • Week 5 : Exception, Debugging and Reflection
  • Week 6 : Rethink Lookup and Advanced Object-Oriented Design
  • Week 7 : More on Object-Oriented Design and Testing

Course runs

Archived

  • From May 2, 2016 to June 20, 2016
  • From Oct. 16, 2017 to Jan. 31, 2018
  • From Oct. 8, 2018 to Jan. 20, 2019
  • From May 6, 2019 to Dec. 20, 2020

Course team

Damien Cassou

Categories

Damien Cassou received his PhD degree in Computer Science from the University of Bordeaux, France.

Stéphane Ducasse

Categories

Stéphane Ducasse is director of research at Inria. He leads the RMoD team.

Luc Fabresse

Categories

Luc Fabresse received his PhD in computer science in 2007 from the University of Montpellier 2, France.

Organizations

Inria

Recommended Reading

Every reading about object-oriented programming will help you get ready for this course. The book Pharo by Example  available for free, will serve as a supplementary document during the course. Other ressources about Pharo (in english) are available here.

License

License for the course content

Attribution-NonCommercial

You are free to:

  • Share — copy and redistribute the material in any medium or format
  • Adapt — remix, transform, and build upon the material

Under the following terms:

  • Attribution — You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
  • NonCommercial — You may not use the material for commercial purposes.

License for the content created by course participants

Attribution-NonCommercial

You are free to:

  • Share — copy and redistribute the material in any medium or format
  • Adapt — remix, transform, and build upon the material

Under the following terms:

  • Attribution — You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
  • NonCommercial — You may not use the material for commercial purposes.
FacebookTwitterLinkedin

Learn more

  • Help and contact
  • About FUN
  • Legal
  • Privacy policy
  • User's charter
  • General Terms and Conditions of Use
  • Sitemap
  • Cookie management
Powered by Richie