Special Report – The State of Computer Science Education

  • A course at Cornell University simply titled “Networks” is taught by professors from both computer science and economics. Its focus is on how the social, technological, and natural worlds are connected covers the technology, economics, and politics of Web information and online communities.

  • Indiana University’s School of Informatics and Computing offers a program for students to apply their technical knowledge to business, telecommunications, security, or fine arts. In addition to logical reasoning, basic programming, and data visualization, graduates learn human-computer interaction design and other skills that will help them put technology to better use.

  • Carnegie Mellon University’s Lane Center for Computational Biology pursues computational tools that enable the automated creation of biological process models, which can lead to tools for individualized diagnosis and treatment of cancer and other diseases.

  • The University of Texas at Dallas has developed the first comprehensive degree program in Texas designed to foster the convergence of computer science and engineering with creative arts and the humanities. The Arts and Technology (ARTEC) partnership encourages the productive intersection of disparate fields and modes of thinking.

  • A joint program between the Purdue University Computer Science Department and its College of Education has created a new computer science program to prepare Purdue education majors to teach computer science in secondary schools. The partnership represents an endorsement that satisfies the educational computing standards set by key accreditation organizations. It incorporates recommendations made in the ACM Model Curriculum for K-12 Computer Science as well as by the Computer Science Teachers Association (CSTA).

  • Stanford University redesigned its undergraduate computer science major to include a common set of core courses; a chosen track that concentrates on a selected area for greater depth; additional electives that include multi-disciplinary ties to economics, engineering management, statistics, and psychology, among others; and a senior project with either a software development or research emphasis.

In the face of rapid and frequent changes confronting the global computing field, the Association for Computing Machinary (ACM) and the Association for Information Systems (AIS) issued new curriculum guidelines for undergraduate degree programs in information systems (IS) earlier this year. For the first time, these guidelines include both core and elective courses suited to specific career tracks. The guidelines reflect the ubiquitous use of Web technologies, and the emergence of new architectural elements including Web services, software-as-a-service, and cloud computing. They can be adapted for schools of business, public administration, and information science or informatics, as well as stand-alone schools of information systems.

Which computer languages are taught?

There is no debate about the need for learning computer languages, but there is little agreement over which is most popular or appropriate. The Bureau of Labor Statistics reports that today’s computer programming jobs require higher-level skills as lower-skilled coding jobs are being exported to countries with cheaper labor. As a result, there is greater demand for higher levels of programming skills, which enable programmers to write programs that are more or less independent of a particular type of computer, and permit faster development of large programs.

Currently, the most visible manifestation of computer programming is the Internet, which relies principally on C and C++ as well as JavaScript, Java, and PHP. Programming languages like Microsoft’s.NET, Visual Basic, Perl, and Python are clearly important for success in other aspects of the technology field.

In fact, there are hundreds of active computer languages and many more “dead” ones where the code they produced may still be running somewhere. For example, many large organizations with long histories in computing still use COBOL to run the world’s business data applications, and it is likely to remain a viable language in the years ahead.

Continuous computer science learning

Learning does not stop at the college level, particularly for computer science graduates. Due to its dynamic nature, computer science has developed a reliance on lifelong learning programs to confront the challenges of the information society. Computing professionals in growing numbers are taking advantage of the many diverse educational and instructional tools that offer multifaceted materials and resources for specific technical areas.

ACM’s Learning Center, for example, features online books from prominent technical publishers, online computing courses, and extensive resources that combine annotated bibliographies, online books and courses, tutorials, sample code, videos and podcasts, and community websites and blogs from the computing world. These resources are especially attractive for serious professionals who need to stay current in their field or adapt their knowledge and skills to new applications.