Strange but true? Object-orientated programming is best taught, and learnt, while sitting on the floor

Year: 2015

Author: Henderson, Neil Ander

Type of paper: Abstract refereed

Abstract:
There is a perception amongst some of those learning computer programming that the principles of object-oriented programming (where behaviour is often encapsulated across multiple class files) can be difficult to grasp, especially when taught through a traditional, didactic ‘talk-and-chalk’ method or in a lecture-based environment.

The purpose of this study is to identify if alternative teaching methods have any advantage over the established.

One such method, developed for a government funded teaching training project delivered by Queen’s University, is called Big Code. In this scenario, learners are provided with many printed, poster-sized fragments of code (in this case either Java or C#). The learners sit on the floor in groups and assemble these fragments into the many classes which make-up an object-orientated project.

Early trials indicate that Big Code is an effective method for teaching object-orientation. The requirement to physically organise the code fragments imitates closely the thought processes of a good software developer when developing object-oriented code.

Furthermore, in addition to teaching the principles involved in object-orientation, Big Code is also an extremely useful technique for teaching learners the organisation and structure of individual classes in Java or C# (as well as the organisation of procedural code). The mechanics of organising fragments of code into complete, correct computer programmes give the users first-hand practice of this important skill, and as a result they subsequently find it much easier to develop well-structured code on a computer.

Yet, open questions remain. Is Big Code successful only because we have unknowingly targeted kinesthetic learners (if there is such a thing)? Or, perhaps, is the novelty of teaching and learning while sitting on the floor something that may quickly wane?

In this study, we create two groups of novice computer programmers; both groups have members, of a similar age, background and programming ability. Each group has a similar number of members and a similar gender balance. We use both groups of novice programmers to establish a baseline understanding of the abilities of each group to produce object-orientated code without any formal training.

We then teach object-orientated programming to the first group using the Big Code technique. We use a traditional lecture-based technique to teach object-orientated programming to the second group.

This study seeks to establish if the first group, having been taught using the Big Code technique, show an enhanced level of ability to produce object-orientated code when compared to the control group.

Back