Large-Scale Distance Education
of Software Developers

Allan Fisher
Philip Miller
School of Computer Science
Carnegie Mellon University


This document sketches the design of a technical education program, initially targeting the software development profession, based on delivery via distance education. The goal is to have significant impact on the global shortage of software developers by addressing the technical educational needs of people who have not historically been students of Carnegie Mellon and similar institutions. For historical reasons, we have tentatively termed this program the "Carnegie Technical Schools" (CTS.) We solicit comment, advice and interest in the CTS project.

Demand for Software Developers

The field of software development is in the early stages of a critical workforce shortage. The Federal Bureau of Labor Statistics, the Stanford Computer Industry Project and others estimate that the supply of new graduates each year will fall short of the number of new job openings by 100 thousand, 200 thousand and higher for at least the next ten years.

This situation poses an economic threat in that a shortage of skilled developers both impedes the development of software that will aid productivity and create revenue, and results in lower quality in many cases. (One survey of 365 companies showed that 40% of software projects were canceled, and another 33% caused major problems.) While market restructuring and improved software development technology could relieve some of this shortage, it is likely that we are in an extended period of very high demand.

Education Trends

The number of baccalaureate degrees conferred in Computer and Information Science has dropped nearly by half since 1986 and is extremely unlikely to expand to begin to approach the demand. In growing the pool of qualified software developers it makes sense to contemplate educating populations for whom the financial and opportunity costs of four-year academic programs are too great. This includes students of lesser socioeconomic status, career switchers, and individuals (especially women) reentering the workforce.

A focused certificate program that could provide a student with solid software development skills at low cost and within a relatively short time, would represent a substantial opportunity both to empower individuals and to help solve the software labor shortage. Trends reported by the National Center for Education Statistics indicate that the pool of good candidates for such a program is growing as the fraction of high school graduates passing the "New Basics" core (four years of English and three each of social studies, math and science) and students in grades 7-12 who use computers in school both show impressive gains over the last decade.

Carnegie Mellon Historical Notes

The education of the under-served to meet the needs of industry was the motivation, nearly 100 years ago, for Andrew Carnegie's establishment of the Carnegie Technical Schools (CTS) -- the institution that has since evolved into Carnegie Mellon University. The initial plan for the Carnegie Technical Schools prefigures our current approach:

"These courses should not encroach upon the field or purposes of your Universities, nor should they include the elementary or general education which is within the province of your Public Schools. Rather in every instance they should supplement, broaden, and enlarge the existing systems of education, and give their principal aid to those who are at present but partially or not at all provided for."

Further, as is our goal, the focus of the CTS was on durable skills, not short-term occupational training:

"Instruction which seeks only to give superficial knowledge of technical methods, or familiarity with practical details, is defective and should be carefully guarded against; and it should be insisted upon that every course of study should be built upon the fundamental principles which underlie it."

While the founders of the original CTS modified their first plan, and the institution has since become a modern research university, today's situation is ripe for a renewal of this approach.


Our goal is to provide students not only with immediately marketable skills, but with strong technical foundations that will help them as they continually renew their competence. With this goal in mind, we estimate that a software development certificate should comprise eight to ten semester-long courses, of which it's possible to take at most two or three at a time due to workload and prerequisite structure. This suggests a latency of at least eighteen months to two years, including opportunities for employment or additional coursework. A draft curriculum with these characteristics has been developed.

Delivery and Partners

For the goal at hand, providing advanced skills to students with little specific preparation, it appears that a purely autonomous learning style is inappropriate. We propose a facilitated learning approach, in which students draw most instruction (text, multimedia, references, exercises, tests) from automated systems, but are assisted and evaluated by human teachers. This assistance would be available on demand, in person and/or via email and other electronic means. Future developments will tend to ease the per-student workload of such faculty; for now, though, we make conservative assumptions, in order to guarantee quality of instruction, support students for whom human contact is especially important, and avoid requiring new technology development. We also require that it be possible for groups of students to collaborate, either through traditional or electronic means, both to achieve curricular goals and to avoid student isolation. The hardware and software technology that meets these needs is available.

To deliver a scaleable program we envision the affiliation of a number of partner organizations. Appropriate partners will have the capability to support local faculty, recruit and register students, and interact with CTS to maintain quality of instruction and administration. They will also, ideally, possess the technical infrastructure to deliver courses to students either on-site or through home or office computers. All materials would be developed and refined centrally, and faculty at partner sites would be remotely supported by CTS mentors. Partners would pay a site license fee, as well as a per-enrollment fee. The CTS certificate could be delivered as a stand-alone credential, or could be incorporated into the delivery organization's own degree or certificate programs.