African-American Ph.D.s in Computer Science

Making African-American Computer Scientists Easier to Find!

Computer Science Departments Must Reinvent Themselves to Avoid a Business School Takeover

(Adapted from Juan of aaphdcs mailing list)

http://www.computerweekly.com/Articles/2008/06/09/230991/computer-s...

Computer science departments must adjust to provide the skills graduates
need to enter the job market work-ready, or else risk losing students to
business schools, writes Andrew Tuson, head of the department of
computing at City University London. Tuson says that although large IT
employers can recruit technically able graduates and develop their
skills, smaller employers do not have the resources to train graduates
and they need new employees to be able to work on the first day.
Meanwhile, he says the IT industry has shifted away from simply
providing technical services to offering business services as well,
requiring employees and graduates who posses both business and
technological skills. Most university computer science departments have
not adapted to these changes and are still primarily theoretical and
technological in nature. The transformed IT industry gives business
schools the opportunity to take over university computer science
departments because of an increased demand for degrees that directly
relate to business-facing IT roles and an incentive among business
schools to enter the IT-business field. Tuson says that computer science
departments need to engage industry professionals and discuss what
skills graduates should have to be immediately employable. The industry
can also help by providing mentoring and role models to students, which
would also increase the availability of industry placements.

Views: 10

Reply to This

Replies to This Discussion

Disclaimer: most of experiences in CS education have been in the University and is my primary focus for my response.

I disagree with the author with respect to computer science curricula and universities in general. The University is not a vocational or technical school. Technologies and in-demand skillsets already change very rapidly, and will moreso as the rest of the world rises and economies become even more dynamic. Computer science departments would benefit from a principles-centric approach because principles are more permanent and widely applicable and give a person the best shot at being able to adapt to the dynamism of industry over a longer period of time. One idea I've been mulling over is that CS studies, epecially in the context of university, are geared towards preparing an individual for computational ways of thinking, but ultimately a student still needs to figure out computational doing. And it may be best university CS department focus on "how to think computationally" while facilitating other ways for the student to figure out "how to do computation." As applicable as computing is to so many domains, CS departments are going to have to accept that they cannot be all things to all people, maybe not even most thing.

I do feel that computer science departments are coming up short in preparing individuals for work and do see a need for more practical knowledge. But I think this additional practical instruction and experience should be approached in more creative, unorthodox ways than simply jamming courses based on industry demand into existing curricula. Universities should partner with community & technical colleges and industry who are more adept at dealing with short-term training needs. Curriculum change is a slow, beaurocratic process. I do feel professors of computer science should be more deliberate in their efforts to illustrate how computing theory and principles can be applied to real world problems. Computer science departments should continually find ways to integrate opportunities for students to build nontrivial systems. This serves two purposes: it makes it easier to grasp concepts and principles while at the same time giving the student more practical experience. The question is how can departments, especially with limited budgets and decreasing enrollments, achieve this? Perhaps service-learning or a deeper integration of co-operatives into the curriculum could address this. Owen Astrachan, CS professor at Duke University, has interesting ideas about CS curricula and creative ways for CS departments to allow students to build courses of study that more easily integrate computing into various domains. Check out his talks here: http://www.cs.duke.edu/~ola/talks.html, especially the one the on the "Cruelty of Really Teaching Computer Science". I think a video of that talk is on iTunesU or Google Video.

Many other issues come to mind, but I think I should close. I look forward to further discussion of these issue and end with a list of topics that come to mind that I haven't addressed: educational inflation(both in cost, and the amount of formal training demanded by industry); class issues(white collar vs. blue); CS as engineering vs. a science; the value of liberal arts studies in the preparation of engineers; and the gap between what college studies teach students versus what practicioners actually need in the field.
To add to your thoughtful response I'd say the following:

In general, professors don't do a good job of connecting the classroom experience to the real world (industry). I think part of the reason is that many professor have not spent time in industry to know how to do that effectively.

If industry wants more CS students who are ready to start working right away, then I think industry needs to get more involved. Ways of getting involved could include internships that actually have students expound on and use what they've learned during their previous semesters. Another way could be providing opportunities for students to do part-time work while they're in school. So instead of a student working as an admin assistant somewhere, she can be actually doing relevant work. The other thing companies could do is emphasize early (e.g., freshmen year), to students what classes they think are important for their business. This way students would be looking forward to particular classes with the understanding of why they want to master the material.

Another issue is that people by and large still see computer science as being equivalent to programming. Computer science is still too nascent a field to be seen as a science in itself to most.

I think one of the differences between an IS/IT person and a CS person is that an IT person can start using the latest technologies right away. A CS person needs a little bit of time to familiarize herself the latest technologies before she can begin to leverage them. However, more often than not, the CS person will have a firm grasp of fundamentals that the IS/IT probably won't that will ultimately lead to a cost savings or income increase. Unfortunately, many in industry don't see this way...
I've experienced this issue from both sides. This issue is less about B-Schools taking over CS departments than it is about CS departments preparing students for the world of work. At the heart of the problem is that most in industry have unrealistic and misguided expectations as to how to hire and develop employees to satisfy their information technology needs. Perhaps, as Nwokedi mentioned, it's because the field itself is relatively young and trying to find its identity and determine what roles our institutions/departments will play in the future. If you look at other disciplines such as electrical engineering (my BS); newly minted EEs are in no position to design and implement the complex electrical systems necessary to display a picture on a monitor, or power an aircraft carrier. The difference is that most companies that hire undergraduate EEs know what to expect from their new hires, and have the culture and infrastructure to properly develop them. When most companies hire an "IT professional" to write programs they really want a software engineer; or when they want an IT guy (desktop support/networking/etc... a non-programming 'computer guy') they usually stick their recent computer science graduates in these positions (remember very few companies are like Google).

The above is based on my firm belief that CS is not Software Engineering is not Programming. Part of the problem is that a Software Engineer must have a deep understanding of Computer Science, engineering/design principles, and possess the "business skills" (people skills) the author mentioned. However, universities don't have a 'path' for producing software engineers - although some are starting. And, Computer Science departments should not reinvent themselves to produce SWEs because who would be left to do the ground-breaking research necessary to move the Science of Computing forward? Our next Babbage, Touring, or von Neumann should not be force feed Java and requirements elicitation methodologies because it might get him a job one day.

An Aside: Anyone know of any African American CS pioneers? (I guess that's what we're here for)

IT talent falls roughly (OK... REAL roughly) into two categories 1) software engineers and 2) MIS/CIS/etc... professionals. To satisfy industrial demand for IT talent universities need to develop a greater number of software engineering programs; and continue to advance the MIS/IT programs. And, let Computer Science departments return to hard-core scientific research and instruction. Much in the same way that Electrical Engineers aren't mathematicians (and physicists) and Medical Doctors are not biologists... IT professionals are not Computer Scientists.

RSS

Badge

Loading…

© 2012   Created by Nwokedi C. Idika.

Badges  |  Report an Issue  |  Terms of Service