

Computer Science Education: It’s Not Shop Class - anuleczka
http://bits.blogs.nytimes.com/2009/12/21/computer-science-education-its-not-shop-class/

======
wallflower
Recent HN Discussion:

"Learning Computer Science from Scratch (programming environment)"

[http://www.nsf.gov/news/news_summ.jsp?cntn_id=116070&org...](http://www.nsf.gov/news/news_summ.jsp?cntn_id=116070&org=OLPA&from=news)

"Getting Computer Science into Middle School"

<http://news.ycombinator.com/item?id=1007889>

------
julius_geezer
"Kids going through school today need to be more than mere consumers of this
technology, to be functional and literate citizens"

That sounds like a song I've heard before. The details vary, but something
difficult, rigorous, and in some way removed from everyday concerns must be
taught. It sounds inspiring, but I'm not sure the connection is made between
the agenda--every kid in the county takes Algebra I by 8th grade, say--and the
goal--an enlightened etc. population.

------
steveklabnik
Disregarding the whole "computers vs computer science" thing, I really believe
this is a good idea. It's one of the reasons I'm working on Hackety Hack.

Computers touch every aspect of our lives. Understanding the basics of how
they work is almost like a modern literacy. I don't think that everyone should
become master programmers, however, they should at least understand the most
basic things about how they work. We give cursory overviews of quite a lot of
things in schools, but I can't imagine one more relevant than computers.

------
TriinT
It's sad to read the comments on the NYTimes article. Even people who claim to
have years of experience in the "field" can't tell the difference between
Computer Science and computers. Dijkstra said it all:

 _"Computer Science is no more about computers than astronomy is about
telescopes."_

In my most humble opinion, the value of CS education is not to prepare young
people for a job in IT. Instead, its value is in teaching young people how to
think in an abstract and rigorous manner. This is much more valuable, and it's
useful regardless of what one's future career path is.

These days students think they can hack everything. They think they can BS on
their homework essays, they think they can BS on their exams, they abstain
from precise reasoning because it's too much work. Well, guess what? You can't
BS a computer. All those sub-human morons commenting on the NYTimes article,
the ones who work in IT and who are so afraid of outsourcing, should keep in
mind that CS education is, at its core, _applied philosophy_ and _applied
math_. The label "Computer Science" is a misnomer. Yet once again, I blame the
Bourbakists. If Turing had lived a few decades before, Theoretical CS would be
a part of Math, not a separate field.

~~~
julius_geezer
"In my most humble opinion, the value of CS education is not to prepare young
people for a job in IT. Instead, its value is in teaching young people how to
think in an abstract and rigorous manner."

How can one disagree with such a goal? Yet surely any education should aim to
teach the young how to think rigorously, and abstraction should be one of the
tools. What then distinguishes CS education from what the should be doing
across the quad in the departments of philosophy/history/literature?

~~~
TriinT
Philosophy is mostly games of words that lead nowhere. Wittgenstein wrote all
about it. History is interesting, but too ambiguous and too subjective.
Literature is to be enjoyed, not to be analyzed. CS is _rigorous_ Philosophy
and, hence, it's a good mental exercise that one can't get in other fields of
knowledge.

When you design an algorithm and implement it in code, the computer will not
allow you to be ambiguous and imprecise. You made a wrong assumption? Sorry,
your program won't work. No partial credit for you. It's tough, but it's fair.

------
rick_2047
_And computer science programs, typically elective courses, have suffered in
recent years because of budget cuts and the priority given to core courses
that are the basis of standardized tests._

This is why I always tend to hate standardized tests. They don't test once
ability in the field he would like to study. I think these "tests" must test
once aptitude in a field. For example ask someone to make an algorithm for
certain task. Now he may not have got formal training in algorithms, but he
can certainly make a procedure for something, group repetitive tasks and all
such things. This is not only for CS students you can test mechanical
aspirants for there understanding of basic physical laws and mathematics
behind it.

This idea may not be able to replace the SAT or the JEE/AIEEE we give in india
but it does have potential to become part of such exams and let the students
showcase there aptitude towards a given field.

Whenever I present such idea to someone I always tend to get a scorn, they say
that a student is not always able to decide the field they would like to work
in. But I say if he/she cannot decide where to channel there energy they
should drop a year just to contemplate there choices and options. Also, we can
blame our education system for such inabilities in decision. We are always
forced to study everything, but they ever encourage us to give some extra time
to our interests.

This is similarly true for ever discipline be it science, arts, commerce. You
just have to study everything in detail. I would like a course where I am
encouraged to learn the basics of everything and then go into one thing in
detail. But here is a word of caution. That one thing should not be a very
nano-sized niche. It should be somewhat broad. Like for electronics students
it can be something like signal processing,micro controllers/processors,
circuit design etc.

