Simulating a Software Engineering Apprenticeship

  • Authors:
  • Ken Surendran;Helen Hays;Andrew Macfarlane

  • Affiliations:
  • -;-;-

  • Venue:
  • IEEE Software
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

Although some professions require a period of internship, residency, or apprenticeship before marking an individual as a qualified member, software engineering does not. Universities have started offering curricula in software engineering, but many continue to offer SE as a set of courses in their computer science curricula. Because the global demand for software engineers far exceeds the supply of SE graduates, CS and applied CS graduates frequently fill this gap. So, to enrich SE courses in the CS and applied CS curricula with opportunities to practice SE concepts and principles, we support an SE apprenticeship, simulated through system development projects. In this article, the authors first examine the prevailing SE body of knowledge and perspectives on SE education to construct a model consisting of knowledge areas for SE professional development. They use this model and Bloom's taxonomy to delineate knowledge areas that an apprenticeship could best handle. They then establish a framework for SE apprenticeship and use it to examine practices for simulating apprenticeships in three different academic institutions that offer CS, applied CS, or computing systems curricula. To further supplement the apprenticeship, the authors suggest using coordinated internship and co-op programs.