ABSTRACT
Programming exercise assessment tools alleviate the task of teachers, and increase consistency of markings. Many programming exercise assessment tools are based on testing. A test-based assessment tool for programming exercises cannot ensure that a solution is correct. Moreover, it is difficult to test if a student has used good programming practices. This is unfortunate, because teachers want students to adopt good programming techniques. We propose to use strategies, in combination with program transformations, as a foundation for functional programming exercise assessment. Expert knowledge, in the form of model solutions, can be expressed as programming strategies. Using these strategies we can guarantee that a student program is equivalent to a model solution, and we can report which solution strategy has been used to solve the programming problem.
- K. Ala--Mutka. A survey of automated assessment approaches for programming assignments. Computer Science Education, 15(2):83---102, 2005.Google ScholarCross Ref
- A. Gerdes, B. Heeren, and J. Jeuring. Constructing Strategies for Programming. In J. Cordeiro et al., editor, Proceedings of the First International Conference on Computer Supported Education, pages 65---72. INSTICC Press, March 2009.Google Scholar
- B. Heeren, J. Jeuring, A. v. Leeuwen, and A. Gerdes. Specifying strategies for exercises. In MKM 2008: Mathematical Knowledge management, volume 5144 of LNAI, pages 430---445. Springer--Verlag, 2008. Google ScholarDigital Library
- B. Heeren, D. Leijen, and A. v. IJzendoorn. Helium, for learning Haskell. In Haskell 2003, pages 62---71. ACM, 2003. Google ScholarDigital Library
- M. d. Mol, M. v. Eekelen, and R. Plasmeijer. Theorem proving for functional programmers -- Sparkle: a functional theorem prover. In IFL 2001, Selected Papers, volume 2312 of LNCS, pages 55---72. Springer, 2002. Google ScholarDigital Library
- S. D. Swierstra and L. Duponcheel. Deterministic, error--correcting combinator parsers. In J. Launchbury et al., editor, AFP, volume 1129 of LNCS, pages 184---207. Springer--Verlag, 1996. Google ScholarDigital Library
- G. Thorburn and G. Rowe. Pass: an automated system for program assessment. Computers & Education, 29(4):195---206, 1997. Google ScholarDigital Library
- N. Truong, P. Roe, and P. Bancroft. Static analysis of students' Java programs. In ACE '04: Proceedings of the sixth conference on Australasian computing education, pages 317---325, Darlinghurst, Australia, Australia, 2004. Australian Computer Society, Inc. Google ScholarDigital Library
- D. N. Xu. Static Contract Checking for Haskell. PhD thesis, Cambridge University, 2008.Google Scholar
- S. Xu and Y. S. Chee. Transformation--based diagnosis of student programs for programming tutoring systems. IEEE Transansactions on Software Engineering, 29(4):360---384, 2003. Google ScholarDigital Library
Index Terms
- Using strategies for assessment of programming exercises
Recommendations
Automatic assessment of program visualization exercises
Koli '08: Proceedings of the 8th International Conference on Computing Education ResearchViLLE is a visualization tool for teaching programming to novice programmers. It has an extendable support for multiple programming languages which enables language-independent learning of programming. As a new feature, ViLLE supports automatically ...
Teaching and assessing programming strategies explicitly
ACE '09: Proceedings of the Eleventh Australasian Conference on Computing Education - Volume 95This paper describes how programming strategies were explicitly instructed and assessed in an introductory programming course and describes the impact of this curricular change. A description is given of how strategies were explicitly integrated into ...
Programmable Rewriting Strategies in Haskell
Programmable rewriting strategies provide a valuable tool for implementing traversal functionality in grammar-driven (or schema-driven) tools. The working Haskell programmer has access to programmable rewriting strategies via two similar options: (i) ...
Comments