Deep Bloom (Pt. 2)

Oct. 25, 2026

Part 1 compared shallow and deep understanding for the first two levels of Bloom’s Taxonomy. This post covers the next two levels, again using the mean (average) as the example.

Level 3: Application

Activities relating to using concepts to solve novel problems.

Shallow understanding at this level would involve simply plugging numbers into an algorithm to produce the mean.

For example, I might use the following R code to find the mean for the values (1, 2, 3, 4, 5, 6).

> mean(1:6)
[1] 3.5

Clearly, this shows one can apply some superficial concept of the mean (e.g., “it’s an important number I can get with the mean() function”) to solve novel problems without necessarily having any idea what it actually means.

A contrived problem like this could be made trickier to test deeper understanding.

For example, suppose that a class of 24 students has an average exam score of 85, and a separate class of 31 students has an average score of 82. What’s the average score across the two classes?

Without grasping the underlying concept, the first thought might be to average the averages: (85 + 82)/2 = 83.5.

But this is WRONG.

As mentioned last time, the arithmetic mean can be conceptualized as an equal share per unit. In other words, if we totaled all the scores in the distribution, then cut the total into equal parts, the size of each equal part would be the mean.

But the combined classes do NOT have 2 scores, so that’s the wrong denominator; the combined count is 24 + 31 = 55. We need to account for that in our calculation.

(There’s a quick formula to solve for a weighted mean, but going straight to that from memory would again be missing the point here. That approach could also be employed formulaically, without really understanding what’s going on at a conceptual level.)

If we had all the individual scores, we could just ignore the individual class means and calculate the overall. But since we only have summary data, we’ll have to reverse-engineer it…

The mean for one class is found with M₁ = Σx₁/n₁. That means that we could multiply the mean times the count to get total: Σx₁ = M₁n₁. We can do this for both groups… Σx₁ = 85 ⋅ 24 = 2040 and Σx₂ = 82 ⋅ 31 = 2542.

Now we can find the total sum and the total count for the two groups combined: Combined Mean = (Σx₁ + Σx₂) / (n₁ + n₂) = (2040 + 2542) / (24 + 31) ≈ 83.31.

In fact, the process we just walked through can be formalized as Weighted Mean = (M₁n₁ + M₂n₂) / (n₁ + n₂). This is the quick formula I mentioned previously, but, again, simply memorizing it would bypass the underlying intuition.

If someone genuinely understands the concept of the mean at a deep level, then they could figure this out on their own, without needing to be taught the formula separately.

Level 4: Analysis

Activities relating to breaking concepts down into sub-components.

Shallow understanding, at the most basic level, would involve simply recognizing and grasping the two components of the mean formula:

  1. The sum of the values, Σx
  2. The number of values, n

It might follow from this that outlying values can drag the mean around, which might constitute deeper learning. But there is also a version of such “understanding” that is merely a memorized rule: The mean is dragged in the direction of outliers.

If someone told me that, I’d be tempted to ask, “Why? What makes it work that way? Does this happen in some lawful way?”

And those are harder questions to answer…

Deeper understanding could come from examining the formula more closely…

The formula Σx/n could be rewritten as x₁/n + x₂/n + … + xₙ/n. This provides an alternative interpretation of the mean as a weighted sum of scores, where each score gets a weight of 1/n (meaning each score counts equally).

As such, each score contributes xᵢ/n to the mean. That is, every score contributes in proportion to its own value (but the influence is scaled by the total number of scores).

This is why every score (including outlying values) “pulls the mean” in its own direction. The further a given score, xᵢ, lies from the other values, the more it changes the mean from what it would be without xᵢ.

To illustrate this, let’s see what would happen if we changed the value of a single score…

Increasing a given score by Δ increases the total sum of the distribution by exactly Δ. Therefore, taking the weight (1/n) into account, the mean must increase by Δ/n.

For example, consider this set of scores: (0, 1, 2, 3, 4). If we increase that first value from 0 to 500 (i.e., Δ = 500), it will increase the total sum by 500, and it will increase the mean by Δ/n = 500/5 = 100.

Here’s a quick demonstration in R…

> # Create a distribution with 5 scores...
> x=c(0,1,2,3,4)
> sum(x)
[1] 10
> mean(x)
[1] 2
> # Increase the first value by 500
> x[1]=x[1]+500
> # Now the sum has increased by 500...
> sum(x)
[1] 510
> # And the mean has increased by 500/5 = 100...
> mean(x)
[1] 102

(We would also see the opposite pull downward if Δ were negative.)

But, by the same token, this also demonstrates how the extent of any single value’s influence is controlled by the number of scores.

In the above example (n = 5), the Δ for that first score changed the mean dramatically. But if we have 50,000 scores, the same increase has almost no effect…

> # Create a distribution with 50k scores...
> set.seed(123)
> x=sample(1:5,50000,T)
> sum(x)
[1] 150075
> mean(x)
[1] 3.0015
> # Increase the first value by 500
> x[1]=x[1]+500
> # Now the sum has increased by 500...
> sum(x)
[1] 150575
> # But the mean has only increased by 500/50000 = .01...
> mean(x)
[1] 3.0115

In this way, all values in the distribution “drag the mean around,” but this influence is most apparent when (1) a given score is further away from the others and (2) there are relatively few datapoints in the distribution.

And this is just one example of how breaking the concept down into component parts could lead to a deeper understanding—in this case through rearranging the formula to get a different intuition.


Okay, once again, this ended up being longer than expected. Final installment tomorrow…