Powered by Drupal, an open source content management system

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.

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.

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

  1. Professional Context – The focus should be on the steps that a professional must take to perform in a trustworthy way. Specifically on the ethical and best practice concerns that must be understood by the professional.
  2. Social Context – The legal and regulatory context is an important element in shaping the professional's behavior. There may, in addition, be broader social forces that also contributed toward shaping behavior.
  3. Technology Context – The IT Professional must shape solutions from available technologies, provided through available channels. The professional must understand the available technologies and the channels through which they can be obtained.
  4. Application Context – The IT Profession needs to understand the specific business or organizational context within which IT solutions are to be deployed. No general demonstrated mastery may be practical, but the knowledge is required.

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

  1. Working Language – The professional must be able to communicate, in writing and speech. Effective knowledge of an official language is required.
  2. Basic Mathematics – Three elements might be listed under this heading. Logic, finite math, and statistics should be in the IT Professional's kitbag.
  3. Scripting – The IT Professional needs to understand how scripts, algorithms, or programs can be structured and something of their limits.

The ACS IT BOK identifies six Knowledge Areas that must be mastered by the IT Professional.

ACS BOK Knowledge Areas 

  1. IT Problem Solving
  2. Professional Knowledge
  3. Technology Resources
  4. Technology Building
  5. Services Provision
  6. Outcomes Management

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:

  1. Professional Knowledge – Knowledge of the IT business system life cycle
  2. Contextual Knowledge – Knowledge of the professional working context
  3. Foundational Knowledge – Knowledge required begin to understand the field

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.