Enrollment in computer science programs peaked around 2000, at the height of the dotcom frenzy. The numbers dropped dramatically when the bubble burst; the low point came around 2004. Since then, enrollment has rebounded, but it is nowhere near the levels at the beginning of the decade. Many computer science (CS) departments and universities worry about this and are looking for ways to increase interest in CS programs. Employers fret about it as well, as the number of qualified software developers appears to be shrinking.
This month we'll look at the bright side of this phenomenon: The tremendous opportunity it has created for both the academic community and employers. I will describe two new, non-traditional, CS-related programs we recently launched at Worcester Polytechnic Institute that capitalize on this opportunity. They have attracted many new students because they reflect the changing technology landscape and produce graduates who are well positioned for employment in diverse areas of software development.
Let's begin with a look at the nature of CS.
Computer science: The new mathematics
There are many definitions for the computer science discipline. I prefer this one, which positions it as a real science:
The systematic study of computing systems and computation. The body of knowledge resulting from this discipline contains theories for understanding computing systems and methods; design methodology, algorithms, and tools; methods for the testing of concepts; methods of analysis and verification; and knowledge representation and implementation. 1
The most valuable thing that CS students learn from their studies is a particular way to approach and solve problems. That is also true for information technology (IT), management information systems (MIS), and software engineering majors. In fact, the programs for all of these disciplines overlap significantly: All teach students to program in at least one language; all teach techniques for problem analysis and system design. Students learn how to apply technology to problems, and how to process new ideas and concepts. A graduate from any one of these programs is well prepared to learn the specifics of a particular job -- including how to build business systems -- and further the organization's business goals.
At colleges and universities across the country, these programs compete with one another for students and resources. Although many more students are entering colleges and universities than was the case twenty years ago, there are also many more courses of study vying for their commitment. This new, competitive environment certainly poses challenges to any department that needs to increase enrollments in order to justify additional faculty and budget. However, I think that computer science is in an excellent position for growth.
When I was an undergraduate, math departments at most colleges and universities were quite large -- and still are today -- despite the fact that there have never been a lot of math majors at these schools. Why? Because mathematics is a core curriculum requirement. It is central to a well-rounded education because it teaches important ways to think about and solve problems; it is a cornerstone of education and intellectual activity.
For the new world of computer technology, CS is the new mathematics. It teaches fundamentally important concepts and problem solving approaches that are prerequisite for advanced study in many other diverse subject areas. Students learn to build computer models and program in a language they can apply in many contexts. They can apply the data mining techniques for very large databases that they learn to research in the medical and biotechnology industries, along with many others.
At many schools, CS has effectively become a service provider for many other campus departments. We've been lucky in our department. We are one of the largest departments on campus, in terms of undergraduate and graduate students majoring in computer science. Students studying electronics and computer engineering need to learn how to program; many take a software engineering course that teaches them how to work on large projects. IT and MIS majors take courses in networks, human-computer interaction, and databases to better understand how to configure their business systems. The list of places where CS touches the other major disciplines continues to grow. This has led some students to regard CS courses as a set of requirements rather than a fascinating course of study, but many are still excited by the discipline. Like mathematics, it can either inflame passion or turn people off; but either way, you know you need to understand it.
But you cannot sustain a vital CS department on service alone. At Worcester Polytechnic Institute (WPI), my department realized this and looked at what really interested students and what was happening in the technology world. Then we devised a way to both attract students and prepare them to take advantage of evolving employment opportunities.
Changing the curriculum for a changing world
Since 1998, Beloit College in Wisconsin has published an annual Mindset List that characterizes their entering freshmen. 2 For me, reading this list is always a humbling experience. Invariably, it makes me realize that it's not just technology that is changing so rapidly; it's also the world we live in. Students entering college today already know a lot about computer technology. If you want to know how to program your television recording device, just ask your next door neighbor's eighth grader. By the time they come to us, students have a skill set totally unlike that of students fifteen years ago.
However, these changes do not affect my mission. As always, my job is to help prepare young people to cope with the outside world after they leave campus. Fortunately, my department provides what I need to pursue this mission. Rather than getting depressed over the loss of students, our faculty got busy creating majors to attract these technologically sophisticated kids -- one in interactive media and game development and one in robotics engineering. Both are pioneering programs for undergraduate education in the United States. 3 And both qualify students for any number of positions in various computer and IT industries -- making them as attractive to employers as a major in CS or IT.
Let's take a look at why this is the case.
Preparing students for the new technology environment
What do we expect from the people who develop our software? As more and more companies outsource routine programming chores, I think it's fair to say that today's businesses are looking for more than "just a programmer" for their in-house teams. They want developers who can analyze and reason about problems, design elegant, economically feasible solutions, communicate with others about them, and deliver them quickly and efficiently. Some look for knowledge in a specific domain or technology. Although programming skills are important, they're only part of the package.
Most experienced recruiters are simply intent on finding good people, whatever their major might be. Many of the best software development professionals I've worked with majored in non-technical disciplines such as philosophy, music, or English. Their background helped them look at problems from a wider perspective and apply technology in creative ways.
We designed our robotics engineering and interactive media and game development (IMGD) majors with this in mind. Our goal was to turn out students with a broad and healthy view of the world of technology -- equipping them with enough baseline technical skills to attract job offers in diverse fields, as well as enough confidence and intellectual breadth to help them quickly grasp new concepts and become leaders.
Robots play a large role in your life, whether you realize it or not. Your automobile was partly built by robots. Robots are hard at work producing and packaging our medicines. Tireless servants willing to toil at jobs we don't want to do or are unable to do, they can clean our homes, mow our lawns, and perform many other household tasks. The U.S. military assigns them to jobs too dangerous for human soldiers, such as mine-sweeping, search and rescue operations, and so on. And we've only just begun to discover how to build and use robots effectively.
Robots come in all shapes and sizes, but most do not look like Robbie from Lost in Space, or R2D2 from Star Wars. A robot may consist of one arm that can spot weld automobile frames; or it might be a pack mule that can carry heavy gear over difficult terrain. 4
Then there are androids. Japanese researcher Hiroshi Ishiguro builds extremely lifelike androids that could have stepped right out of a science-fiction story. His latest creation is a twin -- or geminoid -- of himself that he occasionally sends to take his place to deliver lectures to his university students. Often, students are not sure whether they have the android or the real thing when they go to class. 5 We can imagine wide-ranging applications for such devices, including companions for the elderly or those suffering from a debilitating disease.
Robots are complex systems that require disciplined analysis and design techniques. But does our program provide sufficient preparation for entering the world of software development? Let's look at the curriculum for the robotics engineering program at WPI.
- Mathematics: Students must take a minimum of seven mathematics courses, including calculus, probability, statistics, discrete mathematics, and differential equations.
- Science: The requirement is four courses, including two in physics.
- Engineering science and design: This is a heavy requirement: eighteen courses. Three comprise the Major Qualifying Project (MQP), a senior project that brings together all that the student has learned and is often sponsored by an external corporation or non-profit agency. The other fifteen courses include: three in computer science including algorithms and software engineering; two electrical and computer engineering courses including embedded systems; and two courses in statics and controls.
- Robotics engineering: Students must take five courses in the robotics engineering major sequence. They design, build, program, and test their own robots.
- Entrepreneurship: Every robotics engineering major must take one course in entrepreneurship. I wish this were a requirement for more majors, including CS. Robotics as well as other technical fields offer great opportunities for those with ingenuity and initiative, and students need to know how to be successful in such a world.
- Social issues: WPI is known for producing well-rounded technology leaders. Our robotics engineering students will follow that tradition and take courses that will help them consider how their work affects society.
These requirements are similar to those for traditional CS students but involve many more engineering courses. My guess is that graduates with these credentials will be in great demand for a variety of technical careers. Would my neighbor hire a robotics graduate for one of the systems engineering positions his company desperately needs to fill? I bet he would love to. These students will know how to fit hardware and software together and build complex systems. They'll need to learn how to scale up their knowledge to work on very large systems, but that should be relatively easy. They will have the basic requirements to make them effective technical leaders.
Robotics engineering students will also be qualified to work in almost any area of embedded system development. They will understand how to develop software for systems with limited physical resources and how to configure hardware to get the most out of it.
Undoubtedly, many employers will also view robotics engineering graduates as a good fit for projects that typically hire software engineers. However, as the field of robotics itself is likely to have more jobs than there are qualified people to fill them, companies in other areas who want people with these skills may need to gear up for stiff competition with "really cool" robotics companies.
By now, I think it's clear to all of us in the technology world that computer games are not just a passing fad. They are part of the fabric of our culture. Some of us are addicted to solitaire or minesweeper, while others enjoy virtual action sports games or multi-player adventure games. As technology has improved, these games have become more sophisticated -- and have created a multi-billion dollar, highly-competitive market.
Great games require more than just cool technology; great art, music, and stories are also part of the mix. For example, a great adventure game does not invite you simply to wander aimlessly, kill as many monsters as you can, and get as much money as possible. Instead, like a good drama, it immerses you in a particular setting, develops characters, and unfolds a story line that holds your interest. It has graphics that dazzle your visual sense and sounds that tantalize your ears. We want to play it again and again, and we eagerly await new add-ons or versions.
That is why we designed our IMGD program with two tracks -- one technical, and one artistic. The technical track focuses on the technology and skills needed to build an effective game infrastructure. The artistic track encompasses skills required to weave a great tale and create amazing fantasy realms that, like great literature, captivate players and draw them into those realms as active, willing participants. Each track requires a basic understanding of the other; at the end of their studies, graduates are positioned to be full contributors to a game development team.
The artistic track aside, let's look at the technical requirements for IMGD majors and whether they will be attractive candidates for software jobs. A typical graduate of this program will have taken the following courses:
- The game development process. This course explores the roles, activities, artifacts, and tools used in producing games -- which are quite similar to those for any other software development process.
- Computer science. Students must take ten CS courses, including human-computer interaction, software engineering, computer architecture, networks, graphics, and animation or artificial intelligence. These requirements represent a pretty good cross-section of the CS curriculum.
- Mathematics and science: Students are required to take just one math and one science course, although many take more.
Although these majors might not be as qualified as robotics engineering majors to work on large system engineering projects, if you were building desktop applications, networked applications for delivering multimedia content, Web sites, or the like, then an IMGD major would be a great hire. Like robotics, the game development industry is booming; there are more jobs than qualified applicants. Again, companies in other software areas who need their skills may need to think of clever ways to entice these graduates to join their organization.
Employers: Look beyond traditional CS
Although statistics show a looming shortage in CS majors, employers need not panic. Instead, they need to broaden their vision. Graduates who pursue CS-related programs are well qualified to fill key positions on software development teams. If you are reading the resume of a newly minted graduate, take a little time to discover what that person really learned in his or her course of study. With a little extra effort, you will likely find plenty of CS-related majors who could contribute to your team and become leaders in your organizations.
1 Taken from Technology for the National Infrastructure, glossary http://www.nitrd.gov/pubs/bluebooks/1995/section.5.html
2 See http://www.beloit.edu/~pubaff/mindset/
3 You can find information about the programs at http://www.wpi.edu/Academics/Majors/IMGD/ and http://www.wpi.edu/Academics/Majors/RBE/
4 One of the leaders in transport robots is Boston Dynamics. Look at their robots at http://www.bostondynamics.com/content/sec.php?section=robotics. They have videos of the robots in action that are nothing short of amazing.
5 There are many articles about Dr. Ishiguro. One is at http://www.dailymail.co.uk/pages/live/articles/technology/technology.html?in_page_id=1965&in_article_id=450892
- Participate in the discussion forum.
- A new forum has been created specifically for Rational Edge articles, so now you can share your thoughts about this or other articles in the current issue or our archives. Read what your colleagues the world over have to say, generate your own discussion, or join discussions in progress. Begin by clicking HERE.
-
Global Rational User Group Community

Gary Pollice is a professor of practice at Worcester Polytechnic Institute, in Worcester, MA. He teaches software engineering, design, testing, and other computer science courses, and also directs student projects. Before entering the academic world, he spent more than thirty-five years developing various kinds of software, from business applications to compilers and tools. His last industry job was with IBM Rational Software, where he was known as "the RUP Curmudgeon" and was also a member of the original Rational Suite team. He is the primary author of Software Development for Small Teams: A RUP-Centric Approach, published by Addison-Wesley in 2004. He holds a B.A. in mathematics and an M.S. in computer science.





