

Teach Hacking in High Schools - Kevinjmireles
http://kevinjmireles.wordpress.com/2011/06/21/teach-hacking-in-high-schools/

======
japhyr
I am a high school math and science teacher, and in the last year I have
started to teach an Intro to Programming class, based on Python. It has been
really satisfying, and students are loving it. Students are just now starting
to understand enough to see where they might go with this.

I quickly run into an interesting problem, though. To teach this well, I am
starting to learn the skills needed to work at a startup. That makes me look a
little more closely every month at the "who is hiring" post, and wonder if I
could leave teaching and double my salary.

This is part of the reason many people who are teaching programming in schools
aren't good developers; if they are, it's too tempting to leave and make good
money.

~~~
startupfounder
Thanks for sharing this.

I am wondering if startups would sponsor some of their developers to go into
schools (20% of their time), give back to the community they live in and teach
young people how to hack.

Also, what about starting your own startup on the side, testing ideas and
making some small apps that generate revenue for you to provide the doubling
of your income?

Interesting problem nonetheless...

~~~
japhyr
I have started work on my own projects, which gives some satisfaction. But I
am really tempted to do it full-time. I am a pretty good teacher, because I
work hard all day long and think critically about my practice, and I work with
a really strong staff. I can't help but think that if I put that much energy
and focus into working in the startup world, that I'd do really well and enjoy
it. I am really satisfied every day, though, that everything I do all day long
is really meaningful. So I will be pretty picky about finding a startup with a
mission that is meaningful, rather than just providing a service or product
that people will pay for.

I am really curious to see where I end up in the next three years.

~~~
Kevinjmireles
Organizations are designed to do what they did yesterday. In order for schools
to attract and retain highly-skilled professionals they need to begin to
offering more flexible work schedules/careers for people like you.

And while startups can offer great financial rewards, just think of yourself
as an angel investor mentoring hundreds of startups each year! Even
ycombinator can't match that output!

~~~
japhyr
"Organizations are designed to do what they did yesterday. In order for
schools to attract and retain highly-skilled professionals they need to begin
to offering more flexible work schedules/careers for people like you."

Yes. If I am actually skilled enough to make a successful startup, I might
look at trying to make a half-time teaching position work. That would be just
to stay in teaching, not for any salary needs.

"And while startups can offer great financial rewards, just think of yourself
as an angel investor mentoring hundreds of startups each year! Even
ycombinator can't match that output!"

An angel investor who will never see any financial return on my investment.

~~~
Kevinjmireles
Having done the startup thing and lost my shirt in the process - you can read
my Lessons from the Land of Hard Knocks - <http://wp.me/1pqm> \- realize there
are no guarantees of an ROI in monetary terms. However, as a teacher you have
a much higher probability of actually making a difference and touching peoples
lives than getting excellent an excellent Karmic ROI.

That said, I'm still working toward my entrepreneurial goals, just a little
wiser and in a little more measured fashion - and this time I'm focused on
working on something that I really care about whether I make a dollar on it or
not.

------
pflats
There is a currently a large push from tech companies, colleges, and CS
teachers and the CSTA to increase the number _and diversity_ of students in
both programming and computer science. The College Board discontinued their AP
CS B exam because not only was enrollment unimpressive, but the overwhelming
majority of the students taking it were white and asian males.

There's a lot of pushes out there to make programming accessible: Randy Pausch
and CMU had Alice (which feels painfully abandoned, unfortunately), MIT has
Scratch, which Berkeley extended into SNAP/BYOB. All of these are really
offshoots, in their own way, of the promise of LOGO: to introduce children to
a programming language that is both conceptually deep and initially
accessible.

The painful bottom line, though, is that many students in the new generation
don't see the need for computer programming. They didn't grow up with the
command line, or even with finicky and annoying Windows 95 programs. They have
computers that do everything they want, and the computers generally do it
very, very well. They use Facebook and Blackberries and iPod touches and don't
worry about where the software comes from. The experience has generally been
so seamless for them that they haven't had to think about it.

Try asking a teenager how many people they think work for Facebook, or Amazon,
or Google.

I used to teach both Math and Computer Programming in a high school. Now I
teach Math full-time, and my math classes are twice as big as they used to be.
With budget cuts and the current economy/political climate, continuing an old
elective program is hard enough, let alone starting a new one.

~~~
Kevinjmireles
What I've discovered over the years is that organizations are designed to do
what they did yesterday and that people and institutions follow the cheese. In
order to get high schools to begin offering programming as a core offering,
colleges need to recognize it as meeting a core educational requirement.
Second, schools need to be provided funding to offset the cost of offering a
new subject. And finally, the educational systems need to have the flexibility
to hire people who haven't gone through the traditional certification process,
i.e. masters or bachelors in education.

Until those change, it's unlikely we'll see significant changes.

~~~
japhyr
It's pretty difficult to add a new requirement, and it's pretty difficult to
effectively embed an elective set of courses. I wonder if we could re-examine
typical graduation requirements. For example, I think most districts require
four years of English to graduate. Maybe only require two or three years of
English, and allow more selection of electives? Maybe you aren't free to just
take any elective; you can have English requirements reduced if you take a
high-level elective such as programming.

~~~
pflats
These aren't just school policies, they're usually state laws. Education
policy is a huge political topic, and one that the general public often feel
qualified to provide input on, regardless of their actual expertise.

That said, why should a hacker be exempt from English requirements? How does
programming show that they know English? Many schools are willing to count AP
Computer Science for math credits, but that's a different story.

What makes programming a higher-level elective than art, Spanish, or
geography? Bear in mind that they all have AP courses, so you're definitely
stepping on someone's feet here.

------
darkane
Out of the three high schools I attended in the late 90s, there was only one
computer related class available, in one school, and in one grade.

It was an intro to programming with C++, and the teacher was simply writing
information on a whiteboard word for word from an outdated book. She couldn't
answer any questions because she had no idea how any of it worked. Having
already become reasonably proficient with C++ many years prior, I essentially
took over teaching the class after just a few lessons, even making my own (and
better, I thought) lesson plan.

Looking back on where the public understanding of computers was in the 90s, I
can understand the lack of capable instructors. I actually feel privileged
(now, anyway) that my class had a brief introduction to Logo back in 3rd
grade, even if there wasn't another computer class until high school. But here
we are 14 years after a student had to teach C++, and I see virtually zero
computer classes available for my nephew in middle school. In fact, the only
one available to him until high school is, and I kid you not, an Intro To Word
Processing.

Part of the problem is the laughable education system in the US, where actual
education and life skills don't even make the top 10 on the list of
priorities, and where schools (and more importantly teachers) are grossly
underfunded. But the other part, I think, is that the pool of capable and
willing instructors is still non-existent. When I talk to CS students or
graduates, even ones with relevant minors, the idea of teaching as a career
isn't even something they consider. And whether it's lack of incentive or just
unwillingness, existing K-12 instructors don't seem to have any interest in
becoming savvy enough to properly teach tech courses.

I'm not sure what the solution is, but I fear it won't happen in any
satisfying time frame.

~~~
neilparikh
I'm in high school in Canada, and there is not a single programming class in
the school. The computer-related courses that are offered in the school are
Multimedia (photo-editing, video-editing etc.) and Design Studies (CAD,
AutoCAD etc.) I've program on my own time, and I'd like to take a course in
it, but it just isn't possible in my school.

I'm pretty sure there are some other schools in the city that offer computer
science class, but the city board mandates that students go to the school
closest to them. There is a transfer process, but if I decide to transfer, I
can not take IB (International Baccalaureate) even if the school I transfer to
has IB. Pretty annoying.

~~~
Kevinjmireles
Bummer! But your school is way more advanced than the ones around here where
the closest thing they have is Intro to MS Office :( P.S.My daughter's in IB
too and she thought it was pretty cool that you are too :) Now if I could just
get her interested in programming....

------
m_for_monkey
_"We need to throw off the myth that software development requires advanced
math and science – as it doesn't! In my 13 years of Web/software product
management, many of the best software developers I've worked with don't have
engineering degrees at all."_

They may not have degrees but this doesn't mean they are not engineers. I
basically agree with the post but this "be fluent in one programming language"
thing is just stupid. Languages come and go, the principles and the math stay.

Anyway, Bootstrap is a nice project in this field, based on Racket (Scheme).

<http://www.bootstrapworld.org/>

~~~
Kevinjmireles
Bootstrap looks pretty cool and I really like the way its designed to
integrate with the math concepts students are already using. And as for the
language thing, agree with your comment about languages coming and going - the
basic point is that need that we live in a multilingual world which requires
learning multiple languages in order to speak to people and machines.

------
Jun8
This is exactly what I'm thinking, i.e. rather than programs like FIRST
Robotics that aim to inspire students without much actual learning, empowering
them with coding knowledge.

I would definitely not mention the word "hacking" in any talks with high-
school people, though, since these people do not know the real meaning. Maybe
not even "coding".

~~~
lightcatcher
from my experiences, FIRST Robotics involved a ton of "actual learning"

------
lizzard
I gave a 3 hour course in "hacking" to some middle school students and they
loved it. It was interesting enough showing them the many cool things they
could do from the command line with a network connection; teaching an actual
programming language wasn't the place to start. I think that starting a bit
younger than high school, and presenting this information as interesting
secrets gets kids hooked on figuring out more on their own.

Another good intro to "hacking" is simply to have them install Linux on old
machines.

------
sgaither
I use the little programming I learned in HS a lot more than I do the Spanish
classes I took. Plus, being more comfortable with computers help me get
familiar with all the online/computerized ways to learn spanish.

~~~
Kevinjmireles
I'm fluent in Spanish and can butcher French & Portuguese pretty well, but the
reality is I've needed technical skills much more than I do language skills.

------
chunky1994
In India they DO teach hacking in schools!Yet it isn't as much fun as the
personal projects.

~~~
jorgecastillo
Do they? I wouldn't know but I am more likely to believe they don't. They
probably do the same thing as they do in Mexico, where in high school we have
technical careers. Depending on the technical career" they teach C (C++?),
Visual Basic* or Visual FoxPro* and how to diagnose and repair a PC among
other things. But people that pass this subjects are no more hackers than
people that pass algebra and calculus are mathematicians.

" Which depends on the high school you go to. ? I am not sure if C++ was
available when I was in high school. * This was some time ago when I was in
high school, maybe they don't teach them anymore.

~~~
Kevinjmireles
Hacker is such a loaded term... but the point is they have some technical
skills that are actually valuable and can lead to decent paying jobs as well
as additional study/development if they choose to... vs. cosmetology or some
of the other vocational ed being offered.

