Delay in responses
Folks - AWESOME input. It will take me a while to go over them all. It is clear you all put some real thought into your responses and I want give them the consideration they deserve - and some of you gave me a good bit of reading to do....
Knee jerk reaction: Can't argue that games are more fun than hokey problems to solve. The trick then, is to figure out what games require the same knowledge in order to solve them as the hokey problems (which are hokey because they are designed to require very limited areas of knowledge). The problems (or games) are vehicles that get the kids to place I want them (understanding certain concepts) so I can't forsake the destination because the vehicle was "so cool". But, then again, this is just an "Intro" class, so I do have more wiggle room than normal.
Knee jerk reaction 2: Agree 100% that higher-level thinking is the most critical thing to get at. Even a skill such as "Break the big problem into a lot of little problems, then solve the little problems and build up the final answer" is a critical skill/paradigm for programming (and math in general). Math teachers deal with this ALL the time. The debate is sort of a chicken-egg problem: which comes first, the higher level thinking or the language that makes the high level thinking possible? Most of the math we teach in high school is really just grammer, so can we effectively give kids a "high level" understanding of 4,000 years of math development in 4 years without grammar? Or do we need to "speed learn" some grammar and then ask them to really think with it? Grammar is boring AND complex (at times), and that is where kids learn to hate math. If we teach to the high level thinking before the grammar, it goes MUCH slower (though kids enjoy it more) and teachers get accused of "not teaching anything!" If we teach all grammar, parents are happy ("Wow, my 7th grader is already in Algebra II!") and some kids love it, but many are firmly bored and/or lost at sea, thus learning to hate math altogether. Finding a path in the middle seems best, but even that is much easier to say than to do. There are complex issues on both sides of the debate - you can loose kids too by not moving through material fast enough just like you can by moving too fast.
My worst curse of the grammar-first method is that many kids get the skills down great because they have learned the ability to parrot my moves and can memorize procedures well (the classic "A" student). But then we move to "applications" and they freak out: word problems! ZOMG! In my calculus classes even I will have kids getting A's, and then nearly fail the entire course because they just cannot learn to translate the word problem into the language of math before using all their neat math skills. And they would rather shave their heads and run around the school naked than go through the mental process of figuring it out....
However - that said, most of today's parents do not have a clue about programming, so they have no idea if their student is learning a "lot" or a "little", so the pressure is off there. That is the beauty of teaching a class that is not in everyone's historic experience.... (and why I am coming to you all for thoughts...)
I'll post some thoughts after I've had a chance to read about the posts!
Thank you all,
James
Folks - AWESOME input. It will take me a while to go over them all. It is clear you all put some real thought into your responses and I want give them the consideration they deserve - and some of you gave me a good bit of reading to do....
Knee jerk reaction: Can't argue that games are more fun than hokey problems to solve. The trick then, is to figure out what games require the same knowledge in order to solve them as the hokey problems (which are hokey because they are designed to require very limited areas of knowledge). The problems (or games) are vehicles that get the kids to place I want them (understanding certain concepts) so I can't forsake the destination because the vehicle was "so cool". But, then again, this is just an "Intro" class, so I do have more wiggle room than normal.
Knee jerk reaction 2: Agree 100% that higher-level thinking is the most critical thing to get at. Even a skill such as "Break the big problem into a lot of little problems, then solve the little problems and build up the final answer" is a critical skill/paradigm for programming (and math in general). Math teachers deal with this ALL the time. The debate is sort of a chicken-egg problem: which comes first, the higher level thinking or the language that makes the high level thinking possible? Most of the math we teach in high school is really just grammer, so can we effectively give kids a "high level" understanding of 4,000 years of math development in 4 years without grammar? Or do we need to "speed learn" some grammar and then ask them to really think with it? Grammar is boring AND complex (at times), and that is where kids learn to hate math. If we teach to the high level thinking before the grammar, it goes MUCH slower (though kids enjoy it more) and teachers get accused of "not teaching anything!" If we teach all grammar, parents are happy ("Wow, my 7th grader is already in Algebra II!") and some kids love it, but many are firmly bored and/or lost at sea, thus learning to hate math altogether. Finding a path in the middle seems best, but even that is much easier to say than to do. There are complex issues on both sides of the debate - you can loose kids too by not moving through material fast enough just like you can by moving too fast.
My worst curse of the grammar-first method is that many kids get the skills down great because they have learned the ability to parrot my moves and can memorize procedures well (the classic "A" student). But then we move to "applications" and they freak out: word problems! ZOMG! In my calculus classes even I will have kids getting A's, and then nearly fail the entire course because they just cannot learn to translate the word problem into the language of math before using all their neat math skills. And they would rather shave their heads and run around the school naked than go through the mental process of figuring it out....
However - that said, most of today's parents do not have a clue about programming, so they have no idea if their student is learning a "lot" or a "little", so the pressure is off there. That is the beauty of teaching a class that is not in everyone's historic experience.... (and why I am coming to you all for thoughts...)
I'll post some thoughts after I've had a chance to read about the posts!
Thank you all,
James