Hacker News new | past | comments | ask | show | jobs | submit login
Computer Science Education: It’s Not Shop Class (nytimes.com)
29 points by anuleczka on Jan 1, 2010 | hide | past | favorite | 11 comments



Recent HN Discussion:

"Learning Computer Science from Scratch (programming environment)"

http://www.nsf.gov/news/news_summ.jsp?cntn_id=116070&org...

"Getting Computer Science into Middle School"

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


"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.


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.


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.


"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?


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.


When I read your post, I thought 'I bet this guy programs in Haskell'. And seeing your submissions I think I was right!

Humor aside, I agree. I think it's also a big problem in (general) AI: the usual cycle is someone thinks about a clever-sounding but vague and completely arbitrary theory of thought, then starts coding it up and fails to get anything really interesting. Early lisp programs were just one of these attempts at hacking away an AI. I think what we need is an abstract, mathematical language to describe intelligence. AIXI, as mathematical as it may be, doesn't fit the bill; it's one particular AI, not a language sufficient to describe AIs and their properties.


What did Bourbaki do?


Bourbaki is a name used by a group of french mathematicians to publish lots of important but dry, abstract and very very rigorous math.

http://en.wikipedia.org/wiki/Nicolas_Bourbaki

Bourbaki's style is not appealing to a lot of people, since it doesn't focus on applications, doesn't use pictures, etc.


I don't have a problem with the Bourbakists doing very abstract and rigorous Math. After all, Math was an edifice built on quicksand until they came along. I think they contributed a lot.

However, I also think the Bourbakists created a monster, which was this notion that the "Greek method" was the only valid one, and that the "Babylonian method" was to be avoided. Even Combinatorics was considered "unworthy" of great minds. All geometrical intuition was frowned upon. Applications were laughed at. All of a sudden, Math became sterile. Interestingly, Turing's work, in a sense, derived from Hilbert's program to make the foundations of Math solid. The fact that Theoretical CS exists outside of traditional Math is nothing more than an historical accident. Computability is pure Math. Computational Complexity is still a bit "dirty" but it's also rather fundamental.


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.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: