What is experiential learning?Experiential learning is often thought of as ‘learning by doing’, however there is more to it than just completing tasks. Central to experiential learning is the way we process our experiences, particularly our reflections on what we do. Reflection and feedback help us to consolidate ideas, and enable us to apply ideas/skills to new situations. Experiential learning is all about enabling critical thinking, problem solving and decision making in settings that are relevant to us.
Where did it come from?Experiential learning was formally introduced by Kolb in the 1970s but there is no doubt that the roots of learning from experience go back much further:
“For the things we have to learn before we can do them, we learn by doing them.”
(Aristotle, The Nicomachean Ethics)
Or, to put it simply:
Why is it useful?Modern education methods have been criticised for not focussing enough on the learning process of the individual student. Instead, all too often teachers concentrate on the mere transfer of information without formally encouraging critical or reflective thinking. This can mean that students don’t learn how to become effective problem solvers or to develop skills but instead just regurgitate information.
Experiential learning is the opposite - it helps people develop an in-depth understanding of their subject and how to use their knowledge and skills in real-world situations. It provides deep and lasting learning.
Why use it for teaching coding?The value of experiential learning has been recognised in many different fields. Outward Bound’s work on using experiential learning in an outdoor environment for personal development and team building is a high-profile example. However, climbing a mountain or surviving for a week in the wilderness is unlikely to help you improve your coding skills! Nonetheless, the principle holds true for programming: you do need to be able to apply your knowledge to real experiences and think critically in order to become an effective developer.
At Geekuni our teaching experience has shown us that rather than learning code in a passive manner, students learn better and faster when they actively problem-solve. ‘Hands-on’ exercises that culminate in the quick completion of fully-functional pieces of software provide effective learning. Above all, it is essential that students receive immediate feedback on their experiences as they complete tasks.
In our next post we’ll discuss another teaching method that is really effective for learning programming - Socratic enquiry.