Friday, December 13, 2013

Googling "rails video tutorials" aka Learning Rails

I took CS 106A at Stanford, and "Mehran Sahami change my life!" as I'm sure he has done for many Stanford-crafted software developers.

So I have decided to learn enough Ruby on Rails to finish a rubric-based assessment tool that a friend was building. I will reflect here and will be updating this post regularly.

I tried on my own* - to little avail. So I took CS 142 Web Development at Stanford, and learned that higher level CS courses at Stanford have a DIY feel. A bit tricky when you are a grad student with few friends in the class. So I became an office hours inhabitant and made some friends, the TAs were accessible and made the class very manageable.

<!-- To be continued -->







*Preliminary Musings
I'll be starting with some reading of http://ruby.railstutorial.org/ruby-on-rails-tutorial-book

http://railsforzombies.org/ has been fun.
http://tryruby.org/ was a bit glitchy... but taught some syntactical rules.

I wanted to check the usual MOOC suspects and iTunesU for a short listing, but figured someone's blog contains this search. So I gBlog-searched, "best ways to learn ruby on rails"

I then read:

http://blog.appfog.com/quite-possibly-the-best-rails-tutorial-in-existence/

http://astonj.com/tech/best-way-to-learn-ruby-rails/

http://www.readysetrails.com/index.php/1951/the-very-best-way-to-learn-ruby-on-rails/

suggested codeschool

Started to watch nettuts+

Talked to a web-developer who wrote the code I am attempting to add to, she said:

1) Google MVC framework - first chapter or two of book or something similar (conceptual)
understand js, html, css. Make sure its Rails 3.2 and ruby 1.9

2) Think of an action that a user can perform. And can you trace it through the code?

3) Get everything working from my machine. Installing ruby, installing rails, requisite gems,

Once comfortable use (rails s) to localhost and test changes to the code.

I might use free video tutorials at  ShowMeDo

There are responses in a forum thread on stackoverflow and that led to stackoverflow's learning threads

Pretty sure I can youtube it for free.
Rating Filter
View Count


Tuesday, December 10, 2013

Design Behind Wuzzit Trouble

A medium as interactive as a tablet should be doing a lot more than spoon-feeding worksheet problems to children.

Game Design

Innertube Games is breaking the mold. They have a super team of individuals developing learning experiences to serve as grounding metaphors for mathematical ideas. They bypass the traditional education system to address the quantitative skills gap directly. Their product, Wuzzit Trouble (2013), is a prime example of this. I demonstrate the design below.




The game can easily be learned through play, but if you’re curious and press the ? key you’ll see the instructions screen.

Your world is a numbered gear with modulus 65. You have the ability to scale given integers with small gears that turn the large gear. You can scale to the left or to the right. By playing this game, a learner can develop a schema for integers and integer modular arithmetic.

The game levels are like lessons planned by an experienced math instructor. They provide an adequate challenge, give immediate feedback, and encourage mistakes.

You may be thinking, "So I just turn these little gears and they move the big gear to free the cute creature called a Wuzzit? Easy enough, what’s the catch Rushton?"

First check out the list of advisors. No catch.

Learning Design

B. F. Skinner wrote, "A machine that teaches by arranging contingencies of reinforcement is a teaching machine.”[1] (p. 110) Many of the game features in Wuzzit Trouble are similar to those found in popular mobile games, like Angry Birds (stars for achievement, high scores, cute creatures expressing emotions...) Our children become increasingly persistent at tackling the obstacle presented by the game to earn the next reward. We demonstrate a behavioral reaction not so different from Skinner's dog jumping to the sound of a clicker.

James Paul Gee wrote, "Good games operate at the outer and growing edge of a player's competence, remaining challenging, but do-able" [2] (p. 2). This sounds like a condition for the state Csikszentmihalyi dubbed "Flow". I was completely absorbed by this game, and feel like it satisfied many of Gee's video game learning principles. The complete discussion of these principles is in his 2003 book, What Video Games Have to Teach Us about Learning and Literacy [3]. This work was heavily referenced in Keith Devlin's 2011 book, Mathematics Education for a New Era: Video Games as a Medium for Learning [4] where Devlin applies Gee's ideas to mathematics education, through a mathematicians lens. 
For more immediate content:
There is a useful post/interview of Keith Devlin by Jordan Shapiro.
There is a useful post/interview of James Paul Gee by Henry Jenkins.  
James Paul Gee has a short series of youtube clips on this topic.

People love video games. Most readers would probably agree with Gee arguing that all video games are teachers. They are designed to teach the user how to play the game better. The trick lies in making the mechanics of the game near enough to the underlying principle being taught so that transfer of the mental models can occur. Wuzzit Trouble is fun to play and the progression is smooth. In order to get to the later levels, the game designers will have taught a course to you in the form of a game. The fundamental mechanics of a well designed game will transfer to other structures in the world. You will be able to solve systems of linear equations in 4 variables on a mod65 ring, feel accomplished for it, and see number patterns and structures in your mathematics classes as a result of your fun.

Keep 'em coming Innertube Games! Thank you for your considerable contribution to our society.

This is an extraordinary game. Get it for your children.

Peace and Blessings,

Evan

Enhancement - I Wish...

The highest scores were reserved for the least number of moves. (3 stars and all bonus items in 6 moves should not be the same as 3 stars and all bonus items in 5 moves )

There were more levels.

When you overshoot a position it counts against you. (right now the excess is ignored)

There were a way for me to tell the story of the game and identify features of the game, in my own reflective journal. (interact with the progress metrics somehow)

There were multiplayer options to promote collaboration and/or competition.

Appendix - Wuzzit Trouble is "Standards-Based"

I will identify the “standards” that are being taught for the first 5 levels to serve as examples to support this claim, and I encourage the reader to play the rest of the levels to verify the veracity of this claim.

Integer addition, subtraction and multiplication are a subset of the Number & Operations in Base Ten Domain: http://www.corestandards.org/Math/Content/NBT and the fact that there is negative scaling to turn the wheel counterclockwise provides a foundation for the Number System Domain that starts in grade 6: http://www.corestandards.org/Math/Content/NS

In addition to content standards, the game helps to reinforce some of the Standards of Mathematical Practice. It is a process of discovering new properties of numbers in order to beat the progressive levels. It involves persistence, precision, repeated reasoning, and developing an awareness of the underlying mathematical structure.

Level 1-1 – Positive integer addition
The student will demonstrate the ability to tap and turn the small gear clockwise.

Level 1-2 – Positive integer multiplication and addition
The student will demonstrate th\e ability…
(2 stars) to tap and turn the small gear in multiple moves
(3 stars) to tap and turn the small gear a scalar multiple of turns.

Level 1-3 – Positive integer multiplication and addition
The student will demonstrate the ability…
(2 stars) to tap and turn the small gear in multiple moves
(3 stars) to tap and turn the small gear a scalar multiple of turns.
CCSS.Math.Practice.MP7: Look for and make use of structure.
The student will be introduced to repeated intervals

Level 1-4 – Negative integer multiplication and addition
The student will demonstrate the ability…
(2 stars) to tap and turn the small gear in multiple moves
(3 stars) to tap and turn the small gear a negative scalar multiple of turns.

Level 1-5 – Negative integer multiplication and addition
The student will demonstrate the ability…
(2 stars) to tap and turn the small gear in multiple moves
(3 stars) to tap and turn the small gear a negative scalar multiple of turns.
CCSS.Math.Practice.MP7: Look for and make use of structure.
The student will again see a repeated interval in the negative direction

References

[1] Skinner, B. F. (1986). Programmed Instruction Revisited. The Phi Delta Kappan, 68(2), 103-110.

[2] Gee, J. P. (2003). What video games have to teach us about learning and literacy. Computers in Entertainment 1, 1,             pp 20-24. DOI= http://doi.acm.org/10.1145/950566.950595

[3] Gee, J. P. What Video Games Have to Teach Us about Learning and Literacy. New York: Palgrave Macmillan, 2003.           Print.

[4] Devlin, K. Mathematics Education for a New Era: Video Games as a Medium for Learning. Natick, 
Massachussetts: A        K Peters, Ltd., 2011. Print.