Blog Post #2
Planning and Designing for Meaningful Learning
Backward Design reminds me of the times when I start a project with the end result in mind. For instance, in one of my assignments, the outcome was clear: my program had to compress and decompress text files accurately. Knowing that outcome helped me plan my steps more strategically. I began by identifying what âevidenceâ would prove success in writing test cases and using sample input/output filesâbefore I actually started coding. Only after setting those markers did I move into designing smaller functions and building toward the full solution.

By experiencing this, I was able to understand the reason for the efficiency of UbD. I have been in situations where I have wasted my time on some of the insignificant aspects, or I have been the cause of my overly complicated approach, as I had no clear idea of the target. Through UbD, the path and the purpose of my work became more obvious to me because every task fit like a puzzle piece to the whole picture. Thus, the program recalibrated my route from that of a frustrating, through failed experiments to one of a successful, guided journey.
Design Thinking
| Aspect of Design Thinking | Core Idea | How it Applies in CS | Personal Experiences |
| Empathy | Empathy is a way of identifying the demands, restrictions, and ways of thinking of the others. The emphasis is on creating tools that people who will actually operate them find easy and meaningful to use. Solutions devoid of empathy can be adequate in terms of technology but fall short in addressing genuine user problems. | design with the user in mind and work more effectively in teams | Simplifying explanations while teaching digital skills at my mosque |
| Iteration | Iterating is the process of developing and sharpening the ideas that go through the different ways of response and testing. Unlike waiting for the initial output to be perfect before changing iteration, which views mistakes as learning components and concentrates on gradual development. The state of mind allows you to make the way of life more profitable and take it easy. | Debugging and refining code until it runs correctly | debugging several files and fixing erros line by line |
| Prototyping | The process of prototyping is to create a first draft of a solution to assess its feasibility. It isn’t necessary for it to be perfect, but it should be functional enough to show what works and what doesn’t. Prototyping is a time saver as it reveals shortcomings from the beginning. | Writing a draft version of a program to check logic | Creating an early version of an algorithm before optimizing |
Learning Outcomes and Bloomâs/ SOLO Taxonomies
for me, Bloom’s Taxonomy has been the most useful, and very much the clear hierarchy of lower-order thinking skills (like remember and understand) to higher-order ones (for instance, evaluate and create) that it is. It helps authors visualize verbs like “add,” which are prevalent in measurable outcome statements, and it is speedier to learn to write strong outcomes by using them. Even though it is also valuable for that SOLO Taxonomy, it helps in showing the understanding of concepts deeply, such as from surface-level up to relational and extended abstract thinking, which is moving to.
- Weak outcome (surface-level): Students will list the different data structures
- Strong outcome (deeper-level):Students will evaluate which data structure is most efficient for solving a specific problem, justifying their choice with time and space complexity analysis.
To further illustrate the difference, hereâs a short video that breaks down BloomâsTaxonomy
This video focuses entirely on Bloom’s Taxonomy. It outlines a hierarchical structure for learning, moving from easy to difficult through six steps:Remember, Understand, Apply, Analyze, Evaluate, and Create.
The video explains each level with examples, demonstrating how learning progresses from simple rote memorization (Remember) to deeper comprehension (Understand), practical use (Apply), breaking down information (Analyze), critical judgment (Evaluate), and finally, synthesizing new ideas (Create). This aligns with the idea of moving from surface-level tasks to deeper, more complex ones, providing a framework for describing different levels of learning outcomes.
Better Learning Design: Surface vs. Deep Learning

Revisiting my computer science classes, it seems very clear to me the separation between surface learning and deep learning. The early stages of my programming were often marked by the surface learning I adopted, like memorizing the syntax or copying examples just for the sake of getting my quiz done. This was, of course, a helpful ingredient in my passing of assessments but I must confess that at times I did not understand the reasons why the code seemed to work. Conversely, I would say that the moments of real learning were those when I tackled projects that required me to design and debug my own solutions. For instance, developing a linked list without any previous codes meant that I had to think through the entire process, thus I could put the abstract ideas of data structures into the real-world implementation through the concept of the list. While lectures promoted mere surface recall, labs and projects (learning by doing and constructive alignment) took me to a level of understanding that was deeper and superior. This is a strong example of how a properly planned course can even change the nature of the knowledge acquired from just short-term memorization to meaningful and transferable knowledge.
Inquiry and Project-Based Learning
Reflection Ideas:
- Connection to Studies/Professional Interests
- inquiry-based learning shows up when youâre asked to research algorithms or debug unfamiliar code without a step-by-step guide.
- Project-based learning connects directly to software development building apps, working on group projects, or contributing to open-source all simulate real-world professional tasks.
- Benefits
- Encourages deeper understanding (you learn why something works, not just that it works).
- Builds teamwork and communication skills (especially relevant to software development teams).
- Prepares you for real-world challenges where problems donât have a single correct answer.
- Challenges
- Can feel overwhelming if the project is too open-ended without clear guidance.
- Time-consuming compared to structured assignments.