If I'm doing my job right, by the time my kids graduate they can learn on their own.
It's like when two years ago, before starting her summer internship, Batya listed all the tools and technologies she had to work with. When I pointed out that she hadn't ever used any of them before and asked how she was going to deal with it, she replied "I'll figure it out." And she did.
At the end of the summer, Dina told a similar story about her internship and how she knew she'd figure everything out because of the solid background she got by going through StuyCS.
I loved both these stories.
But getting the kids there takes time.
Yesterday, in my AP classes, I assigned three codingbat problems. I decided to go objects first this time round so we haven't done any language constructs. The problems were simple String manipulations but I added one that needed conditionals.
Today we went over them. Most of the class solved the assignment and most had either no trouble or had to do just a little work.
I asked what about that last problem might have caused some difficulty.
They couldn't figure it out, it seemed pretty straighforward. After a number of guesses, one student said:
"Wait, we don't know ifs"
That was it. They didn't realize that they had taught themselves something new.
This, of course, doesn't just happen.
They've seen conditionals in all sorts of guises.
(if boolean_expression True_part False_part)
if boolean [True part] and ifelse boolean [True part][ False part]
if bool: s1 elif bool2: s2 else: s3
and so on.
So they new the concept, from there it was just details.
Some said they just wrote it and it worked. Some said they looked up sample code. Most didn't think they were doing anything new.
It was pretty awesome.
It's still a long road before they graduate, but we're getting there.