[{"data":1,"prerenderedAt":439},["ShallowReactive",2],{"navigation-en":3,"mooc-pharo-programming-en":222},[4,96,126,130,196,200,204,214,218],{"title":5,"path":6,"stem":7,"children":8},"Blog","/blog","blog",[9,12,16,20,24,28,32,36,40,44,48,52,56,60,64,68,72,76,80,84,88,92],{"title":10,"path":6,"stem":11},"News","blog/index",{"title":13,"path":14,"stem":15},"100 000+ people registered to Inria's MOOCs on FUN","/blog/100000-mooc-users","blog/100000-mooc-users",{"title":17,"path":18,"stem":19},"AI in education : A Mooc and learning resources for teachers","/blog/ai4t","blog/ai4t",{"title":21,"path":22,"stem":23},"MOOC \"Binaural hearing for robots\"","/blog/binaural","blog/binaural",{"title":25,"path":26,"stem":27},"MOOC \"Bioinformatics: genomes and algorithms\"","/blog/bioinfo","blog/bioinfo",{"title":29,"path":30,"stem":31},"MOOC \"Code-based Cryptography\"","/blog/crypto","blog/crypto",{"title":33,"path":34,"stem":35},"[Infographic] MOOC Code-Based Cryptography 2","/blog/crypto-2-infographic","blog/crypto-2-infographic",{"title":37,"path":38,"stem":39},"MOOC Environmental impacts of digital technologies","/blog/impact-num","blog/impact-num",{"title":41,"path":42,"stem":43},"Mooc \"Internet Measurements: a Hands-on Introduction\"","/blog/int-measure","blog/int-measure",{"title":45,"path":46,"stem":47},"[Infographic] MOOC Internet Measurements","/blog/int-measure-infographie","blog/int-measure-infographie",{"title":49,"path":50,"stem":51},"MOOC Introduction to a Web of Linked Data","/blog/introduction-to-a-web-of-linked-data","blog/introduction-to-a-web-of-linked-data",{"title":53,"path":54,"stem":55},"MOOC \"Internet of Things with Microcontrollers: a hands-on course\"","/blog/iot","blog/iot",{"title":57,"path":58,"stem":59},"MOOC \"Mobile Robots and Autonomous Vehicles\"","/blog/mob-robots","blog/mob-robots",{"title":61,"path":62,"stem":63},"[Infographic] MOOC Mobile Robots 2","/blog/mob-robots-2-infographic","blog/mob-robots-2-infographic",{"title":65,"path":66,"stem":67},"MOOC \"Introduction to functional programming in OCaml\"","/blog/ocaml","blog/ocaml",{"title":69,"path":70,"stem":71},"MOOC «Live Object Programming in Pharo» : new edition based on Pharo v8.0 !","/blog/pharo-8","blog/pharo-8",{"title":73,"path":74,"stem":75},"[Infographic] Pharo MOOC through figures","/blog/pharo-infographie","blog/pharo-infographie",{"title":77,"path":78,"stem":79},"Mooc Reproducible research: new self-paced session from March 20, 2020!","/blog/rr","blog/rr",{"title":81,"path":82,"stem":83},"Reproducible Research II","/blog/rr2","blog/rr2",{"title":85,"path":86,"stem":87},"Mooc Smart cities: Take up the challenges of cities in the digital era.","/blog/smart-cities","blog/smart-cities",{"title":89,"path":90,"stem":91},"MOOC Teaching Digital Sciences and Technology","/blog/snt","blog/snt",{"title":93,"path":94,"stem":95},"ePoc release: Fundamentals of Manipulation Robotics","/blog/sortie-epocrobotique","blog/sortie-ePocRobotique",{"title":97,"path":98,"stem":99,"children":100},"All our ePocs","/epocs","epocs/1.index",[101,102,106,110,114,118,122],{"title":97,"path":98,"stem":99},{"title":103,"path":104,"stem":105},"Internet des objets et vie privée","/epocs/internet-des-objets-et-vie-privee","epocs/Internet-des-objets-et-vie-privee",{"title":107,"path":108,"stem":109},"Produire mon 1er ePoc","/epocs/produire-mon-premier-epoc","epocs/Produire-mon-premier-epoc",{"title":111,"path":112,"stem":113},"Smartphone et vie privée","/epocs/smartphone-et-vie-privee","epocs/Smartphone-et-vie-privee",{"title":115,"path":116,"stem":117},"Le smartphone et la planète","/epocs/smartphone-planete","epocs/Smartphone-planete",{"title":119,"path":120,"stem":121},"B.A.-BA des data","/epocs/babadata","epocs/babadata",{"title":123,"path":124,"stem":125},"C'est quoi l'IA ?","/epocs/c-est-quoi-ia","epocs/c-est-quoi-ia",{"title":127,"path":128,"stem":129},"","/","index",{"title":131,"path":132,"stem":133,"children":134},"All of our MOOCs","/moocs","moocs/1.index",[135,136,140,144,148,152,156,160,164,168,172,176,180,184,188,192],{"title":131,"path":132,"stem":133},{"title":137,"path":138,"stem":139},"Advanced object oriented design and development with Pharo","/moocs/advanced-ood","moocs/advanced-ood",{"title":141,"path":142,"stem":143},"Binaural hearing for robots","/moocs/binauralhearing","moocs/binauralhearing",{"title":145,"path":146,"stem":147},"Bioinformatics, Genomes and Algorithms","/moocs/bioinfo-en","moocs/bioinfo-en",{"title":149,"path":150,"stem":151},"Code-based Cryptography","/moocs/cryptography","moocs/cryptography",{"title":153,"path":154,"stem":155},"Environmental impacts of digital technologies","/moocs/impactnum","moocs/impactnum",{"title":157,"path":158,"stem":159},"Internet Measurements - A Hands-on Introduction","/moocs/internetmesure","moocs/internetmesure",{"title":161,"path":162,"stem":163},"Internet of Things with Microcontrollers: a hands-on course","/moocs/iotmicrocontroleur","moocs/iotmicrocontroleur",{"title":165,"path":166,"stem":167},"Mobile Robots and Autonomous Vehicles","/moocs/mob-robots","moocs/mob-robots",{"title":169,"path":170,"stem":171},"Live Object Programming in Pharo","/moocs/pharo-programming","moocs/pharo-programming",{"title":173,"path":174,"stem":175},"Machine learning in Python with scikit-learn","/moocs/pythonsckitlearn","moocs/pythonsckitlearn",{"title":177,"path":178,"stem":179},"Reproducible research - methodological principles for transparent science","/moocs/recherchereproductible","moocs/recherchereproductible",{"title":181,"path":182,"stem":183},"Reproducible Research II - Practices and tools for managing computations and data","/moocs/rr2","moocs/rr2",{"title":185,"path":186,"stem":187},"Technological challenges of participatory smart cities","/moocs/smartcitychallenge","moocs/smartcitychallenge",{"title":189,"path":190,"stem":191},"Nom du MOOC","/moocs/template","moocs/template",{"title":193,"path":194,"stem":195},"Introduction to a Web of Linked Data","/moocs/weblinkdata","moocs/weblinkdata",{"title":197,"path":198,"stem":199},"Privacy Policy","/privacy","privacy",{"title":201,"path":202,"stem":203},"All our productions","/productions","productions",{"title":205,"path":206,"stem":207,"children":208},"Our serious games","/serious-games","serious-games/1.index",[209,210],{"title":205,"path":206,"stem":207},{"title":211,"path":212,"stem":213},"Phone Impact","/serious-games/phone-impact","serious-games/phone-impact",{"title":215,"path":216,"stem":217},"Inria Learning Lab","/team","team",{"title":219,"path":220,"stem":221},"Legal Notice","/terms","terms",{"id":223,"title":169,"assesment":224,"body":225,"date":421,"description":422,"draft":423,"extension":424,"image":425,"investment":426,"lang":427,"licence":430,"meta":431,"navigation":432,"path":170,"seo":433,"status":434,"stem":171,"trailer":435,"type":436,"url":437,"__hash__":438},"moocs_en/moocs/pharo-programming.md","Open Badge",{"type":226,"value":227,"toc":412},"minimark",[228,233,237,240,243,246,249,252,255,259,262,272,275,279,290,294,339,343,346,377,381],[229,230,232],"h2",{"id":231},"course-description","Course description",[234,235,236],"p",{},"This course is fully dubbed in french and english\nSubtitles in french 🇫🇷, english 🇬🇧, spanish 🇪🇸 and japanese 🇯🇵",[234,238,239],{},"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…",[234,241,242],{},"Pharo is also a very powerful open-source environment used by companies to develop web applications.",[234,244,245],{},"Throughout this MOOC you will be immersed in a live environment and live a new programming experience.",[234,247,248],{},"This MOOC will start with a special, optional, sequence for Newbies to introduce the basics on object-oriented programming.\nAll along this MOOC, we present more specifically Pharo’s Web stack which changes the way you build web applications.\nIn 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.",[234,250,251],{},"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).",[234,253,254],{},"This MOOC will also provide a new vision of the fundamental principles of object-oriented programming, i.e. polymorphism and late binding.",[229,256,258],{"id":257},"course-objectives","Course objectives",[234,260,261],{},"At the end of this course, you will be able to:",[263,264,265,269],"ul",{},[266,267,268],"li",{},"to program in Pharo,",[266,270,271],{},"to develop a web application to apply the different aspects of Pharo.",[234,273,274],{},"Testimony of a participant\n\"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.\"",[229,276,278],{"id":277},"who-is-this-course-for","Who is this course for?",[263,280,281,284,287],{},[266,282,283],{},"Students, beginners and experienced developers",[266,285,286],{},"IT teachers",[266,288,289],{},"Anyone interested in agile methods",[229,291,293],{"id":292},"course-outline","Course outline",[263,295,296,303,309,315,321,327,333],{},[266,297,298,299],{},"Module 1: ",[300,301,302],"strong",{},"Welcome on Board and Syntax Discovery",[266,304,305,306],{},"Module 2: ",[300,307,308],{},"Pharo Syntax, Blocks and Inspector",[266,310,311,312],{},"Module 3: ",[300,313,314],{},"Design, Class Methods and Collections",[266,316,317,318],{},"Module 4: ",[300,319,320],{},"Inheritance & Lookup and Web Development",[266,322,323,324],{},"Module 5: ",[300,325,326],{},"Exception, Debugging and Reflection",[266,328,329,330],{},"Module 6: ",[300,331,332],{},"Rethink Lookup and Advanced Object-Oriented Design",[266,334,335,336],{},"Module 7: ",[300,337,338],{},"More on Object-Oriented Design and Testing",[229,340,342],{"id":341},"pedagogical-team","Pedagogical team",[234,344,345],{},"Authors:",[263,347,348,354,360,366,372],{},[266,349,350,353],{},[300,351,352],{},"Stéphane Ducasse",", Research director, University of Lille, Inria",[266,355,356,359],{},[300,357,358],{},"Damien Cassou",", software developer, University of Lille, Företagsplatsen",[266,361,362,365],{},[300,363,364],{},"Luc Fabresse",", Professor, University of Lille - IMT Nord Europe, Inria\nPedagogical support:",[266,367,368,371],{},[300,369,370],{},"Marie Collin",", Learning Designer, Inria Learning Lab",[266,373,374,371],{},[300,375,376],{},"Isabelle Collignon",[229,378,380],{"id":379},"additional-resources","Additional resources",[263,382,383,392,399,405],{},[266,384,385],{},[386,387,391],"a",{"href":388,"rel":389},"https://www.youtube.com/playlist?list=PL2okA_2qDJ-kCHVcNXdO5wsUZJCY31zwf",[390],"nofollow","YouTube playlist of MOOC Pharo videos",[266,393,394],{},[386,395,398],{"href":396,"rel":397},"https://mooc.pharo.org",[390],"Pharo MOOC videos & slides",[266,400,401],{},[386,402,404],{"href":403},"hhttps://github.com/pharo-mooc","Pharo MOOC on github",[266,406,407],{},[386,408,411],{"href":409,"rel":410},"https://discord.gg/QewZMZa",[390],"Pharo Discord Channel",{"title":127,"searchDepth":413,"depth":413,"links":414},2,[415,416,417,418,419,420],{"id":231,"depth":413,"text":232},{"id":257,"depth":413,"text":258},{"id":277,"depth":413,"text":278},{"id":292,"depth":413,"text":293},{"id":341,"depth":413,"text":342},{"id":379,"depth":413,"text":380},"2020-11-09","Learn or rediscover object-oriented programming with Pharo and change the way you program with objects!",false,"md","/images/mooc/ppharoprogramming.png","40 hours",[428,429],"en","fr","CC BY NC",{},true,{"title":169,"description":422},"open","https://www.youtube.com/embed/-z83bmzRATM?si=GaYz9kAKVJWLrGOw",null,"https://www.fun-mooc.fr/en/courses/live-object-programming-pharo/","0mPOOrKTPMmEMsnIpKXacTU-GusUTJCB_bgexwGwnDk",1775223071305]