HTML5 Canvas
Written by: Simon Sarris
Featured Refcardz: Top Refcardz:
  1. Apache Hadoop
  2. Web Driver
  3. MVVM
  4. REST
  5. ADO.NET
  1. HTML5
  2. Ajax
  3. jQuery Selectors
  4. CSS Part 1
  5. Git

Link Details

Link 328111 thumbnail
User 209965 avatar

By estherschindler
via cacm.acm.org
Published: Dec 25 2009 / 05:38

Fundamental changes to computer science education are required to better address the needs of industry, writes Bjarne Stroustrup.
  • 19
  • 0
  • 2991
  • 0

Comments

Add your comment
User 265881 avatar

Topnotch replied ago:

0 votes Vote down Vote up Reply

Excellent excellent post by Bjarne. Especially this statement:

"The practice of computer science is inherently applied and interdisciplinary, so every CS professional should have the equivalent to a minor in some other field (for example, physics, medical engineering, history, accountancy, French literature)."

I didn't really truly grasp this in school you will be expected to actually build a software system in a domain other than the pure computer science theory that you worked with in the vast majority of cases. Luckily I minored in mathematics but it was because I was interested not because I knew that I would have to apply my knowledge in another domain. There are many more gems here as well. This should be required reading for every Computer Science educational department in the country.

User 559775 avatar

mwgriffith replied ago:

0 votes Vote down Vote up Reply

Yeah, he totally knocks it out of the park on this one.

User 426965 avatar

reboltutorial replied ago:

0 votes Vote down Vote up Reply

I can't see why you can't be taught both CS and Technical skills. If people have no practical skill that's bad but it would be all that bad if all they learnt are techniques which as we know are rapidly deprecated. Theory + Practice not one nor the other.

User 46563 avatar

rv49649 replied ago:

-1 votes Vote down Vote up Reply

Bjarne - typical European socialist bias positing that most people are only fit to be destined for a specific artisan trade. Reality is most developers end up working in different business domains as software developers over the course of a lifetime career. Would suck when making the career limiting choice of what to minor in, and then constantly find potential software job opportunities reduced by 80% due to a corresponding presumption of domain specialization requirement by employers.

User 368023 avatar

yakkoh replied ago:

1 votes Vote down Vote up Reply

The blog says: "My suggestion is to define a structure of CS education based on a core ...".
That will be interesting!
Which OS should we teach: Windows, why not, I think I could be done and even interesting (I mean here the internals), Linux?, Max OS X?
Should we teach IPhone OS, as they do in Saskatchewan, Canada?
Which computer language(s): Python, Ruby, C++ or only C, Java or even Scala?
Any course(s) on the structure of a web app? PHP, Ruby or JAVA?
Should more exotic languages be part of the curriculum: Common Lisp (which had an enormous influence on CS)?

PS: courses we should get rid of, are courses like +something+ for computer scientists:
examples: Turing machines for computer scientists, Set theory for computer scientists.

User 384262 avatar

AllureFX replied ago:

0 votes Vote down Vote up Reply

I've gone through a lot of full time CS myself, and my feeling is:

(1) Universities are inherently elitist, where talking of pumping lemma puts you on a higher pedestal than pumping code - I doubt if this will ever change
(2) They're about pushing the boundaries, so esoteric and obscure stuff rules over the mundane/well-known

I guess in the end, market forces will decide where students will go to study and what the universities will teach.

Add your comment


Html tags not supported. Reply is editable for 5 minutes. Use [code lang="java|ruby|sql|css|xml"][/code] to post code snippets.