Some days back, I came across this term called "Bloom's taxonomy". After learning more about it, I found it very interesting. And if you're a self-taught programmer or a self-taught anything, you would probably find it interesting as well!
What is Bloom's Taxonomy?
Named after Benjamin Bloom,
Bloom's taxonomy is a set of three hierarchical models used to classify educational learning objectives into levels of complexity and specificity. The three lists cover the learning objectives in cognitive, affective and sensory domains.
It's a framework that has been used by teachers in traditional education. And if you're your own teacher, you need to know about it.
We'll be talking about the cognitive domain only since it's the one that has been the primary focus of most traditional education and is frequently used to structure curriculum learning objectives, assessments, and activities. You can read more about it on Wikipedia if you want to learn about the other domain models as well.
The Knowledge-Based Version (Cognitive Domain)
According to the 1956 original version of the taxonomy, it is broken into the six levels of objectives. In 2001, the levels were revised and reordered as below:
It involves recognizing or remembering facts, memorizing terms, definitions, or answers without necessarily understanding them.
Example - Memorising that MySQL is a relational database whereas MongoDB is a non-relational database without understanding what a relational or non-relational database is.
At the comprehension level, understanding of the above knowledge and being able to describe or explain it in your own words as well as summarize, translate the same is required.
Example - Understanding what a relational or non-relational database is.
It refers to the understanding of the knowledge in the level above to solve problems and apply this acquired knowledge in new situations.
Example - Using a non-relational database in a project.
It involves examining and breaking information into component parts and determining the relationships between these parts as well as analysing the different elements.
Example - Analysing what happens behind the scenes when an SQL query is performed.
Evaluation involves presenting and defending opinions by making judgments about information, the validity of ideas, or the quality of work based on a set of criteria.
Example - Comparing and contrasting between a relational or non-relational database and evaluating which would be an appropriate choice for a particular use case.
The act of producing new or original work using the knowledge acquired from the above levels.
Example - Building a new database and adding further optimizations needed for a use case.
Improve your skills using Bloom's Taxonomy
Bloom's taxonomy can be a wonderful tool to level up your skills and go from a complete beginner to an expert.
So, from the next time onwards when you want to improve your knowledge of a certain technology, use the Bloom's taxonomy. Step one would be to figure out which level you currently are and then work your way upwards towards the top of the pyramid.
Keep challenging yourself! Good luck! :)