Sign In

Communications of the ACM

BLOG@CACM

Time to Rethink Computer Science Education: The (Social) Web Changes Everything!


Ed Chi

First, on Monday last week, I read in the news that the UK government announced the creation of a new Institute for Web Science. Prime Minister Gordon Brown said that 30 million pounds will be used to create this institute to help make "'public data' public," and act as an bridge between research and business.

Then, this Monday, I read Tim O'Reilly's excellent article on "the State of the Internet Operating System," in which he talked about how the way we organize computing systems in the world is completely different from how we now (still) teach computing architectures.  He is right. When you think about how we enable a user to type in some keywords and get back, say, pictures of a moose, there are a lot of moving parts that all have to work together seamlessly. These components include server farms, IP and caching networks, parallel large-scale data analysis, image and facial recognition algorithms, and maybe even location-aware data services. He said that the "Internet Operating System" components includes search engines, multimedia access (including all its glory of access control, caching, analytics), systems relating to user identity and your social network, payment systems, advertising, activity streams, and location. How many universities can say that they have experts in all of these areas? These topics are often only covered in computer science departments as either advanced topic courses, or, worse, not offered at all.

What does these two pieces of news tell us about the state of the world? There is wide recognition that the Web has changed the world.  

"Well, duh!" you say. But there is more...

Finally, today, I read that Rensselaer Polytechnic Institute (RPI) has created the nation's first undergraduate degree in Web Science.  The news release said that the students in this interdisciplinary degree program will investigate issues on the Web relating to "security, trust, privacy, content value." RPI President Shirley Ann Jackson was quoted as saying: "With these new degree programs, students and researchers here at Rensselaer will help to usher in a new era of understanding and study of the Web from its social and economic impacts to the evolution of data". Amen!  

When I got my degrees, the university taught compilers, complexity theory, AI, algorithms, operating systems, and databases. While these courses enable me to learn new techniques such as MapReduce, large-scale analytics, visualization, etc., I often feel that my education only equipped me to prepare for the Web world, but not actually prepare me for the Web world. How I wished that my undergraduate curriculum included required studies on security and privacy, large-scale data analytics, advanced data mining techniques, HCI research methods like remote user studies, eyetracking, survey methods, or even detailed study of recommendation algorithms and systems.

Am I saying that compilers and theory don't matter anymore?  Of course not. They are still excellent academic research pursuits in their own domains, but there might be other new topics that should make it into the curriculum now to better prepare the students for a new world. The construction of the new social Web (that is ever changing) requires a different set of skills! The world has changed, and so should the computing science curriculum as well.

 


Comments


The account that made this comment no longer exists.

Sorry, but I couldn't disagree the more. This is not about computer science, it's about how we engineer modern systems.

Computer science is about the fundamental of creating systems to process information, the basic abstract notions, logic, algebra, algorithms,computability and computer organization.

It's clear that we need to introduce new topics like virtualization, cloud computing, semantic web, social networks, but that doesn't change a bit the fundamentals of how computers works.

It sounds like you were training users instead of scientists. And what will happen with all that people that only knows this kind of systems when we move to the next big thing? I mean, you don't believe this is the end of information system's evolution, do you?

I went to university in the late 80's and I've been able to cope with all the changes in those 20 years thanks to a solid formation in the fundamentals.

People need a future proof education, not a perishable one.


Ed Chi

Pablo:

You're making the exact same arguments that some mathematicians and electrical engineers used to make about Computer Science. How the fundamental of their areas more than covered the new research directions. Heck, physics folks used to argue (and some still do) that everything derives from their field, so every other field is redundant.

I disagree that an education teaching the basics of how to organize the web would be a perishable one. The web has changed the world, and it will be relevant for a long time.

As computer scientists, we have a choice. We can either teach our students compiler design and floating point implementations, or we can teach them machine learning and large-scale data analytics. We can either fold in this new research direction and expand our field, or we can say that it is an application area and let it organically grow until it is so big that it splits into a new department and leaves CS behind. (In fact, I often wonder if it is already too late for us to embrace and extend!)

--Ed


Displaying all 2 comments