Computer Science departments are hurting their students...and how they can fix it

Computer Science departments are hurting their students...and how they can fix it

In an iconic moment from 2004, comedian Jon Stewart went on a CNN show called Crossfire and accused the hosts of hurting America by failing at their core mission - educating Americans about politics and government - and getting into partisan shoutfests instead.

I’m writing today to report that America’s universities are similarly hurting their computer science students. 

Over the years as a hiring manager, I have been stunned at how students with excellent grades are so ill-prepared to succeed outside school.

I have four specific suggestions for college departments to keep in mind as they evolve and improve their programs in a fast-changing economy.


Be real - what is computer science?

Human nature easily explains the surge in demand for computer science. Who can argue against six-figure salaries and extraordinary job mobility?

That said, not everyone who wants to study computer science should.

A lot of people who get into computer science programs probably don’t have any idea what skills the field demands. They are also unaware that the field is incredibly diverse; it offers a path to build lucrative job-ready skills as well as a path geared towards more theoretical research and academia.

Each path requires a different mindset and runs on different timelines. The first path, for example, could involve web programming that may not require knowledge of mathematics and computing theory.

The latter path, by contrast, requires detailed immersion in those ideas. A lot of skills it hones are not immediately convertible to jobs. And, they can be incredibly difficult if you don’t have the background or aptitude.

I have seen too many folks interested in the former path pursue the latter, simply because no one sets the context for them and explains their choices or their likely consequences.

This is why, once they have to study foundational classes like Data Structures, so many computer science students depart the program faster than cabinet members in the Trump administration.

Colleges need to set expectations before cashing in on demand. Education is not cheap and time lost is not refundable.


Keep it real - make computing fun

From my college days, I remember several programming assignments as not being fun, even though the concepts that they sought to evaluate were intellectually evocative.

Between the core ideas and their implementation, some of the music died. Too many computer science classes seemed designed to be even more soporific than lavender scented baths, chamomile tea and sedatives administered concurrently.

I have spent several years as part of a volunteer program where we teach kids how to code using LEGO Mindstorm. It is energising to watch kids ranging in age from 8-16 explore solutions to medical and infrastructural problems using LEGOs and coding. The students also design the robot, write code to automate it and explain their design decisions to judges.

Even as a judge or coach, it is fun to watch the metamorphosis of an idea through their youthful eyes. It often feels like a Jason Bourne movie, where the journey is often more rewarding than the climax.

How wonderful would it be if our professors used similarly creative techniques in entry-level courses to help computing concepts come to life.

This is not just about using computer science to solve real-world problems, but also about giving engineers the ability to explain what they do in real-life terms.

Even as computer science is lucrative and impacts society in life-changing ways, for most people technology is in a perennially pre-Newtonian state; they understand it affects them, but are not quite sure how it works. This approach will close that gap and create a more mature and socially sophisticated engineering workforce.


Collaborate, Collaborate, Collaborate

Among the many - far too many - things former Microsoft CEO Steve Ballmer got wrong, I’d list his iconic mantra of “Developers, Developers, Developers” in that it inadvertently created the mystique of the lone engineer who could create magical outcomes.

It is true that often great ideas originate with renegades who rebel against the tried and trite; however, a significant chunk of real life development occurs in collaboration. Engineers develop system architectures in partnership and teams routinely hand off parts of their work to other teams.

Often, multiple teams work in silos building parts of a larger system.

In each of these scenarios, rather than just individual ingenuity, the ability to coordinate, aggregate and translate is just as invaluable.

That stands in contrast to programming assignments that are handed under the guillotine of overly restrictive anti-plagiarism policies. These stifle cross-pollination of ideas and an ability to have your work peer-reviewed in a competitive, yet collaborative spirit.

Allowing collaboration in academic assignments will allow some deadbeats to skate, yes. But they do so at work too.


Teach the teachers

I graduated from a small midwestern college in a small town that you’d go to if you really wanted to attend school there or when you lost your way, but were too lazy to turn around (I kid, I miss the kind people of Kirksville, MO everyday, especially as I have aged). As a result, attracting talented educators was hard, especially in computer science.

The mathematics department had (and he is still there) an excellent professor who, refreshingly, made Calculus seem fun even to the arithmetically impaired. Some students suggested that he be allowed to teach computer science courses that were in high demand and could not be offered due to a shortage of available staff.

The department shot down the idea; only folks with a Ph.D. in computer science could teach computer science courses. It was a bad decision then, and remains one today.

Schools need to be more creative and flexible to meet rising demand, and ensure that the folks training tomorrow’s talent reflect the world at large.

Some ways to accomplish this include:

  • Encourage inter-department efficiencies. Dr. Maria Klawe of Harvey Mudd College wants to train people with a Ph.D. in math, physics and biology to teach computer science, potentially increasing the supply of professors.
  • Allow engineers from the private sector to teach periodic courses, even if they don’t have PhDs.
  • Simultaneously, partner with companies to enable faculty to consult on cutting-edge initiatives to keep their skills current. This is essential since some professors are so out of date that Disney probably got the idea for Frozen from their atrophied skill set.
  • Ensure that professors are not incentivized purely to bring in research dollars, which often forces them to focus on securing funding for research and diminishes the importance of teaching. I once had a professor at Arizona State University who did not show up for our final exam since he was busy writing a research proposal. When one of us went to his office to check on him, he sent the student back with a question and asked us to come back when students had finished answering it. Teaching is like eating; the health of the organism is a function of what you put in.
  • Pay professors better. It makes no sense that the educators who create tomorrow’s prosperous workforce are paid a pittance. It is no wonder so few of us CS graduates go on to complete a PhD.  


The best time to do the right thing is yesterday, but the second best time is today. And, computer science departments need to seize this moment.

Just as Orange is the New Black, geeks are the new Gods and Goddesses. Thanks to a more entrenched and potent tech boom, computer scientists are more popular than donuts at fat camp.

This last happened during the original tech boom, and I remember students getting into the field without understanding what it offered or required and then dropping out or graduating with suboptimal skills.

We should do better this go around.

America’s engineering colleges need to hit ALT, CTRL and DELETE now.

要查看或添加评论,请登录

Nishant Bhajaria的更多文章

社区洞察

其他会员也浏览了