Blog #2: Understanding Learning through UbD and SOLO
Hi everyone, in this post I want to reflect on UbD, Design Thinking, and Taxonomies. I find these frameworks essential not only for understanding how we learn but also for building meaningful learning designs.
What is UbD and why is it important for our learning
UbD, or Understanding by Design, is a framework that emphasizes āstarting with the end in mind.ā Instead of beginning with the content we want to teach, UbD suggests first identifying the ultimate learning goals, and then designing assessments and learning activities that align with these goals. The process usually involves three stages:
Stage | Key Question |
Identifying desired results | What is the final goal for studentsļ¼ |
Determining acceptable evidence | How do we know students have achieved the goal? |
Planning learning experiences | How can we design the learning path? |
This idea reminds me of my early experience learning programming. At first, my instructor explained how to use code structures, but I did not fully understand what these structures were for, I was learning them without a clear purpose. Later, I realized that mastering these structures allowed me to build parts of a complete program. This awareness gave me much stronger motivation and increased my autonomy in learning. For this reason, I believe UbD is essential in learning design: it not only helps students acquire knowledge, but also helps them understand the real purpose of what they learn, and how it can be applied in practice. This connection between goals and practice is what makes UbD so powerful in guiding meaningful learning.
Design Thinking

Using Design Thinking in learning makes me pay more attention to the real needs of learners and the challenges that arise during the process, rather than simply focusing on completing tasks or covering knowledge points. For example, in a group coding assignment, approaching the task with empathy meant first considering the difficulties my teammates might face, such as differences in schedules or varying coding skills, instead of just dividing the work evenly. This kind of distribution was more reasonable, allowing everyone to progress together, rather than forcing the group to follow a single standard. This shows how empathy can transform the way we collaborate in learning tasks. Similarly, prototyping is also important in learning and project work. Including a prototype stage in the process not only helps identify problems early but also makes the final outcome better than the initial idea. Therefore, I believe empathy and prototyping not only help us discover problems but also help us make continuous iterations, leading to better solutions. Here is a video that further demonstrates the importance of empathy in design.
Taxonomies
When comparing Bloomās Taxonomy and SOLO Taxonomy, I find SOLO more helpful for describing levels of learning. This is because SOLO emphasizes the depth and complexity of learning outcomes, showing how students can move from surface knowledge to a more integrated and abstract understanding. Bloomās Taxonomy is very useful for writing clear learning objectives with strong verbs. However, it is more about planning instruction than describing the actual quality of student learning. For example, a weak outcome might be that a student simply remembers a piece of code or can recall the syntax of a function. This only shows surface-level understanding. A strong outcome, on the other hand, would be that the student can use that knowledge to write a similar piece of code to solve a problem, and even explain why their solution works. This reflects relational or even extended abstract understanding, which SOLO captures more effectively.
Learning by Doing and Project-Based Learning
Surface learning is something I experienced often, especially when I first started learning programming in my first year. At that time, I tended to memorize code structures just to pass exams. However, this kind of learning was shallow. After the exams, I quickly forgot most of what I had studied. I later realized that only by using the knowledge in real practice could I truly understand and remember it. This shows why learning design must always consider whether tasks encourage surface learning or deeper learning.
Project-Based Learning is a clear example of deep learning. As in programming, facing the challenges of a project not only improves understanding of syntax and concepts but also requires applying them in real contexts. Research has also shown that in PjBL, students usually work in groups, and group learning is often more conducive to reflection, knowledge expansion, and iterative improvement (Chen & Yang, 2019). This process strengthens knowledge retention and develops problem-solving skills. Also, Chen and Yang (2019) found that PBL has overall positive effects on studentsā academic achievement, though the outcomes vary depending on moderators such as subject area and educational level. At the same time, PBL brings its own challenges: it requires more time, effort, and careful design. If the project is too difficult, students may lose motivation. For this reason, I believe effective learning design needs a balance: avoiding tasks that are only rote memorization, while also ensuring projects are both meaningful and achievable.
Reference
Chen, C.-H., & Yang, Y.-C. (2019). Revisiting the effects of project-based learning on studentsā academic achievement: A meta-analysis investigating moderators. Educational Research Review, 26, 71ā81. https://doi.org/10.1016/j.edurev.2018.11.001