This blog post will discuss the characteristics of experiential learning and how it aligns with our learning pod’s topic: understanding different programming languages.

Photo by David Marcu on Unsplash

As the name suggests, experiential learning is a learning process where individuals engage in first-hand activities related to the topic of interest and reflect on their experiences. Experiential learning comes in many forms – from hands-on chemistry experiments in the lab to learn about different cultures through international exchange programs. One of the main advantages of experiential learning is that the learner is not merely presented with knowledge to learn, but the learner takes control in their learning and learns about the topic through first-hand experience. Since the learner is the one involved in the environment, experiential learning is shown to be effective at keeping the learner motivated throughout the learning process.

David Kolb’s Experiential Learning Model depicts the processes within experiential learning. The learner first begins with 1) Concrete Experience. If a learner is trying to bake a muffin, the learner will interact with the ingredients and various baking tools. The learner may try to knead the dough or even start baking a muffin. From this experience, the learner enters 2) the Reflective Observation stage. In this stage, the learner assesses their experience, what worked well and what didn’t. For instance, the learner might’ve forgotten to add sugar to the dough and made a healthy muffin, albeit unsweet, or they baked the muffin for too long and burned it. Based on this assessment, the learner enters 3) Abstract Conceptualization stage, when they think about their mistakes and make a better muffin next time. This leads to the final step 4) Active Experimentation where the learner tries out different approaches based on their previous experience. These 4 steps display the different stages of experiential learning.

Kolb’s Learning Cycle, Image by Queen’s University

I believe that experiential learning aligns well with the topic of understanding different programming languages. The distinction between different programming languages to learners without previous programming experience is neither clear nor easy to understand. This is because, without previous experience in programming, you don’t know what each programming language looks like, and how different programming languages accomplish the same goal differently. Thus the learner can feel that the concept is abstract and lose interest. By providing an experiential learning component to our learning resource, we can let the learner try out a simple code snippet and gain first-hand experience. This will motivate the user to continue learning about the topic and better conceptualize how the different programming languages are structured.

Community Contribution

This week, I read blog post by LiWei