Forum: Ruby on Rails Rails in High School Curriculum?

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
39a7e95c671c7c5cb707b9aaf4f84366?d=identicon&s=25 Chris Brooks (brookscl)
on 2005-12-30 21:38
Hi folks,

I'm working with a local high school in the Portland, OR area on the
subject of computer science curriculum.  We are thinking of introducing
a class in web development and I think Rails would be a perfect vehicle.
I've done some searching on the web but haven't found any suggestion of
HS curriculum for Rails.  Any pointers or suggestions?

Thanks,

---
Chris Brooks
http://www.chrisbrooks.org
Ff9e18f0699bf079f1fc91c8d4506438?d=identicon&s=25 James Britt (Guest)
on 2005-12-30 21:57
(Received via mailing list)
Chris Brooks wrote:
> Hi folks,
>
> I'm working with a local high school in the Portland, OR area on the
> subject of computer science curriculum.  We are thinking of introducing
> a class in web development and I think Rails would be a perfect vehicle.
> I've done some searching on the web but haven't found any suggestion of
> HS curriculum for Rails.  Any pointers or suggestions?

What, exactly, are you trying to teach?

A Web developer should understand when to use a framework or a one-off,
one file CGI app.  They need to know difference among severs, how CGI
basically works, the processing overhead of different design choices,
and so on.

Perhaps much of this is a bit beyond what one might teach in high school
(though maybe not), but a possible 'problem' with Rails, at least for
this purpose, is that it abstracts away many of the things Web
developers have already thought about and grappled with and (hopefully,
at least) understand.

Teaching Rails, students may learn how to put up Web sites, but might
not learn enough about why things are the done way they are.

Sort of along the lines of why CompSci students should be learning
Scheme and C, not Java.

Better to teach them plain Ruby, and then help them build their own Web
toolkits.

James

--

http://www.ruby-doc.org       - Ruby Help & Documentation
http://www.artima.com/rubycs/ - Ruby Code & Style: Writers wanted
http://www.rubystuff.com      - The Ruby Store for Ruby Stuff
http://www.jamesbritt.com     - Playing with Better Toys
http://www.30secondrule.com   - Building Better Tools
5375ff5e7386305617e62e732354bff1?d=identicon&s=25 Ben Hiller (Guest)
on 2005-12-30 22:42
> I'm working with a local high school in the Portland, OR area on the
> subject of computer science curriculum.  We are thinking of introducing
> a class in web development and I think Rails would be a perfect vehicle.

Hah, I go to High School, and the first Computer Science course is in
Visual Basic, and Web Development is some WYSIWYG application.

But, it'd be cool if you taught Rails.
1c8be2ff7d814ca71c986de4621a3a9b?d=identicon&s=25 Phil Larson (Guest)
on 2005-12-31 02:59
(Received via mailing list)
On Dec 30, 2005, at 12:54 PM, James Britt wrote:

> Better to teach them plain Ruby, and then help them build their own
> Web toolkits.

Seems XHTML+CSS is enough to teach a high school course on? At least
teach them something they could use on any web host.

Sincerely,
Phil Larson
E51c6ae07e72cf04ef869868cb8eca6e?d=identicon&s=25 Jake Janovetz (Guest)
on 2005-12-31 03:18
James Britt wrote:
> Chris Brooks wrote:
>> Hi folks,
>>
>> I'm working with a local high school in the Portland, OR area on the
>> subject of computer science curriculum.  We are thinking of introducing
>> a class in web development and I think Rails would be a perfect vehicle.
>> I've done some searching on the web but haven't found any suggestion of
>> HS curriculum for Rails.  Any pointers or suggestions?
>
> What, exactly, are you trying to teach?

James is entirely on-target with this question.  Start with what you
want to teach.  At each step, use tools that remove -everything- else
except the one core concept.

It doesn't matter if you're teaching high school students or college
kids.  If you want to start from the beginning, teach in a well-defined,
clear order.

Example:
1. XML (to understand the structure and hierarchy)
2. HTML (to understand content and layout)
3. CSS (to understand the separation of content and layout and why)
4. PHP (to understand how dynamic pages work)
5. SQL (to understand how databases work)
6. PHP+SQL (to understand how databases and web apps go hand-in-hand)
7. ???
8. Ruby on Rails (to understand how it all comes together in a fluid
manner rather than a hodge-podge of disconnected technology)

RoR can be understood as an evolutionary process.  RoR didn't just
appear out of thin-air.  It has a clear line of predecessors that did
things almost as well, but not exactly.  It compensates for many
deficiencies of other methods in a very nice way, but it was not
invented in vacuum.  I don't believe it should be taught that way
either.

Integral calculus isn't taught without first working from arithmetic to
algebra to limit theory.

Rails is very nice and I can understand your excitement about wanting to
teach it, but consider the audience and what is best for them first.

   Jake
7f4d868adb4a96f10e7a92532ee9985f?d=identicon&s=25 Jeff Casimir (Guest)
on 2005-12-31 17:43
(Received via mailing list)
Hi all,

I'm a rails developer part time and a high school AP computer science
teacher full time.

I've thought about teaching Rails, but it is really a pretty big chunk
to bite off.  Unless your students have a significant background in
computers/technology, a class has to start way farther back than a rails
app.  My class starts with the idea of writing instructions.  Most
students consider computers "magic" and you have to first break them of
that paradigm.  Learn to give the machine instructions and compare what
it does versus what you want.  This is the essential nature of computer
programming, and I believe it is best taught with a simplified package
like Karel the Robot (or JKarel, or the hundred other variants).

After they understand writing instructions they should begin to talk
about data; its usage, storage, typing, limitations, etc.  From there
build into some basic data structures, maybe simple database concepts,
etc.

The only way Rails could be successfully taught is if the students
either have a year of AP-equivalent computer science training already or
have developed similar skills on their own.

If anyone would like to discuss this topic further, especially with the
concept of developing high-school Ruby curriculum, please contact me.
I'm somewhat pondering spending my summer on a ruby/Karel implementation
("Karel R. Robot"?) and would love to build a team.

Thanks,
Jeff Casimir
Teacher / Technology Coordinator
Cesar Chavez Public Charter High School, Capitol Hill Campus, Washington
DC
http://www.chavezschools.org
39a7e95c671c7c5cb707b9aaf4f84366?d=identicon&s=25 Chris Brooks (brookscl)
on 2006-01-01 07:13
Jeff Casimir wrote:
> The only way Rails could be successfully taught is if the students
> either have a year of AP-equivalent computer science training already or
> have developed similar skills on their own.

I tend to agree with you Jeff.  The teacher I'm working with has similar
thoughts and we are targeting post-AP instruction, possibly as an
after-school workshop.  I'll contact you offline about some other ideas.

Thanks everyone for your feedback.

-Chris
This topic is locked and can not be replied to.