Why teach Ruby in the classroom?

Hello Everyone,

I’m working on an educational project. Part of this has involved writing
a report about why Ruby is (would be) a good language in an educational
context.

I’m currently developing this report, and am looking for feedback.

There might be bugs or inaccuracies - feel free to point it out. I’m
after positive feedback and constructive criticism. I would like to see
Ruby used more in schools and part of this project is about bringing
teachers on board. Many people are teaching Visual Basic, Perl, etc, and
it would be great to provide some clear reasons why Ruby is an excellent
language for teaching.

Why teach Ruby in schools? - Orion Transfer Ltd

If anyone knows of any other resources regarding this topic, I’d be most
interested.

Thanks
Samuel

On Sun, Mar 14, 2010 at 9:37 PM, Space Ship T. <
[email protected]> wrote:

more in schools and part of this project is about bringing teachers on
Samuel

Missing the link :slight_smile:

Thats odd - the link has been stripped out.

Why teach Ruby in schools? - Orion Transfer Ltd
http://www.oriontransfer.co.nz/education/learn-ruby/why/index

Kind regards,
Samuel

On Sunday 14 March 2010 10:37:46 pm Space Ship T. wrote:

Hello Everyone,

I’m working on an educational project. Part of this has involved writing a
report about why Ruby is (would be) a good language in an educational
context.

I’m currently developing this report, and am looking for feedback.

I don’t know where it would fit, but you might mention Try Ruby:

http://tryruby.org/

Type ‘help’ to bring up the brilliant tutorial. So easy my mother can
follow
it. The fact that the interactive shell exists – that alone is a reason
to
choose Ruby over any language without such a shell. (BlueJ provides a
shell
for Java, but it’s hideous.)

Dear David,

Thanks.

I will certainly be including a link to this fantastic site.

Kind regards,
Samuel

2010/3/15 Space Ship T. [email protected]:

Thats odd - the link has been stripped out.

Why teach Ruby in schools? - Orion Transfer Ltd
http://www.oriontransfer.co.nz/education/learn-ruby/why/index

I think the first item in the list is a very important one! I am
missing these items in your list:

  • Ruby is a fully object oriented language - there are no hybrid
    constructs like Java’s plain old datatypes, instead everything is an
    object.

  • Ruby can be used consistently with a variety of programming
    paradigms: procedural, object oriented class based, object oriented
    prototype based, functional etc. So you need only one language to
    cover several areas and you can even implement the same task in
    different paradigms in the same program to make comparison of
    paradigms simple.

see Programming paradigm - Wikipedia

Kind regards

robert

On Mon, 15 Mar 2010 13:37 +0900, “Space Ship T.”
[email protected] wrote:

Thats odd - the link has been stripped out.

Why teach Ruby in schools? - Orion Transfer Ltd
http://www.oriontransfer.co.nz/education/learn-ruby/why/index

Kind regards,
Samuel

One thing that might be relevant is the way that Ruby seems to enable a
fairly smooth progression in scale and sophistication. You can start
with simple one-liners and single file scripts and move on to larger
structured applications in a more or less incremental way, and stop at
whatever level is comfortable. The fact that Ruby can be used at a
simple level probably doesn’t hold back learners later - they don’t have
to switch tools or relearn existing knowledge if they want to progress
on to advanced techniques.

It’s worth checking the claim in the Evaluation section that Java is
essentially proprietary - I don’t really follow Java development, but
Linux distributions definitely now use an official version that passes
Open Source criteria (it’s branded as OpenJDK).

FWIW, the RailsBridge community has several people who use Ruby for
teaching, and there’s some discussion on the Google group:

http://teachingkids.railsbridge.org/
http://groups.google.com/group/railsbridge

Stuart E.

Dear Stuart,

Thanks for these great points. It is a really key component of Ruby that
you can start off with something simple and progress to more advanced
concepts and techniques as you learn more. It is a very fluid growth.

I was looking at this page about OpenJDK on Wikipedia

The implementation is licensed under the GNU General Public License (GPL) with a linking exception, which exempts components of the Java class library from the GPL licensing terms.

This seems to imply that the GPL applies to the core implementation, but
not the Java Class Libraries. I’m not sure where this stands in terms of
proprietary / free + open.

Thanks for your comments and I will research it more.

Kind regards,
Samuel

Hi Samuel,
one point that I don’t think has been mentioned, is the ratio of
lines
of code
to working results. Its possible for a lot of powerful activities to be
expressed
in Ruby in only a handful of lines of code. This is very important to
beginners,
especially of the Junior variety, as the feedback loop does not close
until
working results are achieved. Shortening this cycle accelerates learning
and
keeps the activities fun for the juniors.

_why’s old essay on this ‘The little coders dilemma’ made great points
on
this
(sadly this article is now gone from the internets). In particular -
that
expression
of code, and real world results should be atomic. Atomic in this sense,
that
it should be achievable in 1 line of code.

Python would share a lot of properties with Ruby in this respect. Their
power:LOC
ratios are quite similar, and they value readable code. Perl is famous
for
its
power:LOC ratio too, but the syntax can be off-putting for class-room
age
kids.

Comparing and contrasting Python vs Ruby for teaching juniors to program
would
probably result in a lot of conclusions that would complement both.

regards,
Richard

Dear Robert,

These points are fantastic.

This is a great contrast to many other languages. I have added these
points in, the first under comprehension, and the second under
evaluation.

Again, I really appreciate these ideas.

Kind regards,
Samuel

Dear Richard,

Is this what you are referring to:

http://viewsourcecode.org/why/hacking/theLittleCodersPredicament.html

Kind regards,
Samuel