Within the United States, the greatest job growth is in software engineering and information management. Open source software (OSS) is a major technology base for enterprise application development. The complexity of technologies used by industry is often an obstacle to their use in the classroom. In this chapter, a major software development paradigm change that occurred in about the year 2000 is explained. CS education programs have been slow to adapt to the paradigm change due to problems such as the tenure system, inexperienced student laboratory assistants, lack of leading-edge software tool support, lack of software team project servers, unavailability of help and mentoring services, and software unavailability. This chapter explains how these problems can be solved by creating an open source-based shared software infrastructure program (SSIP) sponsored by industry, but planned and implemented by SSIP member universities at no cost to member universities.
Key Terms in this Chapter
Software Tool: A software product that software developers use to create, debug, or maintain software.
Development Software Life Cycle (DSLC): Includes the multiple phases during which defined information technology work products are created or modified as part of the software development process. The last phase of development occurs when the software product is placed into operation.
Open Source: Refers to software that has Open Source Initiative (OSI) (2006) licenses. Examples of open source software are Linux, Apache, Eclipse, Derby, and so forth. Also included is open standard compliant software that is provided free to universities for classroom use. An example is IBM Rational Software Architect (RSA).
Shared Software Infrastructure Program (SSIP): The goal of SSIP is to set up an infrastructure shared among universities in which universities can easily introduce the latest leading software knowledge into both undergraduate and graduate classrooms without building costly infrastructure at each university.
Computer-Aided Software Engineering (CASE) Tools: Software tools used to assist in the development and maintenance of software.
Capstone Project: Designed for students to synthesize and integrate knowledge acquired through course work and other learning experiences.
Open Standard: Refers to standards that are publicly available. The Object Management Group (OMG) (2006) is an example of an organization that was created to produce open standards.
Outsource: To send work that would normally be done by employees in a company to workers that are employed by an outside company.
Interoperable Software: Software that operates with various kinds of software applications and systems by agreeing on a common method with which to communicate and exchange data with one another.
Productivity Paradigm Change: The improvement of productivity by use of the Internet, clients and servers connected to the Internet, improved communication technologies, advanced software tools, and outsourcing to low-cost labor regions.