Since I wrote a post on my problem with drop in curricula on March 4
(http://cestlaz.github.io/2015/03/04/expedient-vs-good.html)
I've been meaning to follow up with some of my thoughts on after
school and summer programs.
This itch was further spurred when I read this post on avc.com:
http://avc.com/2015/03/numbers-can-ruin-a-good-story/. It talks about
startups - you can have a good story and raise some funds but then
when numbers, that is, results start to come in, that story might not
look so good.
The world of CS Education summer and after school programs are full of
"good stories." My favorite is "your kid will learn how to build an
iPhone app in 4 weeks!!!" If it were that easy, we wouldn't have a
tech talent shortage and my grads wouldn't be in such high demand.
The truth is, it's very easy to get by in CS Education on nothing more
than a good story. You never actually have to show real results. Most
of the programs out there follow this pattern. I don't think it's
intentional. It's just that most people running K12 CS Ed programs
aren't educators and frequently they aren't CS people. What they are
concerned is scaling so that they can get to as many kids as
possible. They aren't dealing with next steps. Besides, to them, it
appears they're doing great work - they buy into their own hype.
What's the problem?
Simple - learning takes time.
How do you set up the story?
Easy.
Start by promising an awesome program - an awesome project after two
or four weeks. With today's tools it's easy to make a mock up. Either
you use simplified tools or you can use a lot of boilerplate code with
pre-built components. These aren't necessarily bad in and of
themselves, just don't pretend you're teaching the real deal.
It's easy to pull this off since there's no real follow up. Kids are
then sent back to their high schools or off to college and results
aren't tracked.
Also, make sure you recruit some high performing kids. I know a number
of programs that have taken in my Stuy kids even though they already
know more than the program has to offer. This guarantees that your
program will look good since these kids will produce great projects.
I recall about a year and a half ago reading an article. It
highlighted a youngster who went through one of these summer
programs. A bright kid in a well regarded, well hyped, well funded
program. I've don't think the article said so, but I heard many of this
programs top people repeatedly say "our program better prepares our
kids for the AP Computer Science exam than the AP course itself does."
Hmmm. Well, in the article, the kid learned all these wonderful things
from the program and then went back to high school.
A short time after, according to the piece, the kid was struggling in
AP Computer Science and the article quickly threw the teacher under
the bus. Now, I have no idea if the teacher was any good but if your
program better prepares a kid for the exam than the class, there's not
way the kid should have been struggling - unless, of course, it was
all a story.
The truth is, that the designers and implementers of many of these programs
don't know education and often know little CS. I can't tell
you the number of kids that have come into my classes and programs
proclaiming to be master programmers as a result of these programs and
it turns out all they know is how to build a limited drag and drop
prototype or how to tweak a pre-built template.
What's the harm? In my classes and programs, we can educate the kids
but if this is in college with less support, self doubt will creep in
and more often than not the kid will drop tech. I've seen it happen
many a time.
That brings me to the next story – the glue programs. I also see a
lot of this. Programs that teach the very rudiments of programming and
then use pre-built libraries and packages to make really impressive
looking results. They look great, but there's not a lot of substance
under the hood. I remember seeing a number of these "finished
products" and each time noting that the student contributed maybe 20 to
40 lines of code and they were mostly tweaks to the web site samples.
The final story is less of a story and more legit in terms of teaching
but it still largely a story. That's when a program tries to teach too
much to quickly. I've seen one and two week programs that promise the
word. The kids put together some impressive stuff but since it's so
much so fast, facilitated by lots of coaching, there's little
retention and questionable understanding.
I was talking to a friend a few months ago. She worked with a number
of high achieving kids teaching them to code. All seemed great. They
got the kids back together months later for a follow up. I asked "how
was the retention?" The reply "that's a real problem."
the truth is learning takes time. There's only so much you can do in
an after-school or in a summer and it's not always flashy.
When I designed Google CAPE NYC for the summer of 2010 I knew we
couldn't do everything in a month. What we did do is give the kids the
fundamentals and a path to follow to learn more. They did neat
projects but they weren't the over the top stuff you see other
programs produce (as an aside, one of my grads noted - "If it looks
too good to be true, it probably isn't true."). While we didn't
formally track the kids, 3/4 of the kids we were still in touch with
last year were still doing computer science at a second year college
level so I know what we did worked but I haven't seen that type follow
up from any other program.
We're in the midst of recruiting and fund-raising for my non-profit,
CSTUY's summer program, SHIP. We're not as connected as the big CS
programs and we don't have the hype. That makes our job harder.
What I do know is that we've got the best teachers and the best
program and that our kids might not make something quite so flashy
after three or four weeks as some of the other programs, our kids are
set up for long term success.
So, if you're looking for a great program with great teachers and a
solid plan, check out CSTUY. If you want to create a story, just follow
these steps:
- Recruit some high achieving kids so you'll have some stories
- Teach a framework or simplified tool
- Coaching, coaching, coaching.
- Make sure they have fun so you get good reviews
- Profit!!!!