Bloom’s Taxonomy wrt Software Development Education

Posted on July 29, 2010


Author:  Sanjay Goel,


Several authors have given a summary and commentary on Bloom’s taxonomy.  This taxonomy continues to be extensively used for course and assessment design by several computer sciences education researchers. For example, on December 20th, 2009, ACM Digital library showed 407 papers referring to Bloom’s taxonomy out of which 214 papers were published 2007 onwards.

Appendix D of the SWEBOK (Software Engineering Body of Knowledge, IEEE) report specifies the desired level of competence for the suggested topic as per the six levels of Bloom’s taxonomy: Knowledge, Comprehension, Application, Analysis, Synthesis, and Evaluation.

The simplest level, ‘Knowledge,’ exhibits previously learned material by recalling facts, terms, basic concepts, and answers. The ‘Comprehension’ level demonstrates understanding of facts and ideas by organizing, comparing, translating, interpreting, giving descriptions, and stating the main ideas. ‘Application’ is about solving problems by applying acquired knowledge, facts, techniques and rules in a different way. ‘Analysis’ represents the act of examining and breaking information into parts by identifying motives or causes, making inferences and finding evidence to support generalizations. ‘Synthesis’ aims at compiling information in different ways by combining elements in new patterns or proposing alternative solutions. ‘Evaluation’ is about presenting and defending opinions by making judgments about information, validity of ideas, or quality of work based on a set of criteria. These upper three levels are considered to represent higher-level cognitive activities that require and develop mental faculties of problem solving.

Anderson and Krathwohl modified Bloom’s taxonomy by adding another dimension of knowledge types: factual, conceptual, procedural, and metacognitive. They renamed the earlier hierarchy of levels from nouns to verbs.  They also swapped the position of the uppermost two levels. However, the highest level of evaluation involves designing of criteria and also considerations of larger context, human values, and ethics. Hence, it is appropriate to keep it at the highest level. However, in the absence of either of these two aspects in evaluation, it reduces to a higher level of analysis only.

The summary of Bloom’s revised taxonomy of cognitive processes for our purpose of software development education is as follows: (i) remember, (ii) understand, (iii) apply, (iv) analyze, (v) create, and (vi) evaluate.

The higher education system needs to make a deliberate and committed effort to put students into activities that will encourage, motivate, and force them to apply genuinely higher level cognitive skills.    The kind of activities that a typical engineering student is generally engaged in does not help in enhancing ill-defined problem solving.   Please refer a presentation on this issue.

Most of the activities that students get formally engaged in as part of the teaching learning-evaluation process promote rote-learning and conformity. If the structure of language offers a key to the structure of thought, we will know the educational ethos has changed when we see a predominant use of different verbs by faculty.

Since, 2004,  in nearly all courses taught by  department of CSE & IT at JIIT,  Noida, a deliberate attempt has been made to design question papers and assignments that engage students at higher levels of Bloom’s taxonomy.   Very often, starting from first year itself,  the exams are conducted in open book open notes mode.  Mostly the courses have a compulsory mini project.  A novel approach [9],  ‘Project-centric Evolutionary Teaching in Software Development Education,’ has been designed and applied in many courses.  These approaches have  been tremendously helpful in raising the rigour in our computing courses.

I shall be very happy to work with  faculty members  of any discipline  to   apply  Bloom’s taxonomy to raise the level of their own  courses.

Further, in my PhD thesis [8], I have enhanced and refined Bloom’s taxonomy wrt special needs of software development education in particular and higher  education in general.  I shall also share the revised taxonomy in one of future articles [10].


1.  Bloom Benjamin S. and David R. Krathwohl, Taxonomy of Educational Objectives: The Classification of Educational Goals, by a committee of college and university examiners. Handbook I: Cognitive Domain, New York, Longmans, 1956.

2.  Anderson, L., & Krathwohl, D. E., A Taxonomy for learning teaching and assessing: A revision of Bloom’s taxonomy of educational objectives [Abridged]. New York: Addison Wesley Longman, Inc., 2001.

3.  Sanjay Goel, What is high about higher education: Examining engineering education through Bloom’s taxonomy, The National Teaching & Learning Forum, Vol. 13, pp 1-5, Number 4, 2004.

4.  Sanjay Goel and Nalin Sharda, What do engineers want? Examining engineering education through Bloom’s taxonomy, Proceedings of 15th Annual AAEE Conference, pp173-185,  2004.   Presentation is available at

5.  Theories that can help teachers/trainers/e-learning designers to think like educators, help students to improve their learning ability, and also help Software Developers in developing domain competence and readiness

6.   Some Theoretical Perspectives about Learning and Teaching



9.    Project-centric Evolutionary Teaching in Software Development Education

10.  Revising Bloom’s Taxonomy wrt Engineering Education


Keywords: Software Engineering Education, Computing Education, Computer Science Education, Engineering Education, Information Technology Education, Information Systems Education, College Education, Higher Education, Professional Education


also check


Posted in: Uncategorized