CSI with games and an emphasis on TDD and unit testing: piling a trend upon a trend
CSI with games and an emphasis on TDD and unit testing: piling a trend upon a trend
复制标题
CSI 与游戏并强调 TDD 和单元测试:将趋势叠加到趋势上
DOI:
10.1145/2339055.2339073
复制
发表时间:
2012
期刊:
影响因子:
--
通讯作者:
V. Lappalainen
中科院分区:
文献类型:
--
作者:
Ville Isomöttönen;V. Lappalainen
T his article studies how CS1 students responded to two recent trends in programming education: TDD-like testing, which we applied to procedural programming tasks, and game contextualization. Our main conclusions are: (1) to make students realize the importance of test writing, we need to design more programming tasks where TDD-like tests are relevant. (2) Merely working with a simple game programming library can inhibit the learning of basic programming concepts. (3) While the game development (course component) motivated students, they also reported that teacher support and well-functioning course arrangements are very important. learning properly. Rather, the students need to be able to review ready-made tests, preferably writing their own tests, to benefit from TDD in problem solving. They also point out that designing tests first was a particularly suitable strategy for weaker students, as tests tend to be simpler to start when compared to the desired functionalities. Overall, the claims advanced for the educational benefits of TDD and unit testing in the CS1 context appear to amount to students' improved understanding of program behavior. A current CS1 trend, perhaps a more topical one than TDD and unit testing, is game contextualization. Studies where games have had one role or another in CS1 have consistently reported positive experiences. Games can attract both males and females [12, 15], and students become confident in their own learning abilities with games [12]. Games appear to have a good fit with object-oriented programming, leading to a natural analysis under the OO approach [11]. Graphical games tend to match well with the constructivist view of learning, as the visual experimentation (that is involved) is likely to help in developing internal models of programming concepts [15]. Games provide meaningful study content as students can share their games within their own social network [19]. Some experiences indicate that the use of games has clearly improved retention numbers without sacrificing any technical depth of programming [12]. Improved retention does not always emerge [1], while improved student performance is quite often reported. The paper by Rajaja-vivarma [19] suggests some reasons for this improved performance. That is, with games students develop tenacity in their learning efforts , and consequently can overcome many known beginner challenges. For example, students unaffectedly focus on design questions and keep testing their products until they work properly. The complexity of implementing attractive games is regarded as the key challenge of game development in introductory programming courses …