User:SenTalker/MySandBox

This will be my sandbox to try out new ideas. When they are ripe enough, I'll move them --SenTalker (discuss • contribs) 16:48, 25 October 2012 (UTC)

Titles

 * Smalltalk the fun way
 * Learn Smalltalk the fun way
 * Fun with Smalltalk
 * Smalltalk with fun
 * Smalltalk is fun
 * Smalltalk through Games

Audience? Pre-requisites? Prior knowledge?

 * Somebody new to programming?
 * Sobebody new to OOP?

Motivation for this book

 * Learn programming, in a fun, challenging way
 * Learn to implement challenging, educative games
 * Learn to use this for a school class

Introduction to programming

 * => Pharo by example? Pharo open book?
 * Programming is like cooking
 * Computers make no mistakes


 * Download Pharo
 * Open Pharo
 * Open Workspace
 * Type in some commands
 * Use do-it
 * Use print-it

Object-oriented Programming
Object oriented programming? What does this mean?

Let's split this term in to:
 * object-oriented
 * programming

Programming
Programming is like cooking

What is an object?
When we programm in an object-oriented way, we deal with objects. What are "objects" exactly?

The definition of "objects" in the context of programming is much broader than in the "real world".

In the real world you would have no problem to identify these as objects:


 * a computer
 * a car
 * a book
 * a guitar
 * a banana

It is very easy for us to think about them as objects. You can see them, they have a position in space, you can use them.

What about living things? Are they objects also? For example:


 * an elephant
 * bacteria
 * your parents
 * a movie star
 * yourself (?!)

Are these also objects? Yes, they are. Don't be confused and think that we are treating persons with disrespect by calling them "objects". As you will see soon, it's pretty much the other way around: we will be treating objects like persons!

To this point you probably had little to no difficulty for recognizing these as real objects. However, in the object-oriented world there are many less-obvious cases. Things that you would conceptually recognize, but hardly smell, feel, touch or even see.

Pieces of information are also objects:


 * today's temperature
 * the current year
 * the name of your first teacher
 * the price of a cinema ticket
 * your age

You might think it is strange to talk about these as "objects". Well, it get's better than that.

In the object-oriented world we can deal with very abstract concepts and still call them "objects".

Here are some examples to broaden your mind:


 * the Internet
 * a music concert
 * the night
 * the color red
 * the number 3
 * thruthness

At this point you might be confused. Don't worry, there is only one thing to remember. In the object-oriented world: everything is an object.

Introduction to Smalltalk
=> Pharo by example? Pharo open book? What makes Smalltalk special The Idea / Goals Designed to be "person" friendly Designed with personal-computing in mind Understandable Explorable Modificable The System Live objects sending messages The Environment The Tools The Language

Introduction to the Pharo environment
=> Pharo by example? Pharo open book? Story of Squeak, Pharo Direction of Pharo Pharo's present and future The tools in the Pharo environment Loading stuff

Getting started with TiledMorph
What is TiledMorph? Description Some examples Installing Overview of the classes

Number-guess, the fun way
Introduction The "classic" way Text-based The fun way