> I've tried to answer this question as the conjunction of four concerns:
> ∙ What should every student know to get a good job?
> ∙ What should every student know to maintain lifelong employment?
> ∙ What should every student know to enter graduate school?
> ∙ What should every student know to benefit society?
I'm having difficulty articulating why, but I can't help feeling that this approach goes against the idea of education as a good in its own right; that the things that every computer science major should know are those things that are fundamental to the field, defined without reference to e.g. whether it'll get you a good job.
My degree is history, and it would be difficult to provide any sensible answers to those questions for that subject, except perhaps #3. There is an argument that studying the humanities provides transferable skills in critical thinking, which I would dispute; apart from the importance of questioning and evaluating sources, and a large pool of counter-examples for many arguments of the form "people have always done X", most of my (limited) abilities in critical thinking derive from my amateur digressions into science and logical fallacies. The only quantifiable benefit to society I can identify is the nuggets of interesting information I can sometimes throw into discussions and comment threads (my favourite being "Gandhi wasn't a pacifist and the British were bombed out of India", which I don't get to use often enough).
But a society without students of history (or French literature, or ancient Japanese ceramics) would be poorer; so would one without computer scientists, even if the field had no practical applications. Human knowledge advances best with a broad and deep body of ideas to bounce off each other. (No, I can't provide a concrete defence of that statement.)
The things every computer science major should know are those things that, if he or she did not know them, would make it ridiculous to call him or her a computer science major. Ditto for every other formal field of study.
> ∙ What should every student know to get a good job?
> ∙ What should every student know to maintain lifelong employment?
> ∙ What should every student know to enter graduate school?
> ∙ What should every student know to benefit society?
I'm having difficulty articulating why, but I can't help feeling that this approach goes against the idea of education as a good in its own right; that the things that every computer science major should know are those things that are fundamental to the field, defined without reference to e.g. whether it'll get you a good job.
My degree is history, and it would be difficult to provide any sensible answers to those questions for that subject, except perhaps #3. There is an argument that studying the humanities provides transferable skills in critical thinking, which I would dispute; apart from the importance of questioning and evaluating sources, and a large pool of counter-examples for many arguments of the form "people have always done X", most of my (limited) abilities in critical thinking derive from my amateur digressions into science and logical fallacies. The only quantifiable benefit to society I can identify is the nuggets of interesting information I can sometimes throw into discussions and comment threads (my favourite being "Gandhi wasn't a pacifist and the British were bombed out of India", which I don't get to use often enough).
But a society without students of history (or French literature, or ancient Japanese ceramics) would be poorer; so would one without computer scientists, even if the field had no practical applications. Human knowledge advances best with a broad and deep body of ideas to bounce off each other. (No, I can't provide a concrete defence of that statement.)
The things every computer science major should know are those things that, if he or she did not know them, would make it ridiculous to call him or her a computer science major. Ditto for every other formal field of study.