Teaching Ruby

J

Joe Van Dyk

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.
 
E

Eustaquio Rangel de Oliveira Jr.

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

| 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. :)

Best regards,

- ----------------------------
Eustáquio "TaQ" Rangel
(e-mail address removed)
http://beam.to/taq
Usuário GNU/Linux no. 224050
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.7 (GNU/Linux)

iD8DBQFCoM6ub6UiZnhJiLsRAmeNAJ4kW/74v0NnVTQAxP7W7mkVLye+lACbBW80
cbAWdFNNPRWWOvhoOjdkGkc=
=0qq6
-----END PGP SIGNATURE-----
 
B

Ben Giddings

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.

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
 
B

Brian Schröder

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.
=20
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.
=20
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.
=20
Any ideas on how to do it?
=20
It would be great to build up a fairly complex, well-tested,
distributed application of some sort, I think.
=20
=20

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

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

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

Marcel Molina Jr.

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?

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
 
J

Jonas Hartmann

Ben said:
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 :-/
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,768
Messages
2,569,574
Members
45,049
Latest member
Allen00Reed

Latest Threads

Top