This article presents a meaningful and advantageous new direction for information technology education, embodying principles for systematically optimizing the functioning of the business.
Our curriculum was built on the thesis that every aspect of software systems management can be understood and described as a component of four universal, highly correlated behaviors: abstraction, product creation, product verification and validation, and process optimization. Given this, our model curriculum was structured to provide the maximum exposure to current best practice in six thematic areas, which taken together as an integrated set, makes-up the attributes that differentiate us from the other computer disciplines: Abstraction: understanding and description of the problem space Design: models for framing artifact to meet criteria 3, 4, 5, and 6 Process Engineering: application of large models such as IEEE 12207 Organizational Control Systems: SQA and configuration management Evaluation with Measurement: with an emphasis on testing and metrics Construction: professional programming languages with emphasis on reusability
Our teaching strategy approaches this as a hierarchy of similar activities. In every course we require the student to define and implement all three interfaces and be able to clearly communicate this as a logically consistent model before working out the details of the solution. The focus of all understanding is top-down from the information interface. Our curriculum centers on the application of software engineering standards (such as those promulgated by IEEE) and the software process improvement, or quality standards (such as those promulgated by SEI and ISO) under the assumption that this embodies the "common body of knowledge and state of best practice" in software production and management.
The practical realization of this is an integration of the large subject areas of: software engineering (methods, models and criteria), process and product quality management (software quality assurance and metrics), software project management (work decomposition, planning, sizing and estimating), and software configuration management. Reconciliation of project and configuration management is accomplished by cross-referencing the problems, tools, notations and solutions (through explicit identification, authorization and validation procedures). As a side agenda, we have also stressed the need for re-engineering the vast number of software products currently on the shelves. This model plus germane simulated real-world experience introduces all of the relevant principles to the student within the (currently understood) framework. It allows them to develop and internalize their own comprehensive understanding and formulate a personal model of the disciplinary body of knowledge.
Uulferts, Gregory; Shoemaker, Dan; and Drommi, Antonio, "Navigating The Leading Edge: A Prototype Curriculum for Software Systems Management" (2001). ICEB 2001 Proceedings. 37.