DOC PREVIEW
Software Engineering Education: A Roadmap

This preview shows page 1-2-3 out of 9 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 9 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 9 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 9 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 9 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Software Engineering Education: A RoadmapMary ShawInstitute for Software Research, InternationalCarnegie Mellon UniversityPittsburgh Pa 15213+1 412 268 [email protected]’s increasingly critical role in systems of widespreadsignificance presents new challenges for the education of softwareengineers. Not only is our dependence on software increasing, butthe character of software production is itself changing – and withit the demands on the software developers. Four challenges foreducators of software developers help identify aspirations forsoftware engineering education.KeywordsSoftware engineering, education, software profession,credentials1 INTRODUCTIONAs we enter the new millennium, software-intensivesystems have become essential parts of everyday activityand of business in the global economy. The quality of thissoftware depends on an adequate supply of proficient andup-to-date software developers.Currently, software developers are educated in thetraditional ways. Unfortunately, this has not produced thesupply and quality of developers needed to satisfy thegrowing demand. In addition, traditional education makesscant provision for helping students keep their knowledgecurrent. Since the software field does not distinguish wellamong different development roles, education for softwareengineers is confounded with education for programmersand other non-engineers.Over the next decade, education for software developersshould prepare students differently for different roles,infuse a stronger engineering attitude in curricula, helpstudents stay current in the face of rapid change, andestablish credentials that accurately reflect ability.The essential challenges are world-wide problems.Although I describe them in terms of specific examplesfrom the United States, the overall implications are global.Future-looking papers often make predictions. Suchpredictions consider possible events, good or bad, and tryto select the most likely. Instead, I state aspirations –projections of desirable outcomes that might come to passwith good luck, good judgment, and good taste.2 CURRENT STATUSSoftware developers are now educated in much the sameway as they have been for years, with the recent addition ofon-line training for computing skills. However, pressuresarising from the changing character of software and fromexternal pressures on educational institutions will requirechanges in what we teach software developers and how weteach it.Current status of software educationOver the past three decades, software developers have beeneducated in traditional ways: undergraduate and graduateprograms in colleges and universities, vocational coursesand in-house training, and personal initiative in learningnew techniques.Tomayko [14] identifies three periods in the history ofsoftware engineering education: the era of single free-standing courses (prior to 1978), the early graduateprograms (1978-88), and the rapid spread of graduateprograms influenced by the Software EngineeringInstitute’s efforts (since 1988).The 1998 FASE survey of graduate software engineeringprograms [5], although incomplete, identifies graduateprograms at 77 institutions worldwide. Most of theseinstitutions offer a masters program in some software-related area; nine offer a PhD with software engineeringelectives. Software engineering PhD programs are alsobeginning to appear, for example at Carnegie MellonUniversity [2]. These programs differ in content emphasis:for example, some masters-level programs are principallyconcerned with management of software activities, whereasothers are chiefly technical. They also differ in careeremphasis: PhD programs, by their nature, prepare graduatesfor research and college teaching positions – though manyPhD graduates choose to work in industrial developmentinstead. Some of the masters programs are academicprograms, preparation for PhD programs. Many of themasters programs are designed to prepare their graduatesfor professional practice at a high level of technical ormanagement responsibility (and not for entry to a PhDprogram).Most universities now offer undergraduate degrees incomputer science, and most provide an extensive selectionof software-related courses. These programs typically allowa student to study software design and implementationtopics, and they provide a common educational base forentry-level programming positions. For a decade or more,some members of the software education community haveadvocated undergraduate software engineering degreesseparate from computer science. Such programs areintended to provide a better base for a softwaredevelopment career than would a traditional computerscience program; the prospects that this will be the case arediscussed below. Tomayko [14] notes that we are nowentering a new era with the introduction of theseundergraduate software engineering programs, but they arenot yet widespread.Specific software development skills are taught outside theuniversity system, in vocational schools, in-house courses,or short courses. They differ in length, in cost, and in thedegree to which skills are transferable to other tasks. Someof these lead to vendor certifications of proficiency withspecific products.Notwithstanding all these opportunities, we hear regularcomplaints of severe shortfalls in the numbers of availablesoftware developers.Current forces on software development:As software becomes ubiquitous, the relation between endusers and software development is undergoing fundamentalchanges. Some of these changes have to do with theevolving character of software; others result fromincreasing pressure for recognized professional credentialsEvolving software development modelsThe prevailing model of software development, on whichmost educational programs is based, involves a team ofprofessional software developers in a single institutionworking under a well-defined process and product cycle toproduce software for a known client and deliver it onknown schedule. This closed-shop software developmentmodel is increasingly at odds with actual practice.Some of the discrepancies between the closed-shop modeland modern software include:♦ System requirements emerge as the clients understand betterboth the technology and the opportunities in their ownsettings, and the clients are intimately involved in thisprogressive development. This often requires softwaredevelopment to be done concurrently with business re-engineering.♦ The systems must


Software Engineering Education: A Roadmap

Download Software Engineering Education: A Roadmap
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Software Engineering Education: A Roadmap and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Software Engineering Education: A Roadmap 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?