Introducing programming to young people is a balancing act. What language to use? Bore the quickest students, or leave some behind? Teach them style, or let them discover their own? At Lincoln Sudbury Regional High School, Ruby has helped us bring our Intro to Programming course to a new sweet spot, where students leave the one semester course with a bit of knowledge and a lot of enthusiasm, filling our upper level programming courses and learning more on their own.
As Rubyists we often pride ourselves on our elegant, terse, clever code. When we teach our students, we keep it simple. Simple conditionals, simple loops and iterators. This allows us to get more quickly to a place where students can express their creativity. And thats what gets them hooked.