Skip to content

pharo-mooc/LectureOutlines

Repository files navigation

Test Basic

  • M2-1 Test 101: The minimum you should know PDF / Video en

  • M2-2 Lecture Tests: Why testing is Important? PDF / Video en

Test TDD

  • M2-3 Lecture Test-Driven Development PDF / Video en

  • M2-5 Lecture Parametrized Tests: Getting more tests out of test cases PDF / Video en

Test XTDD

  • M2-4 Lecture Xtreme Test Driven Development: Getting a productivity boost PDF / Video en

Syntax one

Exercices

  • Live Live A: Selecting Expressions []

  • Live Live B: Prof Stef []

  • Live Live C: Syntax Highlighting gives Feedback

  • Live Live D: Learn Keyboard Shortcuts

  • Redo Redo 1: Packages, classes and methods

  • Redo Redo 2: Adding some unit tests

  • Redo Redo 3: Looking back at method creation

  • Redo Redo 4: Save your code with Iceberg

  • Redo Redo 5: Object initialization

  • Redo Redo 6: Better printing with printOn:

  • Redo Redo 7: Looking a commit history and changes with Iceberg

Exercise Expressions and Messages

Syntax: messages

Exercises

Blocks and more

IDE

Exercise

Essence of Dispatch

Streams and Iterators

  • Lecture Iterators PDF / Video

  • Lecture Stream Overview

  • Lecture Understanding Return

Collections

  • Lecture An Overview of Essential Collections

  • Lecture Variables

  • Lecture A Simple HTTP Application: a Pretext to Revisit Pharo Syntax

  • Lecture Class Methods PDF / Video en

Inheritance

  • Lecture Inheritance Basics PDF / Video en
  • Lecture Inheritance & Lookup: Lookup PDF / Video en
  • Lecture Inheritance & Lookup: Super PDF / Video en
  • Lecture Inheritance & Lookup: DoesNotUnderstand:

About delegation

  • Lecture Reification and delegation - A case study: Microdown in Pillar PDF / Video en

Metaclasses

  • Lecture Inheritance & Lookup: Lookup in Metaclasses
  • Lecture Class Methods at Work

Web

  • Overview of Pharo Web Stack
  • Lecture Seaside: an Innovative Web Application Framework
  • Lecture Seaside: Rendering Components
  • Lecture Seaside: a Glance at MetaData and REST
  • Lecture Voyage: NoSql Object Database

More on literal objects

  • Lecture Characters, Strings and Symbols
  • Lecture Dynamic Vs. Literal Arrays

Customizing Pharo

  • Live Live A: Customized tabs in the Inspector
  • Live Live B: Personalize your image startup

Hooks

  • Lecture Message sends are plans for reuse
  • Lecture Hooks and Templates

Step back

  • Really Understanding Class Methods
  • Lecture Common Errors
  • Lecture Powerful Exceptions: an Overview
  • Lecture Debugging in Pharo
  • Lecture Files in Pharo

Understanding Metaclasses

  • Lecture Understanding Metaclasses

Advanced points on Classes

  • Lecture Advanced Points on Classes
  • Lecture Variable Size Objects

Benchmark

  • Lecture Benchmarking in Pharo

Basic Reflection

  • Lecture Reflection: Basic Introspection

Reflective Operations

  • Lecture Reflective Operations for Live Programming
  • Lecture DoesNotUnderstand: a Precious Hook
  • Lecture Reflection: Stack as an Object

Essence of Dispatch

Design Pattern Introduction

  • Lecture An Introduction to Design Patterns PDF / Video en

Sends

  • Lecture Message Sends Are Plans for Reuse PDF / Video en

  • Lecture Hooks and Template: One of the Cornerstones of OOP PDF / Video en

  • Lecture Using Well asString and printString: A Pharo Code Idiom PDF / Video en

  • Lecture Global to Parameter PDF / Video en

  • Lecture Methods: The Elementary Unit of Reuse PDF / Video en

  • Lecture Objects vs. Data – An API Perspective Studying the Class Point PDF / Video en

  • Lecture About Global Variables PDF / Video en

  • Lecture Fat Classes Are Bad – A Large Class vs. a Class Hierarchy PDF / Video en

  • Lecture Singleton: A Highly Misunderstood Pattern PDF / Video en

  • Lecture Decorator Design Pattern PDF / Video en

  • Lecture Composite: A Nice and Common Design Pattern PDF / Video en

  • Lecture About State Design Pattern PDF / Video en

  • Lecture Command Design Pattern: Actions as Objects PDF / Video en

  • Lecture Application of Command Design Pattern PDF / Video en

  • Lecture Delegation vs. Inheritance PDF / Video en

  • Lecture Turning Procedures to Objects PDF / Video en

  • Lecture Blocks vs. Objects: Rethinking Common Abstractions PDF / Video en

  • Lecture Avoid Null Checks PDF / Video en

  • Lecture About Fluid API PDF / Video en

  • Lecture A Double Dispatch Starter: Stone Paper Scissors PDF / Video en

  • Lecture Double Dispatch: Does Not Have to Be Symmetrical PDF / Video en

  • Lecture A Die + a DieHandle: Practicing Dispatch More PDF / Video en

  • Lecture Visitor: Modular and Extensible First-Class Actions PDF / Video en

  • Lecture Some Discussions on Visitor PDF / Video en

  • Lecture Stone Paper Scissors: The Case of Results PDF / Video en

  • Lecture Double Dispatch: Adding Numbers as a Kata PDF / Video en

  • Lecture About Null Check: The Case of Lazy Initialization PDF / Video en

  • Lecture Customization Degree of Hooks: Class vs. Instance Hooks PDF / Video en

  • Lecture DieHandle new vs. self class new: When Classes Are First-Class Citizens PDF / Video en

  • Lecture Delegation of Actions and Accumulator: Form Validation as an Example PDF / Video en

  • Lecture Behavior Delegation at Work: The Case of the Class Printer PDF / Video en

  • Lecture Builder Design Pattern: Encapsulating Object Creation PDF / Video en

  • Lecture Builder API Variations PDF / Video en

  • Lecture Did You Really Understand Super? PDF / Video en

  • Lecture Shared Variables: A Pharo Code Idiom PDF / Video en

  • Lecture Sharing with Instance-Specific Possibilities PDF / Video en

  • Lecture Shared Pools: Static Sharing Between Hierarchies PDF / Video en

  • Lecture About Magic Literals PDF / Video en

  • Lecture Flyweight PDF / Video en

  • Lecture TypeObject PDF / Video en

  • Lecture A Variation on Sharing PDF / Video en

  • Lecture About Coupling and Encapsulation PDF / Video en

  • Lecture Class Methods at Work PDF / Video en

  • Lecture About Registration: When Class Method-Based Registration Is Too Much PDF / Video en

  • Lecture Application Settings: From a Monolithic to a Modular Architecture PDF / Video en

  • Lecture Learning from a Sokoban Implementation PDF / Video en

  • Lecture Class vs. Object-Oriented Programming PDF / Video en

  • Lecture The Two Interfaces: In Presence of Delta Programming PDF / Video en

  • Lecture Subclassing vs. Subtyping PDF / Video en

  • Lecture About Type and Method Lookup PDF / Video en

  • Lecture Polymorphic Objects: Support for Software Evolution PDF / Video en

  • Lecture About Defensive Programming PDF / Video en

About

This repository contains possible lecture outlines using https://mooc.pharo.org and https://advanced-design-mooc.pharo.org

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages