Executable Examples for Programming Problem Comprehension
J. Wrenn, and S. Krishnamurthi. Proceedings of the 2019 ACM Conference on International Computing Education Research, page 131--139. New York, NY, USA, ACM, (2019)
DOI: 10.1145/3291279.3339416
Abstract
Flawed problem comprehension leads students to produce flawed implementations. However, testing alone is inadequate for checking comprehension: if a student develops both their tests and implementation with the same misunderstanding, running their tests against their implementation will not reveal the issue. As a solution, some pedagogies encourage the creation of input-output examples independent of testing-but seldom provide students with any mechanism to check that their examples are correct and thorough. We propose a mechanism that provides students with instant feedback on their examples, independent of their implementation progress. We assess the impact of such an interface on an introductory programming course and find several positive impacts, some more neutral outcomes, and no identified negative effects.
Description
Executable Examples for Programming Problem Comprehension
%0 Conference Paper
%1 Wrenn:2019:EEP:3291279.3339416
%A Wrenn, John
%A Krishnamurthi, Shriram
%B Proceedings of the 2019 ACM Conference on International Computing Education Research
%C New York, NY, USA
%D 2019
%I ACM
%K problem-solving programming testing
%P 131--139
%R 10.1145/3291279.3339416
%T Executable Examples for Programming Problem Comprehension
%U http://doi.acm.org/10.1145/3291279.3339416
%X Flawed problem comprehension leads students to produce flawed implementations. However, testing alone is inadequate for checking comprehension: if a student develops both their tests and implementation with the same misunderstanding, running their tests against their implementation will not reveal the issue. As a solution, some pedagogies encourage the creation of input-output examples independent of testing-but seldom provide students with any mechanism to check that their examples are correct and thorough. We propose a mechanism that provides students with instant feedback on their examples, independent of their implementation progress. We assess the impact of such an interface on an introductory programming course and find several positive impacts, some more neutral outcomes, and no identified negative effects.
%@ 978-1-4503-6185-9
@inproceedings{Wrenn:2019:EEP:3291279.3339416,
abstract = {Flawed problem comprehension leads students to produce flawed implementations. However, testing alone is inadequate for checking comprehension: if a student develops both their tests and implementation with the same misunderstanding, running their tests against their implementation will not reveal the issue. As a solution, some pedagogies encourage the creation of input-output examples independent of testing-but seldom provide students with any mechanism to check that their examples are correct and thorough. We propose a mechanism that provides students with instant feedback on their examples, independent of their implementation progress. We assess the impact of such an interface on an introductory programming course and find several positive impacts, some more neutral outcomes, and no identified negative effects.},
acmid = {3339416},
added-at = {2019-08-13T16:19:14.000+0200},
address = {New York, NY, USA},
author = {Wrenn, John and Krishnamurthi, Shriram},
biburl = {https://www.bibsonomy.org/bibtex/26ec582fe7c0f58b2ebc1d0e005a84d9e/brusilovsky},
booktitle = {Proceedings of the 2019 ACM Conference on International Computing Education Research},
description = {Executable Examples for Programming Problem Comprehension},
doi = {10.1145/3291279.3339416},
interhash = {c8da2b2ce310e7f8ac4c8141a08cebce},
intrahash = {6ec582fe7c0f58b2ebc1d0e005a84d9e},
isbn = {978-1-4503-6185-9},
keywords = {problem-solving programming testing},
location = {Toronto ON, Canada},
numpages = {9},
pages = {131--139},
publisher = {ACM},
series = {ICER '19},
timestamp = {2019-08-13T16:19:14.000+0200},
title = {Executable Examples for Programming Problem Comprehension},
url = {http://doi.acm.org/10.1145/3291279.3339416},
year = 2019
}