This paper examines the effectiveness of a technique that first appeared as a Teaching Tip in the Journal of Information Systems Education. In this approach the same problem is used in every programming assignment within a course, but the students are required to use different programming techniques. This approach was used in an intermediate C++ course. The assessment for the course consisted of four assignments and two examinations, one mid-term and one final. The first two assignments deal with basic C++ programming and functions, and the other two with classes and inheritance. The mid-term covers the basics of programming, including functions, and the final focuses on the use of classes and inheritance. The performance of students in the course was measured in the two semesters before and in the two semesters after introducing the use of the same problem. This was done by collecting the student scores for the assignments and examinations. Statistical analysis showed that there was a significant difference in the means of the scores for the last two assignments and the final before and after introducing the use of the same assignment problem, but no significant differences in the means of the scores for the first two assignments and the mid-term. This would indicate that using the same problem for assignments in programming classes could improve student learning by allowing students to focus on the technique, such as inheritance, rather than having first to understand new program requirements. This approach also has the advantage from an instructor’s viewpoint, in that it will reduce the amount of time spent specifying assignments and the time spent in grading as well.
Newby, Michael and Nguyen, ThuyUyen H.
"Using the Same Problem with Different Techniques in Programming Assignments: An Empirical Study of its Effectiveness,"
Journal of Information Systems Education: Vol. 21
Available at: https://aisel.aisnet.org/jise/vol21/iss4/5