The Motivation of Students of Programming.
Masters thesis, Computing Laboratory, University of Kent at Canterbury.
Teaching (or, perhaps more accurately, learning) computer programming is a problem. Many students struggle when they first encounter a programming course and many graduate with little confidence in their programming ability. Since programming is a fundamental part of the discipline of computing and since skilled programmers are much in demand in the IT industry this represents a singularly depressing state of affairs for computing educators. This thesis presents an investigation into a key psychological factor in programming students - their motivation. The students at two UK universities were surveyed at three important points in their programming courses during the 2000/01 session. The surveys focused on the reasons why these students had chosen to study an IT degree and on the development of their feelings about their degree course (and about the programming in particular) through their first year. This research was complemented by a further study of a smaller group of students who were followed in detail on a weekly basis through their programming course. Their aspirations, struggles, and experiences were recorded. Students of any subject will not learn if they are not motivated. This thesis highlights a number of issues surrounding the motivation of programming students. They appear to value the outcome of their course throughout but they often lose motivation because they cease to believe that they will succeed. If they lose motivation they will not learn. A teacher of programming has a responsibility to pass on that skill to the students. But there is a more important responsibility. A teacher of programming must above all make sure that the students are motivated. The students must value the learning outcomes and they must also expect success. Teaching programming is only a small part of the story. Motivating students as they learn programming is a bigger, much more important, part.
- Depositors only (login required):