FUN

Programmation objet immersive en Pharo / Live Object Programming in Pharo (FUN)

Offered by INRIA,
Programmation objet immersive en Pharo / Live Object Programming in Pharo (FUN)

Que vous soyez un débutant ou un expert en programmation orientée objet, ce MOOC va changer votre façon de penser objet : venez apprendre ou redécouvrir la programmation objet avec Pharo ! 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 est un langage à objets pur, inspiré de Smalltalk, qui offre une expérience unique de développement en constante interaction avec des objets vivants. Pharo est élégant, fun à programmer et très puissant. Il est très facile à apprendre et permet de comprendre des concepts très avancés de façon naturelle. En programmant en Pharo vous êtes immergés dans un monde d'objets vivants. Vous modifiez en live sans cesse des objets qui peuvent représenter des applications web, du code lui-même, des graphismes, du réseau…

Pharo c’est aussi un environnement libre très productif utilisé par des entreprises pour le développement d’applications Web.
Ce Mooc débutera par une séquence bonus, facultative, dédiée aux Débutants pour présenter les bases de la programmation orientée objet.
Dans ce Mooc nous présenterons plus particulièrement la pile Web de Pharo qui a la particularité de changer la manière de construire des applications Web.
Nous allons également revisiter des concepts essentiels de la programmation en illustrant comment Pharo les utilise. Nous allons présenter des heuristiques et des Design Patterns pour mieux concevoir des applications objets. Ces concepts sont applicables dans n’importe quels langages objets.
Ce MOOC s’adresse aux personnes ayant une expérience en programmation, mais toute personne motivée pourra également suivre le cours grâce aux nombreuses ressources proposées. Ce MOOC intéressera également les enseignants d'informatique car Pharo est un bon outil pour enseigner la programmation orientée objet et ce cours sera l'occasion de discuter de points de conception objet (par exemple : polymorphisme, envoi de messages, self/super, design patterns).
A travers ce MOOC :

  • vous apprendrez à programmer en Pharo,
  • vous vous immergerez dans un environnement vivant et vivrez une expérience de programmation nouvelle,
  • vous développerez une application web pour mettre en oeuvre les différentes facettes de Pharo présentées dans le cours.

Ce MOOC apportera également une nouvelle vision des fondements même de la programmation objet que sont le polymorphisme et la liaison tardive.

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 Newbies to 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.

Plan du cours / Course Syllabus

Semaine 1 : Bienvenue à bord - Découverte de la syntaxe
Semaine 2 : Syntaxe Pharo, blocs et inspecteur
Semaine 3 : Conception, méthodes de classes et collections
Semaine 4 : Héritage & sélection de méthode (lookup) et développement web
Semaine 5 : Exception, débogage et réflexion
Semaine 6 : Retour sur le lookup et conception orientée objet avancée
Semaine 7 : Conception orientée objet et tests

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

Format
Les contenus du cours sont structurés en 7 semaines, mais notez que l'ensemble des contenus sera disponible dès l'ouverture du cours afin que vous puissiez choisir votre propre parcours de formation.
Cette session 4 est ouverte pour une durée d'un an (date de fin d'inscription 25 avril 2020). Cette ouverture 'permanente' vous permettra de suivre ce Mooc à votre rythme.
Chaque semaine est composée de séquences contenant une vidéo de cours de 6 à 10 minutes environ et de quiz, ainsi que des vidéos proposant des travaux pratiques ou des démonstrations de l’environnement immersif de programmation.
Ce cours est bilingue français / anglais. Les vidéos sont disponibles dans plusieurs versions : audio français sous-titrées en français, anglais, japonais et espagnol; audio anglais (voice over) sous-titrées en anglais, japonais et espagnol . Les supports de cours au format pdf (en anglais uniquement) sont fournis. Tous les autres contenus (quiz, textes explicatifs, etc.) sont proposés dans les deux langues.

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.
This 4th session is open for one year (registration deadline : April 25, 2020). This is a self-paced Mooc.
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.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Introduction to Open Source Application Development (Coursera) Coursera
Illinois Tech

Introduction to Open Source Application Development (Coursera)

This course introduces basic concepts of systems programming using a modern open source language. You will learn to apply basic programming concepts toward solving problems, writing pseudocode, working with and effectively using basic data types, abstract data types, control structures, code modularization and arrays. You will learn to detect errors, work with variables and loops, and discover how functions, methods, and operators work with different data types. You will also be introduced to the object paradigm including classes, inheritance, and polymorphism.

Sep 14th 2026
5-12 Weeks
Learn HTML and CSS (Coursera) Coursera
Scrimba

Learn HTML and CSS (Coursera)

This course is perfect if you want to learn how to code websites from scratch. You will learn the basics of HTML and CSS through interactive challenges. Along the way, you will build multiple projects, like a Google.com clone, a Space Exploration page, and a fun birthday site filled with GIFs. While most of the challenges are done in Scrimba's interactive editor, you will also learn how to use professional tools like VS Code for code editing, GitHub for hosting your code, and Netlify for deploying your projects to the world wide web.

Sep 14th 2026
5-12 Weeks
Écrivez votre premier programme avec Java (FUN) FUN
le cnam

Écrivez votre premier programme avec Java (FUN)

Le cours est une initiation aux bases de la programmation. Il vise à faire réaliser quelques programmes simples utilisant les instructions de base (if, boucles, tableaux). A travers cette réalisation, le but est de faire comprendre ce qu'est un programme applicatif et par quel processus il est créé. Il s'agit de comprendre ce qui se passe quand on clique sur une icône.

No sessions available
5-12 Weeks
Introduction to Software, Programming, and Databases (Coursera) Coursera
IBM

Introduction to Software, Programming, and Databases (Coursera)

There are many types of software and understanding software can be overwhelming. This course aims to help you understand more about the types of software and how to manage software from an information technology (IT) perspective. This course will help you understand the basics of software, cloud computing, web browsers, development and concepts of software, programming languages, and database basics.

Sep 14th 2026
5-12 Weeks
Kotlin for Java Developers (Coursera) Coursera
JetBrains

Kotlin for Java Developers (Coursera)

The Kotlin programming language is a modern language that gives you more power for your everyday tasks. Kotlin is concise, safe, pragmatic, and focused on interoperability with Java code. It can be used almost everywhere Java is used today: for server-side development, Android apps, and much more. This course aims to share with you the power and the beauty of Kotlin.

Sep 14th 2026
5-12 Weeks
Programming and Application Foundations (Coursera) Coursera
Illinois Tech

Programming and Application Foundations (Coursera)

This course introduces the students to the creation and deployment of modern, standards-compliant web pages written in HTML, CSS, and JavaScript in the context of the client-server architecture of the web. The course also covers the fundamentals of programming in a modern programming language, basic data modeling, database design, implementation, and administration of single-user and shared multi-user database applications using a contemporary relational database management system.

Sep 14th 2026
5-12 Weeks
An Introduction to Interactive Programming in Python (Part 1) (Coursera) Coursera
Rice University

An Introduction to Interactive Programming in Python (Part 1) (Coursera)

This two-part course is designed to help students with very little or no computing background learn the basics of building simple interactive applications. Our language of choice, Python, is an easy-to learn, high-level computer language that is used in many of the computational courses offered on Coursera. To make learning Python easy, we have developed a new browser-based programming environment that makes developing interactive applications in Python simple.

Sep 7th 2026
5-12 Weeks
Learn Imba (Coursera) Coursera
Scrimba

Learn Imba (Coursera)

In this class, you'll dive into Imba, the programming language used to build scrimba.com. Imba, a compile-to-JavaScript language, packs a punch with nifty features for whipping up web apps, including built-in tags and styles. We'll cover the ABCs of Imba syntax and work on creating a Dopamine Box app. By the finish line, you'll be armed with the skills to construct your very own web app UI using Imba.

Sep 14th 2026
1 Week
Introduction à HTML5 - Animations et jeux (FUN) FUN
INSA

Introduction à HTML5 - Animations et jeux (FUN)

Vous avez envie de développer des animations ou des petits jeux pour le web, mais sans trop savoir comment vous y prendre ; vous avez peut-être entendu parler d'HTML5, mais vous n'avez pas de connaissance particulière des langages web. En revanche, vous avez quelques notions d'algorithmique et peut-être que vous programmez déjà un peu. Ce MOOC est pour vous. Mais si vous avez déjà une expérience de développement web, ce MOOC vous intéressera également, car il vous propose de découvrir quelques unes des nouveautés introduites par HTML5 et de les mettre en oeuvre de façon efficace sur un projet d'animation ou de jeu.

No sessions available
5-12 Weeks
COBOL Programming with VSCode (Coursera) Coursera
IBM

COBOL Programming with VSCode (Coursera)

Professor Tak Auyeung of American River College, said it beautifully, “A programming language is not a fashion statement” it is used for a purpose. Whether it is to add new features, modify logic, create APIs to integrate it into other applications, or implement modern development practices, businesses around the world need application developers who know COBOL.

Sep 14th 2026
3 Weeks