Teaching Ruby Helping Jake and Jane learn to program Bruce Scharlau.

Post on 29-Mar-2015

217 views 3 download

Tags:

transcript

Teaching RubyHelping Jake and Jane learn to program

Bruce Scharlau

Jake and Jane want to learn to program computers

Jake has a game in mind, Jane wants the basics

Is it better to teach

programming wrapped around a

game, or not?

Games need to focus on the basics

Teach the basics using game concepts to aid learning

Teach the basics with emphasis on games

Jake wants to realize his idea

Jake has an idea for web based game

Scratch and Greenfoot don’t help

http://www.greenfoot.org/

http://scratch.mit.edu/

RailsBridge points the way

http://railsbridge.org/

Focusing on the game will motivate him

Build up Jake’s learning based on game needs

Learn what’s needed as a

problem solving skill

See each step in context of the game

Use game features to guide learning

Shoes is lightweight and easy to start

http://github.com/shoes/shoes

Shoes is not always easy to follow

What if we teach

programming concepts with

game examples?

Jane wants to learn to program

The Teaching Children site helps

http://teachingkids.railsbridge.org/

Chris Pine’s ‘learn to program’ is useful

http://pine.fm/LearnToProgram/

Hello World! Is great, but python based

http://www.manning.com/sande/

Jane is interested in ‘coding’

Jane wants to master the concepts

Jane wants the general CS degree

Jane has no specific plans for her need

Jane can be guided by general concepts

The number of ruby books grows

Others being done as we speak …

http://book.rubylearning.org/

http://www.pragprog.com/titles/ruby3/programming-ruby-1-9

http://oreilly.com/catalog/9780596529864

Most ruby ‘learning’ books assume programming knowledge

These are not the books you’re looking for…

Jake and Jane need process to be more fun

We need a compromise between the two

Maybe we need ‘hello world’ in ruby and ‘redfoot’ for ruby objects

http://www.greenfoot.org/

Jake’s fixed idea is useful for focus

Games provide program interaction

Console apps cause problems but are needed for interaction

Console apps are also ugly

Shoes and similar GUI tools help, but can be challenging for beginners

http://limelight.8thlight.com/ http://github.com/shoes/shoes

Plenty of effort underway to provide beginner learning experiences

http://teachingkids.railsbridge.org/ http://testfirst.org/

http://github.com/ultrasaurus/dusty-attic using Sinatra for Zork type game

http://github.com/ultrasaurus Sarah Allen has a lot of useful examples and ideas

Games provide the ’x’ to do ‘y’ aspect

Games force need and curiosity helps

Games also introduce logic and flow

Games also bring in visual aspects, which might not be needed

Is is better to have a

‘reason’ for learning, or just learn ‘games’?

Build up Jake’s learning based on game needs

Teach Jane programming using games seems better

Use games to realise their potential

All images provided by Niall Benvie at http://www.ImagesFromTheEdge.com http://niallbenvie.churchilljohnson.co.uk/blog/

http://www.ilcp.com/index.php?cid=usrs&port=nbenvie

Learn the basics wrapped around games

Bruce ScharlauUniversity of Aberdeenb.scharlau@abdn.ac.uk

http://www.csd.abdn.ac.uk/~bscharla@scharlau

http://github.com/scharlau/RubyBasics/