The teaching of a computer programming unit usually consists of a major hands-on component; it is therefore inevitable that a practical component to be included as part of the unit assessment. Practical assessment component usually involves laboratory exercises, individual assignment or practical test.
Throughout my teaching experience with programming units, there arises a dilemma between the weighting of the practical assessment and the theoretical assessment component with the educational processes required for competent programmers.
With programming units, it is vital to ensure that students will acquire the skills in writing programs, hence a need for practical assessment. However, my experience reveals that high weighting on practical assessment component might tempt weak students to plagiarise. Consequently, the assessment does not reflect the student's programming skills. On the other hand, with low weighting on practical component, students do not feel there is sufficient incentive to put in the effort; given that programming assignments are usually very time consuming. In some cases, after considering the time involved and the maximum marks they will be rewarded, students might choose to ignore the practical component altogether. In such cases, students who fail the practical assessment but pass the unit overall may not have acquired the necessary programming skills.
Students wish to know how they are individually doing, how they are doing in comparison with others and whether they will pass and ultimately have an institution sanctioned degree or qualification to show to future employers. Teachers need to know whether their students are achieving the intended learning outcomes for their subject, while proving to others that they are effective teachers. The institution too needs to know whether students are achieving the intended learning outcomes. An institution also needs to know whether a prospective applicant has reached a required or appropriate standard before being accepted as student. The institution then awards the student with the appropriate documentation at the completion of their course, while proving to others (such as funding bodies) that their graduates have achieved what the institution claims they have. Finally, the community needs to know whether an institution and its teachers are effective and its graduate employable.
Although many assessment methods are well documented in literature (Cartwright, 1997), choosing the right method or the right combination of methods for assessing students in a unit is still, by no mean, an easy task. For the remaining of this paper, I would like to share some of the problems I have encountered when assessing students of a computer programming unit. Indeed, these problems are not unique to just a computer programming unit. And the intention here is to stimulate thoughts and discussion on issues related to assessment on unit with a practical component.
Problem arises when deciding the proportion of practical assessment component over final examination. When I was running the unit for the first time, I decided to get the students to do a major assignment that is worth 30% of the total assessment. To prepare the students for this major assignment, they were given smaller non-assessable lab exercises to do every week to gain various programming skills. Since these exercises were not assessable, I soon found that many students were not doing them. Consequently, many were having great difficulties in completing the major assignment. As a result, not only many failed the assignment badly, I also discovered that some assignments were similar to each other, in other words, some students were copying each others' assignments. In the following semester, instead of one major assignment, I decided to give them three smaller assignments, which is worth 10% each. I had also decided to put 10% on the lab exercises. I thought the students would appreciate that, but instead I heard complaints such as: too many assignments; so much work for so little! By the end of that semester, many students still did not do all the lab exercises, their excuse was that each exercise was only worth 1% (there were ten exercises) and the most they could lose was 10% in total. As for the assignments, not only plagiarism was a problem, I had also created a new problem for myself - the volume of marking had increased threefold and I was not able to give my students timely feedback on their learning progress.
Ramsden (1992), in his book: Learning to teach in higher education, defines the purpose of assessment as "understanding the process and outcome of student learning, and understanding the students who have done the learning" and assessment should be aimed to "make both student learning and our teaching better". Equipped with this understanding, I feel I should look at the students' problems beyond assessment methods or the proportions of assessment component. Below are some of my observations into the problem situation.
Making expectation clear
Understanding that it is unreasonable for students to know our expectations unless they are clearly stated and significant amount of time was spent in discussing them with the students. Admittedly, programming assignment is very different from essay type assignment where most Business students are familiar with. One possible way is perhaps to show assignments (of different questions) produced by past students. Programming assignment is also about applying concepts and techniques learned from lectures and text to solving problems. Students need to be made aware that this requires experience and much practices in order to do it right.
Find a way to show students it is not worth plagiarising
When caught plagiarising, students usually come up with excuses such as: "The assignment is due today, I still can't get it working, it's worth 20%. I have no choice but to ask my friend to help..."; "I thought if I get a copy of my friend's assignment just to meet the deadline, I can always try to catch up later". And from those who agree to collusion: "When my friend asked me if I can show them my assignment, it's very hard to say no although I know it's wrong to let them to copy my assignment". What the students do not realise is that although they may get a pass grade by submitting other's assignment, ultimately, they still have not learned; and they will have the same problem when they move on to the next advance level unit. Plagiarism shows that students perceive assessment as just a grade at the end of the semester with nothing to do with learning. If that is the case, we have a duty to change students' perception on assessment.
Nightingle, P., Te Wiata, I., Toohey, S., Ryan, G., Hughes, C., & Magin, D. (1996). Assessing Learning in Universities. Sydney: University of New South Wales Press.
Ramsden, P. (1992). Learning to teach in higher education. London: Routledge
|Please cite as: Chin, K. L. (1999). How to design an assessment system to ensure students acquiring the necessary practical skills in a computer programming unit. In K. Martin, N. Stanley and N. Davison (Eds), Teaching in the Disciplines/ Learning in Context, 72-75. Proceedings of the 8th Annual Teaching Learning Forum, The University of Western Australia, February 1999. Perth: UWA. http://lsn.curtin.edu.au/tlf/tlf1999/chin.html|