ABSTRACT
As programming is the basis of many CS courses, meaningful activities in supporting students on their journey towards being better programmers is a matter of utmost importance. Programming is not only about learning simple syntax constructs and their applications, but about honing practical problem-solving skills in meaningful contexts. In this article, we describe our current work on an automated assessment system called Test My Code (TMC), which is one of the feedback and support mechanisms that we use in our programming courses. TMC is an assessment service that (1) enables building of scaffolding into programming exercises; (2) retrieves and updates tasks into the students' programming environment as students work on them, and (3) causes no additional overhead to students' programming process. Instructors benefit from TMC as it can be used to perform code reviews, and collect and send feedback even on fully on-line courses.
- K. Ala-Mutka. A survey of automated assessment approaches for programming assignments. Computer Science Education, 15(2):83--102, 2005.Google ScholarCross Ref
- K. Beck. Test Driven Development: By Example. Addison-Wesley, 2002. Google ScholarDigital Library
- J. Brown, A. Collins, and P. Duguid. Situated cognition culture of learning. Educational Researcher, 18(1):32, 1989.Google ScholarCross Ref
- A. Collins, J. S. Brown, and A. Holum. Cognitive apprenticeship: making thinking visible. American Educator, 6, 1991.Google Scholar
- A. Collins and J. G. Greeno. Situative view of learning. In V. G. Aukrust, editor, Learning and Cognition, pages 64--68. Elsevier Science, 2010.Google Scholar
- C. Douce, D. Livingstone, and J. Orwell. Automatic test-based assessment of programming: A review. Journal of Educational Resources in Compututing, 5(3), Sept. 2005. Google ScholarDigital Library
- S. Edwards. Using test-driven development in the classroom: Providing students with automatic, concrete feedback on performance. In Proceedings of the EISTA'03, volume 3. Citeseer, 2003.Google Scholar
- M. E. Fagan. Design and code inspections to reduce errors in program development. IBM Systems Journal, 15(3):182 --211, 1976. Google ScholarDigital Library
- J. G. Greeno. Response: On claims that answer the wrong questions. Educ. Researcher, 26(1):5--17, 1997.Google Scholar
- D. Hovemeyer and W. Pugh. Finding bugs is easy. SIGPLAN Not., 39(12):92--106, Dec. 2004. Google ScholarDigital Library
- P. Ihantola, T. Ahoniemi, V. Karavirta, and O. Seppälä. Review of recent systems for automatic assessment of programming assignments. In Proceedings of the 10th Koli Calling. ACM, 2010. Google ScholarDigital Library
- M. Kuperberg, M. Krogmann, and R. Reussner. ByCounter: portable runtime counting of bytecode instructions and method invocations. In Proceedings of the ETAPS'08, 2008.Google Scholar
- J. Kurhila and A. Vihavainen. Management, structures and tools to scale up personal advising in large programming courses. In Proceedings of the SIGITE '11. ACM, 2011. Google ScholarDigital Library
- J. Spacco, D. Hovemeyer, W. Pugh, F. Emad, J. K. Hollingsworth, and N. Padua-Perez. Experiences with Marmoset: designing and using an advanced submission and testing system for programming courses. In Proceedings of the ITICSE '06. ACM, 2006. Google ScholarDigital Library
- A. Vihavainen, J. Kurhila, and M. Luukkainen. Multi-faceted support for MOOC in programming. In Proceedings of the SIGITE '12. ACM, 2012. Google ScholarDigital Library
- A. Vihavainen, M. Paksula, and M. Luukkainen. Extreme apprenticeship method in teaching programming for beginners. In Proceedings of the SIGCSE'11. ACM, 2011. Google ScholarDigital Library
- A. Vihavainen, T. Vikberg, M. Luukkainen, and J. Kurhila. Massive increase in eager TAs: Experiences from extreme apprenticeship-based CS1. To appear in Proceedings of the ITiCSE'13, July 2013. Google ScholarDigital Library
- D. Wood, J. S. Bruner, and G. Ross. The role of tutoring in problem solving. The Journal of Child Psychology and Psychiatry and Allied Disciplines, 17(2):89--100, 1976.Google ScholarCross Ref
Index Terms
- Scaffolding students' learning using test my code
Recommendations
Whether to flip Extreme Apprenticeship: which is more effective in programming instruction?
AbstractProgramming knowledge is more important than ever in the digital world. However, teaching programming can be challenging, especially with novice learners. Considerable research has been conducted into the most effective methods for teaching ...
An Exploratory Study on Teachers' Perceptions of Game-based Situated Learning
Proceedings of the 2006 conference on Learning by Effective Utilization of Technologies: Facilitating Intercultural UnderstandingGame-based Situated Learning (GBSL) is a web-based learning paradigm which is a combination of computer game and educational content, in which the learning context is charily designed to put a learner into a game-play environment that is similar or ...
Mobile blogs in language learning: Making the most of informal and situated learning opportunities
The application of mobile technologies to learning has the potential to facilitate the active participation of learners in the creation and delivery of content. Mobile technologies can also provide a powerful connection between a variety of formal and ...
Comments