Rails in High School Curriculum?

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

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
Ruby Code & Style - 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

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 D. is some WYSIWYG application.

But, it’d be cool if you taught Rails.

On Dec 30, 2005, at 12:54 PM, James B. 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

James B. 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

Jeff C. 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

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 C.
Teacher / Technology Coordinator
Cesar Chavez Public Charter High School, Capitol Hill Campus, Washington
DC
http://www.chavezschools.org