Page 1
TeachingRubyHelpingJakeandJanelearntoprogram
BruceScharlau
Page 2
JakeandJanewanttolearntoprogramcomputers
Page 3
Jakehasagameinmind,Janewantsthebasics
Page 4
Isitbe>ertoteach
programmingwrappedarounda
game,ornot?
Page 5
Gamesneedtofocusonthebasics
Page 6
Teachthebasicsusinggameconceptstoaidlearning
Page 7
Teachthebasicswithemphasisongames
Page 8
Jakewantstorealizehisidea
Page 9
Jakehasanideaforwebbasedgame
Page 10
ScratchandGreenfootdon’thelp
h>p://www.greenfoot.org/
h>p://scratch.mit.edu/
Page 11
RailsBridgepointstheway
h>p://railsbridge.org/
Page 12
FocusingonthegamewillmoHvatehim
Page 13
BuildupJake’slearningbasedongameneeds
Page 14
Learnwhat’sneededasa
problemsolvingskill
Page 15
Seeeachstepincontextofthegame
Page 16
Usegamefeaturestoguidelearning
Page 17
Shoesislightweightandeasytostart
h>p://github.com/shoes/shoes
Page 18
Shoesisnotalwayseasytofollow
Page 19
Whatifweteach
programmingconceptswith
gameexamples?
Page 20
Janewantstolearntoprogram
Page 21
TheTeachingChildrensitehelps
h>p://teachingkids.railsbridge.org/
Page 22
ChrisPine’s‘learntoprogram’isuseful
h>p://pine.fm/LearnToProgram/
Page 23
HelloWorld!Isgreat,butpythonbased
h>p://www.manning.com/sande/
Page 24
Janeisinterestedin‘coding’
Page 25
Janewantstomastertheconcepts
Page 26
JanewantsthegeneralCSdegree
Page 27
Janehasnospecificplansforherneed
Page 28
Janecanbeguidedbygeneralconcepts
Page 29
Thenumberofrubybooksgrows
Othersbeingdoneaswespeak…
h>p://book.rubylearning.org/
h>p://www.pragprog.com/Htles/ruby3/programming‐ruby‐1‐9
h>p://oreilly.com/catalog/9780596529864
Page 30
Mostruby‘learning’booksassumeprogrammingknowledge
Thesearenotthebooksyou’relookingfor…
Page 31
JakeandJaneneedprocesstobemorefun
Page 32
Weneedacompromisebetweenthetwo
Page 33
Maybeweneed‘helloworld’inrubyand‘redfoot’forrubyobjects
h>p://www.greenfoot.org/
Page 34
Jake’sfixedideaisusefulforfocus
Page 35
GamesprovideprograminteracHon
Page 36
ConsoleappscauseproblemsbutareneededforinteracHon
Page 37
Consoleappsarealsougly
Page 38
ShoesandsimilarGUItoolshelp,butcanbechallengingforbeginners
h>p://limelight.8thlight.com/h>p://github.com/shoes/shoes
Page 39
Plentyofeffortunderwaytoprovidebeginnerlearningexperiences
h>p://teachingkids.railsbridge.org/h>p://tescirst.org/
h>p://github.com/ultrasaurus/dusty‐adcusingSinatraforZorktypegame
h>p://github.com/ultrasaurusSarahAllenhasalotofusefulexamplesandideas
Page 40
Gamesprovidethe’x’todo‘y’aspect
Page 41
Gamesforceneedandcuriosityhelps
Page 42
Gamesalsointroducelogicandflow
Page 43
Gamesalsobringinvisualaspects,whichmightnotbeneeded
Page 44
Isisbe>ertohavea‘reason’forlearning,orjustlearn‘games’?
Page 45
BuildupJake’slearningbasedongameneeds
Page 46
TeachJaneprogrammingusinggamesseemsbe>er
Page 47
UsegamestorealisetheirpotenHal
Page 48
AllimagesprovidedbyNiallBenvieath>p://www.ImagesFromTheEdge.comh>p://niallbenvie.churchilljohnson.co.uk/blog/
h>p://www.ilcp.com/index.php?cid=usrs&port=nbenvie
Page 49
Learnthebasicswrappedaroundgames
[email protected]
h>p://www.csd.abdn.ac.uk/~bscharla@scharlau
h>p://github.com/scharlau/RubyBasics/