
Getting Computer Science Into Middle School - revorad
http://www.avc.com/a_vc/2009/12/getting-computer-science-into-middle-school.html
======
jerf
I disagree. I am glad that schools do not teach computer science. Can you
imagine what bastardized "Computer Science" they would teach if they tried?
You want the same people who brought you "New Math", who teach the beauty of
mathematics as a brute-force memorization exercise optimized not for
comprehension but for easy testing, and who are blown about by educational
fads like a feather in a breeze, to teach computer science?

What would such a "computer science" look like? I don't know, but the odds of
it being actively anti-educational are far too high for my liking. Can you
imagine what a computer science optimized for testability would look like? I
can see it now:

"Fill in the blank with the correct variable name."

"Organize these lines of source to correctly sort the list."

"Find the thirty-three keywords of
$CRAPPY_LANGUAGE_WE_STANDARDIZED_ON_TWENTY_YEARS_AGO in this word scramble."

"Which of the following is the definition of 'strong typing'? A: wrong answer
B: wrong answer but defendable C: essentially wrong answer from 30 years ago
the curriculum officially calls correct D: a more right answer than C but
still wrong"

~~~
yungchin
By that logic, we shouldn't teach chemistry or physics in schools either.

I would have loved to have been exposed to some CS in school. For some reason,
my otherwise rather privileged schooling didn't feature any computing, and
nobody in my direct environment did any. Only after starting a Physics
undergrad did I meet some proper hackers, and years onwards I still feel like
I'm years behind on them.

~~~
jerf
"By that logic, we shouldn't teach chemistry or physics in schools either."

I'm pretty comfortable with that conclusion.

Anti-teaching, the teaching of things that are actively misleading about the
nature of the subject or even actively wrong, is a bad idea. It doesn't matter
how much "prior art" it has. It doesn't matter how much we have to just fill
time while the students are sitting there. It doesn't matter whether there
isn't a "better choice", because _nothing_ really is a better choice than
anti-teaching. Anti-teaching is a bad idea.

Besides, ask around. Ask your non-geek friends simple, basic physics
questions. If you like, even ask if they took physics in high school. If the
goal of physics is for students to pass a test in school, we're OK. If the
goal of physics is to give the general public an understanding of simple,
basic Newtonian physics... we _already_ aren't teaching physics, we're just
going through the motions. The "threat" you raise is already the situation we
are in.

------
tokenadult
"We continue to teach our kids French but we don't teach them Ruby On Rails.
Which do you think will help them more in the coming years?"

Asked that way, I'm not so sure the question has a definite answer. French
will still be French by the time today's middle school students graduate from
college, but Ruby on Rails just might be old-fashioned technology by then. And
maybe the paradigm of programming in general will have changed by then more
than any modern language has changed. I'm not disparaging computer science as
a subject of study--in fact my oldest son did learn more computer science in
middle school (mostly C through the Eric Roberts texts used by the EPGY
distance learning program

<http://epgy.stanford.edu/courses/cs/>

but also Logo) but foreign language study is important too. As another article
submitted in the last few hours points out, schools don't teach nearly enough
mathematics these days, either, so the whole curriculum has to become more
efficient to squeeze in one more subject.

I homeschool my children to have more flexibility to choose better curricular
materials and to have efficiency in teaching so that my children devote the
most time to the subjects they NEED the most time for. That allows them to
learn programming at middle school age while also being bilingual and well
practiced in writing and mathematical problem-solving.

~~~
dagw
I've 'lost' more potential jobs due to not being able to speak French than not
knowing Ruby. Also I'm pretty sure I can become competent in ruby on rails a
lot faster than I can become competent in French.

~~~
xal
Competent, sure. However you can learn a spoken language much faster then
people imagine. You could have conversations in french by christmas next year
with some basic courses, a good software, some tenacity and a 2 week vacation.

------
ryansloan
I think this is _really_ , _really_ important. We start teaching students the
foundations of chemistry, physics, and various areas of mathematics as early
as Sixth grade, but Computer Science is largely ignored. Hell, it's hard
enough to find a decent CS curriculum in High Schools. Students who would
never dream of studying computing might find that they have a passion for it
if they are exposed to it early enough (in a kid-digestible way, of course) I
remember reading a study (I wish I could find it to cite) that showed that
students who were exposed to CS courses early were more likely to have a
favorable opinion of the field ("it's not just for nerds") Finding people who
are capable/willing to teach CS is one of the biggest problems here, I think.

~~~
tokenadult
_I remember reading a study (I wish I could find it to cite) that showed that
students who were exposed to CS courses early were more likely to have a
favorable opinion of the field_

I grew up in an era when BASIC was a standard part of the curriculum at many
junior high schools, and I had a nominal course in computer science in high
school also. But both were deadly dull. Sometimes it's better for children to
learn a subject directly from hobbyists or professionals (as did several of my
high school classmates who became professional computer scientists eventually)
rather than from clueless schoolteachers who teach the course in desultory
fashion.

~~~
ryansloan
I definitely agree. Introducing the material isn't enough, there have to be
quality educators who are also knowledgeable of computing. You mentioned
hobbyists and professionals and I think this is a fantastic idea. Actually,
Georgia Tech's College of Computing has a program designed to take out of work
IT professionals and help them become teachers: <http://bit.ly/17xgiT>
[cc.gatech.edu] Pretty neat.

------
robk
I think the important learning for the child's development is how to think
algorithmically or within the confines of a determined system. That
application of systemic thinking to solve problems is so valuable in many ways
throughout life, from determining how other systems work to just making
smarter guesses about how to use new objects you've never seen before.
Regardless if it's taught as theory, applied projects, or whatever, that's the
really valuable skill IMO.

Algorithmic/systemic thinking, combined with the basic principles of physics
do wonders to get you through problems that life throws at you.

------
TallGuyShort
To throw in some personal experience to the discussion, I went to an
elementary school where we were taught BASIC (in addition to a lot of
'practical' classes that aren't included in most American public schools). I
can definitely see how some of the problems people are talking about would
arise, but as a direct result of that and similar classes, I and several of my
friends picked our careers very early on, taught ourselves what we needed to
know, and landed our dream jobs before we were even close to college. We had a
practical hobby, excelled at math, and have done quite well for ourselves.

I really wish the public schools where I live now would step up to the plate
and teach some more practical stuff. I really feel a lot of the kids are
wasting their time with stuff they don't really enjoy, and don't need to be
taught over and over again.

------
SamAtt
I know for a fact that every middle school in my immediate area teaches
computer programming of some kind. It's an elective but it's available.

As for it being required of every student I don't know that I agree with that.
I work with "non-computer" people who I swear to you lack basic problem
solving skills (by their own admission they are "emotionally intellegent").
I'm not sure those people would be capable of understanding and implementing
the basic logic structures needed to program and I'm not sure it's fair to set
them up for failure.

I think this is the reason that classes like Physics are also elective.
Everyone should have a basic understanding of Physics but I'm not sure you can
require that of people who aren't math inclined (remember you can graduate
High School having only taken first year algebra)

------
aplusbi
When I attended middle school there was a mandatory programming class. We all
got to program in BASIC on some Apple computers. That had a pretty lasting
influence on me, and may very well be responsible for my career path.

I also just recently finished teaching an after school program on using Scheme
to program a (simple) computer game at a middle school. While it was only a 10
week program that met once a week, I think we had a fair degree of success.

------
zargon
I was introduced to programming in 5th grade (around 1990) where we made our
own adventure games in computer class using World Builder
(<http://en.wikipedia.org/wiki/World_Builder>) on 9-inch compact Macs.
Everyone in the 5th grade took that class. The programming section was a small
part of the whole curriculum and was presented in a way that everyone had a
pretty good time with it.

------
revorad
I think it's a good point but it shouldn't go to the other extreme either. A
lot of people would hate computer programming, so they shouldn't be forced to
do it. The focus should be on teaching well and helping kids who are
interested to develop the skills.

------
amichail
Related:

[http://blog.computationalcomplexity.org/2008/12/teach-
everyo...](http://blog.computationalcomplexity.org/2008/12/teach-everyone-
programming-guest-post.html)

------
azakus
From what I remember of middle school, they DID teach us a little comp sci.
They taught LOGO for about a week. Seemed pretty fun. It was at least mostly
competent from what I can remember.

