Teaching Ruby

Somewhat related to the other thread I just started. In order to get
some grassroots support for Ruby, I've offered to host a couple
tutorial meetings regarding how to use Ruby.

The backgrounds of the people who would attend are somewhat varied,
but are currently polarized between older people (45+) who are
strongest with Ada and C (and some know Perl), and newer people (me
included) in their 20s who probably know more Java-ish, C++, maybe
Python.

My goals for the meetings is to 1) Show them the language 2) Get
them productive in it 3) Show them why we should use it.

Any ideas on how to do it?

It would be great to build up a fairly complex, well-tested,
distributed application of some sort, I think.

Any ideas on how to do it?
It would be great to build up a fairly complex, well-tested,
distributed application of some sort, I think.

I'll give some impressions some weeks later.
I'll start a basic Ruby course tomorrow with some CS students and
programmers from other languages. :slight_smile:

Best regards,

- ----------------------------
Eustáquio "TaQ" Rangel
eustaquiorangel@yahoo.com

Usuário GNU/Linux no. 224050

No particular advice, but some general advice:

"Teaching" works best when you're not actually "teaching", but enabling
people to learn. You're there to help, not to lecture.

Learning works best when the people doing the learning have a goal, and a
motivation, and that goal/motivation should *not* be "to learn Ruby" but
instead something like "to interface to that kludgy
library/backend/database we hate". The goal of the exercise would be to
do the interface, but the language in which it's done would be Ruby.

So I'd say the best approach is to choose a problem that you and your group
regularly deal with, and figure out a way to use Ruby to solve it. Learn
enough about the technologies and libraries needed so that you can answer
questions about how to do things, but let them do most of the coding and
"figuring", you'll just be the language expert when they have trouble
translating a concept into Ruby code.

Aside from simply being a good way to learn, if you actually get a working
application in Ruby that solves an ongoing headache, or makes things run a
little smoother for people, they'll have a nice fuzzy feeling about Ruby
because it is part of the solution.

If you happen to end up with an application / presentation / concept that
would be useful for other people trying to promote Ruby, please do share.

Ben

···

On Friday 03 June 2005 17:02, Joe Van Dyk wrote:

Any ideas on how to do it?

I did a course for some CS-Students a while back. You can find the material at:
http://ruby.brian-schroeder.de/course/
But it may be that this is the wrong audience for it.

good luck,

Brian

···

On 03/06/05, Joe Van Dyk <joevandyk@gmail.com> wrote:

Somewhat related to the other thread I just started. In order to get
some grassroots support for Ruby, I've offered to host a couple
tutorial meetings regarding how to use Ruby.

The backgrounds of the people who would attend are somewhat varied,
but are currently polarized between older people (45+) who are
strongest with Ada and C (and some know Perl), and newer people (me
included) in their 20s who probably know more Java-ish, C++, maybe
Python.

My goals for the meetings is to 1) Show them the language 2) Get
them productive in it 3) Show them why we should use it.

Any ideas on how to do it?

It would be great to build up a fairly complex, well-tested,
distributed application of some sort, I think.

--
http://ruby.brian-schroeder.de/

Stringed instrument chords: http://chordlist.brian-schroeder.de/

Blocks, blocks and more blocks.

Use class methods to make a domain specific language.

Take advantage of open classes to add or overwrite methods of built in
classes.

Do something really nifty with inject.

Show how nice and clean Ruby OO is. This link provides a kind of comparative
snapshot of this:
http://www.io.com/~jimm/writing/Intro_to_Ruby.html#listing1 (Java,
Objective-C, Perl and Ruby)

Provide code samples that show how readable it can be:

  auction.close 3.minutes.from_now unless # ... etc

There are many more things. That's all I come up with at the moment.

marcel

···

On Sat, Jun 04, 2005 at 06:02:32AM +0900, Joe Van Dyk wrote:

Somewhat related to the other thread I just started. In order to get
some grassroots support for Ruby, I've offered to host a couple
tutorial meetings regarding how to use Ruby.

The backgrounds of the people who would attend are somewhat varied,
but are currently polarized between older people (45+) who are
strongest with Ada and C (and some know Perl), and newer people (me
included) in their 20s who probably know more Java-ish, C++, maybe
Python.

My goals for the meetings is to 1) Show them the language 2) Get
them productive in it 3) Show them why we should use it.

Any ideas on how to do it?

--
Marcel Molina Jr. <marcel@vernix.org>

Ben Giddings wrote:

Any ideas on how to do it?

No particular advice, but some general advice:

"Teaching" works best when you're not actually "teaching", but enabling people to learn. You're there to help, not to lecture.

Learning works best when the people doing the learning have a goal, and a motivation, and that goal/motivation should *not* be "to learn Ruby" but instead something like "to interface to that kludgy library/backend/database we hate". The goal of the exercise would be to do the interface, but the language in which it's done would be Ruby.

So I'd say the best approach is to choose a problem that you and your group regularly deal with, and figure out a way to use Ruby to solve it. Learn enough about the technologies and libraries needed so that you can answer questions about how to do things, but let them do most of the coding and "figuring", you'll just be the language expert when they have trouble translating a concept into Ruby code.

This is totally true.
I am looking for tutorials made up that way to get into ruby in a smooth way. Solving a "big problem" by deviding it into smaller problems that are easier to handle at once and by example learning ruby syntax, ruby way of thinking and finally how to solve problems in ruby in general.

don't get me wrong - why's and pine's tuts are great, but they do not offer what I am looking for :-/

···

On Friday 03 June 2005 17:02, Joe Van Dyk wrote:

Aside from simply being a good way to learn, if you actually get a working application in Ruby that solves an ongoing headache, or makes things run a little smoother for people, they'll have a nice fuzzy feeling about Ruby because it is part of the solution.

If you happen to end up with an application / presentation / concept that would be useful for other people trying to promote Ruby, please do share.

Ben

Brian Schröder wrote:
[snip]...[/snip]

I did a course for some CS-Students a while back. You can find the material at:
http://ruby.brian-schroeder.de/course/
But it may be that this is the wrong audience for it.

Great!
I need more of this!

Thanks!

  Jonas

···

good luck,

Brian