The Computing Body of Knowledge
Introduction
Wouldn’t it be nice if someone developed the Computing Body of Knowledge? In my view, that’s an unattainable goal. The problem is that computing is too broad a field. This article is my effort to explain what might be achieved, and what will forever remain an unattainable mirage.
First, we need to ask, “What’s a Body of Knowledge?” And before that, “What’s the purpose of a Body of Knowledge?” This second question has a broadly accepted answer. Demonstrated mastery of a Body of Knowledge is a key ingredient in qualifying for membership in a profession. Different professions have different Bodies of Knowledge, and take different views of what’s required to demonstrate mastery, but such a demonstration is key to being accepted within most professions. The Body of Knowledge, or BOK, needs to be detailed and specific enough that it’s possible to establish clear tests to determine demonstrated mastery. The BOK also needs to be extensive enough that demonstrated mastery would have market value. A thin BOK would confer relatively little market value, raising serious marketing concerns. There may, or may not, be a single computing profession, but there are a number of recognizable professionals within computing. The ACM and IEEE-CS did a major review of undergraduate computing degree programs. Their report, published in 2006, identified five widely deployed degree programs: Computer Engineering, Software Engineering, Computer Science, Information Technology, and Information Systems. The material common to all programs was minimal. Most would accept that all five kinds of degree programs could be an important step in demonstrating requisite professional BOK mastery. But no meaningful document could serve as the common BOK for all such professionals. At best, there could only be a family of computing BOKs. This family might be packaged as a meta-BOK with multiple instances, but however packaged and presented, there would be no single computing BOK. The engineering example is illuminating. There is no single BOK for all kinds of engineers. In fact, engineers have two different kinds of credentials. They must pass a professionalism test for engineers (demonstrating mastery of a general engineering BOK), and graduate from an accredited engineering degree program (thereby demonstrating mastery of a field BOK). Except for the requirement to have a license, demonstrating mastery of the general BOK confers relatively little value. Indeed, most engineering graduates don’t bother to acquire or maintain a license. The approach follow by a field such as medicine is quite different. There is a common four year medical school degree program. All physicians, regardless of their eventual specializaton, must successfully complete an accredited medical school degree program (as well as successfully complete an internship program). Demonstrate mastery of the BOK common to all physicians is significant. Computing could follow the engineering example, but, just as most engineering professionals don’t bother with a license, most computing professionals are unlikely to bother with a general professional credential. The experience of the Canadian Information Processing Society with its I.S.P. credential has demonstrated the very limited appeal of a general professional computing credential. Absent a licensing requirement, there is no reason to believe that such an approach would ever be successful. One possibility is to follow in the path of the ACM and IEEE-CS, projecting five BOKs, one each for Computer Engineering, Software Engineering, Computer Science, Information Technology, and Information Systems. But one of those BOKs already exists – a SWEBOK, or Software Engineering Body of Knowledge, has been developed and is in active use. Moreover, the Australian Computer Society, ACS, has recently published a BOK for Information Technology, specifically aimed at business focused IT Professionals. Business IT BOK What's likely to have greatest market value is a business focused IT BOK. An interesting way of thinking about an IT BOK is to recognize the importance of three kinds of knowledge. There is the foreground Professional Knowledge required to perform the tasks assigned to the IT Professional. But those foreground tasks are performed in a context, requiring increasingly significant Contextual Knowledge. And there are a number of Foundational studies that will be required in order to understand the foreground and background subject matter. The growing important of Contextual Knowledge can be observed in most professions. Technology is significantly to blame. Technology is driving changes in the boundaries of professions as new solutions to old problems are developed which require new knowledge in order to be deployed effectively. And Internet technology in particular has made access to “facts” much easier for people, including those people who use the services of professionals. Four Contextual Knowledge elements can be identified. Contextual Knowledge There's an open question about what Foundational Knowledge should be explicitly mentioned. Three elements are possible candidates for a Foundational Knowledge short-list. Foundational Knowledge The ACS IT BOK identifies six Knowledge Areas that must be mastered by the IT Professional. ACS BOK Knowledge Areas The second and third Knowledge Areas in the Australian BOK provide partial coverage for what I have described as requisite Contextual Knowledge. The other four Knowledge Areas provide coverage of the traditional business system life cycle. A simple graphic illustrates what is covered: The IT Body of Knowledge can thus be described as having three elements:
One suggestive representation for the architecture of the IT BOK is shown to the left. This is based on a classic figure / ground image, (it’s either two opposing black faces or a white vase). This representation was chosen because there has been a shift in the relative importance of the foreground Professional Knowledge and the background Contextual Knowledge.

Computing Professionals working in fields other than business IT systems could have a similarly structured BOK, with Professional Knowledge covering a different system life cycle and Contextual Knowledge appropriate for their different working context. The requisite Foundational Knowledge would, naturally enough, be structured to allow study to being of requisite Professional and Contextual Knowledge.
BOK Mastery
Thus far, “mastery” has been used somewhat glibly. The Australian BOK provides useful insight
into what could be required for mastery. They base their definition on the Bloom taxonomy of cognitive educational goals. The Revised Bloom Taxonomy can be represented by the six layer pyramid shown on the right. The idea behind this taxonomy is simple and has been extensively tested. The education process starts with the ability to just remember; advances to being able to describe and explain; then moves up to an ability to apply. At the higher levels, one finds analysis, evaluation, and creation. The Australians defined mastery as demonstrated Understanding or all parts of the BOK and then the ability to Apply that understanding in at least one sub-area within each broad Knowledge Area.
As an example, they break down Services Provision into Service management and Security management. The requisite demonstration of mastery would required demonstrated understanding of both Service management and Security management, and demonstrated ability to apply either Service management or Security management. This demonstrated broad understanding and selective ability to apply works with Professional Knowledge. In the case of Contextual Knowledge it would be sufficient to demonstrate understanding. And, while knowledge of the Application Context is important, given the broad range of possible application contexts, it may not be practical to insist on demonstrated understanding of an Application Context.
Meta-BOK
This provide a reasonable and defensible description of the business focused IT Body of Knowledge, and a reasonable and defensible definition of what is required for mastery of that Body of Knowledge. It is not our concern, here, to describe other computing Bodies of Knowledge, but it would be reasonable to expect they could also be described in terms of Professional Knowledge of a life cycle, appropriate Contextual Knowledge, and requisite Foundational Knowledge. There may elements common to two or more such computing Bodies of Knowledge, but there is no reason to prejudge the matter. The common meta-BOK would consist of just those three elements.