teaching ruby helping jake and jane learn to program bruce scharlau

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

Upload: elle-fitton

Post on 29-Mar-2015

218 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Teaching Ruby Helping Jake and Jane learn to program Bruce Scharlau

Teaching RubyHelping Jake and Jane learn to program

Bruce Scharlau

Page 2: Teaching Ruby Helping Jake and Jane learn to program Bruce Scharlau

Jake and Jane want to learn to program computers

Page 3: Teaching Ruby Helping Jake and Jane learn to program Bruce Scharlau

Jake has a game in mind, Jane wants the basics

Page 4: Teaching Ruby Helping Jake and Jane learn to program Bruce Scharlau

Is it better to teach

programming wrapped around a

game, or not?

Page 5: Teaching Ruby Helping Jake and Jane learn to program Bruce Scharlau

Games need to focus on the basics

Page 6: Teaching Ruby Helping Jake and Jane learn to program Bruce Scharlau

Teach the basics using game concepts to aid learning

Page 7: Teaching Ruby Helping Jake and Jane learn to program Bruce Scharlau

Teach the basics with emphasis on games

Page 8: Teaching Ruby Helping Jake and Jane learn to program Bruce Scharlau

Jake wants to realize his idea

Page 9: Teaching Ruby Helping Jake and Jane learn to program Bruce Scharlau

Jake has an idea for web based game

Page 10: Teaching Ruby Helping Jake and Jane learn to program Bruce Scharlau

Scratch and Greenfoot don’t help

http://www.greenfoot.org/

http://scratch.mit.edu/

Page 11: Teaching Ruby Helping Jake and Jane learn to program Bruce Scharlau

RailsBridge points the way

http://railsbridge.org/

Page 12: Teaching Ruby Helping Jake and Jane learn to program Bruce Scharlau

Focusing on the game will motivate him

Page 13: Teaching Ruby Helping Jake and Jane learn to program Bruce Scharlau

Build up Jake’s learning based on game needs

Page 14: Teaching Ruby Helping Jake and Jane learn to program Bruce Scharlau

Learn what’s needed as a

problem solving skill

Page 15: Teaching Ruby Helping Jake and Jane learn to program Bruce Scharlau

See each step in context of the game

Page 16: Teaching Ruby Helping Jake and Jane learn to program Bruce Scharlau

Use game features to guide learning

Page 17: Teaching Ruby Helping Jake and Jane learn to program Bruce Scharlau

Shoes is lightweight and easy to start

http://github.com/shoes/shoes

Page 18: Teaching Ruby Helping Jake and Jane learn to program Bruce Scharlau

Shoes is not always easy to follow

Page 19: Teaching Ruby Helping Jake and Jane learn to program Bruce Scharlau

What if we teach

programming concepts with

game examples?

Page 20: Teaching Ruby Helping Jake and Jane learn to program Bruce Scharlau

Jane wants to learn to program

Page 21: Teaching Ruby Helping Jake and Jane learn to program Bruce Scharlau

The Teaching Children site helps

http://teachingkids.railsbridge.org/

Page 22: Teaching Ruby Helping Jake and Jane learn to program Bruce Scharlau

Chris Pine’s ‘learn to program’ is useful

http://pine.fm/LearnToProgram/

Page 23: Teaching Ruby Helping Jake and Jane learn to program Bruce Scharlau

Hello World! Is great, but python based

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

Page 24: Teaching Ruby Helping Jake and Jane learn to program Bruce Scharlau

Jane is interested in ‘coding’

Page 25: Teaching Ruby Helping Jake and Jane learn to program Bruce Scharlau

Jane wants to master the concepts

Page 26: Teaching Ruby Helping Jake and Jane learn to program Bruce Scharlau

Jane wants the general CS degree

Page 27: Teaching Ruby Helping Jake and Jane learn to program Bruce Scharlau

Jane has no specific plans for her need

Page 28: Teaching Ruby Helping Jake and Jane learn to program Bruce Scharlau

Jane can be guided by general concepts

Page 29: Teaching Ruby Helping Jake and Jane learn to program Bruce Scharlau

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

Page 30: Teaching Ruby Helping Jake and Jane learn to program Bruce Scharlau

Most ruby ‘learning’ books assume programming knowledge

These are not the books you’re looking for…

Page 31: Teaching Ruby Helping Jake and Jane learn to program Bruce Scharlau

Jake and Jane need process to be more fun

Page 32: Teaching Ruby Helping Jake and Jane learn to program Bruce Scharlau

We need a compromise between the two

Page 33: Teaching Ruby Helping Jake and Jane learn to program Bruce Scharlau

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

http://www.greenfoot.org/

Page 34: Teaching Ruby Helping Jake and Jane learn to program Bruce Scharlau

Jake’s fixed idea is useful for focus

Page 35: Teaching Ruby Helping Jake and Jane learn to program Bruce Scharlau

Games provide program interaction

Page 36: Teaching Ruby Helping Jake and Jane learn to program Bruce Scharlau

Console apps cause problems but are needed for interaction

Page 37: Teaching Ruby Helping Jake and Jane learn to program Bruce Scharlau

Console apps are also ugly

Page 38: Teaching Ruby Helping Jake and Jane learn to program Bruce Scharlau

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

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

Page 39: Teaching Ruby Helping Jake and Jane learn to program Bruce Scharlau

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

Page 40: Teaching Ruby Helping Jake and Jane learn to program Bruce Scharlau

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

Page 41: Teaching Ruby Helping Jake and Jane learn to program Bruce Scharlau

Games force need and curiosity helps

Page 42: Teaching Ruby Helping Jake and Jane learn to program Bruce Scharlau

Games also introduce logic and flow

Page 43: Teaching Ruby Helping Jake and Jane learn to program Bruce Scharlau

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

Page 44: Teaching Ruby Helping Jake and Jane learn to program Bruce Scharlau

Is is better to have a

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

Page 45: Teaching Ruby Helping Jake and Jane learn to program Bruce Scharlau

Build up Jake’s learning based on game needs

Page 46: Teaching Ruby Helping Jake and Jane learn to program Bruce Scharlau

Teach Jane programming using games seems better

Page 47: Teaching Ruby Helping Jake and Jane learn to program Bruce Scharlau

Use games to realise their potential

Page 48: Teaching Ruby Helping Jake and Jane learn to program Bruce Scharlau

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

Page 49: Teaching Ruby Helping Jake and Jane learn to program Bruce Scharlau

Learn the basics wrapped around games

Bruce ScharlauUniversity of [email protected]

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

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