Monday 25 May 2015

How to learn programming? Just do it.

At Geekuni, one of our main focuses is on experiential learning which, although it sounds complex, is really quite simple...


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:



Experiential learning is cyclical, beginning with an observation or experience. Think about learning to ride a bike. In the ‘do’ stage, you have a go at riding it. Then, if you fall off, you have the chance to think about (review) what went wrong and what went right. Then you take the things you learned form this attempt and apply it to the problem to come up with ways to make it happen better next time (plan). Each new attempt is informed by a cyclical pattern of prior experience and reflection.

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.

Monday 4 May 2015

How to install different versions of Perl


Taking control with Perlbrew on Ubuntu

Perlbrew is the quick and easy way to get multiple isolated installations of Perl onto a single host. I'll walk through how this is done on a box with Ubuntu installed.