Professional Documents
Culture Documents
39
ITiCSE’18, July 2–4, 2018, Larnaca, Cyprus M. Cook et al.
more analysis and tool improvements are in progress. To make The reasoning system and experiment design have been guided
the presentation of this paper meaningful within the page limits, by related prior research [[35]], which discusses methods to
we restrict the focus of this paper to one experiment using the decrease intrinsic cognitive load (e.g., a sequence of simple to
simplest possible examples and discuss some findings in that complex tasks), decrease extrinsic cognitive load (e.g.,
context to show the potential of the approach. segmentation, contiguity, and signaling), and promote germane
Spohrer and Soloway have noted the difficulties novice students cognitive load (e.g., expectancy-driven models and sub-goaling).
face in reasoning about compositions of statements, even as these The system allows educators to create custom activities that
students seem to understand individual programming constructs address obstacles specific to their students. It is flexible enough to
[[29]]—so we have begun our experimentation at this level of accommodate activities targeting a variety of concepts [[15], [32]]
complexity. For example, over 50% of students deem the following and misconceptions (e.g., [[19]]) at varying levels of Bloom’s
code to be correct in an assessment exercise in a junior-level taxonomy [[7]]. Due to space limitations, this paper focuses on
software engineering course in multiple offerings: activities under the category of “correct evaluation of simple, self-
int max (int i, int j) { referential and compound assignment operators” in [[21]], which
max = i + j; includes activities for each “learning objective.”
if (i > j) { max = max – j; } The left side of the user interface shown in Figure 1 contains an
if (j > i) { max = max – i; } activity and reference material—scaffolding for a beginner. For
return max; } example, it may include a list of all available relational operators,
The error in the code is subtle. It is not correct when i = j (even or note that “:=” is the assignment operator. (We reserve “=” for
ignoring overflow/underflow errors). When the exercise is given logical equality, and this distinction appears to pose no problems
on a quiz or on an exam, and a student deems it correct, a plausible for our students.) The right side of the interface contains the
conclusion is that the student overlooked the case when i = j. activity and a button used to check correctness.
Alternatively, when a student deems the code incorrect, a We note that while Java was the programming language used in
plausible conclusion is that the student understood the error. Such the course, the slightly different language used in the presented
educator conclusions are suspect unless students are asked to code appeared to pose no problems at all for students, as indicated
show detailed steps for their answers, and those steps are by their post surveys. The reasoning does require an
evaluated carefully to give feedback [[5]]. Even assuming students understanding of two “non-programming” or logical ideas
have a proper notion of correctness (which itself is questionable described next and explained easily.
[[20]]), what if the students who deemed the code incorrect (the
expected answer) did so because they did not understand the
effect of this sequence of assignment statements?
max = i + j;
max = max – j;
While the larger objective is to improve the logical reasoning
abilities of learners, the system and experiment described in this
paper aim to understand the specific obstacles individuals or
groups of students face in generalizing their reasoning from
specific inputs. The question is important because unless we
understand these specific obstacles, it is hard to provide effective
Figure 1: Simple First Reasoning Activity Using Constants
help. When class sizes are large, some automation is critical.
This paper is focused on learning obstacles associated with code The student’s task is to trace the given code and complete the
composition; the obstacles are language-independent and logical Confirm assertion (where “=” means equals, as in logic). The
in nature. To achieve the objectives, we have built a novel online student can only change /* expression */ in the assertion,
system that is supported by the freely available RESOLVE which should not be confused with an assert statement; nothing
verification engine to help beginners reason about code [[9], [28]]. is executed. The system is robust enough to detect and prevent
Unlike debugging, the verification engine makes it possible to trivial answers, such as “Confirm K = K”. When an answer is
learn to reason about code without assuming particular input wrong, either the activity is repeated or a follow-up activity is
values. It offers a class of learner activities and directed logical given to pinpoint obstacles in the student’s reasoning. While
feedback not otherwise possible with standard IDEs. Since correct learners can run code on specific inputs and check answers with
answers do not have to be computed to check learner answers, the test-based systems (e.g., [[21],[33]]), the present system allows
engine forms the basis for a powerful pedagogical agent and reasoning over all inputs with the aid of a verification engine.
allows learner activities to be created easily. The example activity below contains a composition of self-
referential assignments and asks students to state the values of I
2 ONLINE REASONING SYSTEM and J in terms of the input values. These initial input values are
remembered to be #I and #J, respectively, at the line marked
Working memory load, also known as cognitive load [[31]], is
Remember. (This information appears in the Reference Material
implicated as a major impediment to constructivist learning [[8]].
40
Where Exactly Are the Difficulties in Reasoning Logically ... ITiCSE’18, July 2–4, 2018, Larnaca, Cyprus
on the screen; it is not shown here. Note that it is also possible to The reasoning system has been designed to provide feedback that
use extra variables to hold initial values and not use Remember.) is immediate [[4], [24]] and reduces cognitive load [[25]]. Such
feedback prevents learners from floundering and can lead to the
same level of learning in less time. If corrected immediately,
students may not encode incorrect “knowledge” into memory
[[3]].
3 EXPERIMENTAL SETUP
The experiment was conducted in laboratory sections associated
Figure 2: Reasoning Activity 3
with a second-year course on software development that
Instead of stating concrete values of I and J at the end of the code emphasizes software engineering principles; it is taught in Java.
for specific inputs, students now have to state the values Course details may be found in [[12], [16]]. The course description
symbolically, in terms of the initial values, namely #I and #J. We includes specification and reasoning among the topics covered. It
want students to understand and be able to explain that the code is required for all CS majors. No formal instruction was given on
swaps the values of I and J (ignoring overflows, for now). The reasoning before the experiment, so the tool was the first
(expected) correct answers are given below. introduction to the topic, including use of Remember and
Confirm I = #J; -- Can only edit the RHS Confirm constructs. Students were allowed to ask the TAs for
Confirm J = #I; -- Can only edit the RHS help, though few took advantage. The students were not time-
The reasoning system will attempt to confirm the answers using constrained. They took from 20 minutes to an hour to complete
the verification engine. In case of legitimate claims, such as the all the activities.
ones below, it will agree that the stated, logically equivalent The experiment was conducted in the fall of 2016, and benefitted
answers are indeed correct. from a piloting of the ideas the year before. There were five
Confirm I = #I + #J - #I; laboratory sections for the course, each with 20-25 students. There
Confirm J = #I + #J - #J; was a browser issue in the first lab section, so we did not use any
As noted earlier, the system is robust enough to reject trivial of the data from that section in our analysis. Eighty-eight students
answers, such as the ones below, though they are logically correct. in the other four lab sections participated.
Confirm I = I;
Confirm J = J; 4 QUANTITATIVE DATA ANALYSIS
Syntactically meaningless answers are also rejected:
Reasoning activities for this experiment were organized as
Confirm I = I +-;
follows. The first two were introductory activities that
Confirm J = $J;
familiarized students with basic concepts. Of the next eight, three
We discuss Activity 3 in some detail to motivate the ideas. To
involved assignment statements, three involved if-then
pinpoint the learning obstacles, follow-on activities are given. For
statements, and two involved while loops. We discuss in detail the
example, follow-on Activity 3a (not shown) has shorter code and
analysis of student responses for Activity 3. No demographic
eliminates the last assignment statement, leaving only two
analysis is reported because the sample sizes are small, and in
statements to be traced. If the student cannot answer this
these small samples, we did not notice any appreciable
simplified version, Activity 3b is given. It is the same as Activity
differences.
3a, except that it asks the student to assert the values after each
statement. This mirrors a typical step-by-step approach to identify 4.1 Student Performance on Activity 3
where, specifically, the student is encountering an obstacle. Figure
3 shows a screenshot that captures Activity 3b, a student response, Activity 3 (Figure 2) consisted of three follow-up activities (3a,
and the system response, highlighting (in red) which part of the 3aa, and 3b), as shown in Figure 4. Once a syntactically correct
answer is incorrect. answer was entered, those who answered it correctly progressed
The example illustrates several points. Once an obstacle has been to the next activity (along the edge marked with a C). Others went
identified for a specific student or group of students, the instructor to Activity 3a (along the edge marked with an I)
may guide students directly, or the system can guide them. This
guidance is not a part of the experiment in this paper.
41
ITiCSE’18, July 2–4, 2018, Larnaca, Cyprus M. Cook et al.
of the assertions, and the system moved these students to Activity Recall that students who correctly answered Activity 3a were
3a. Qualitative analysis suggests possible reasons. moved to Activity 3aa (Figure 7, shown with correct student
Activity 3a’s code is shorter. It is identical to Activity 3’s code, responses in green). Activity 3aa is identical to Activity 3a, except
except that the third assignment statement from Activity 3 is that the third assignment statement has been reintroduced,
eliminated. Correct answers for Activity 3a are: I = #I + #J and making 3aa’s executable code identical to the original Activity 3
J = #I. That is, J has the swapped value, but I does not. (Figure 2). The only difference between Activities 3 and 3aa is the
By making the problem simpler and focusing on the first two inclusion of step-by-step Confirm assertions. The motivating idea
assignments, we begin the pinpointing process. We keep track of behind 3aa is to observe how many of the students who
how many students correctly answer this sub-problem, and then demonstrated understanding of 3a (a simplified version of
begin to gauge the level of complexity where different students Activity 3) could now demonstrate an understanding of the entire
begin to encounter insurmountable learning obstacles. Figure 5 three-assignment sequence found in the original Activity 3. The
indicates that 49% of the 57 students who attempted Activity 3a correct expressions for 3aa’s first two Confirms are exactly the
answered it correctly. The system then moved these students to same as for Activity 3a; the last Confirm should be I = #J.
Activity 3aa, and those who answered incorrectly to Activity 3b.
42
Where Exactly Are the Difficulties in Reasoning Logically ... ITiCSE’18, July 2–4, 2018, Larnaca, Cyprus
43
ITiCSE’18, July 2–4, 2018, Larnaca, Cyprus M. Cook et al.
beneficial for learning. To give an idea of some of the inputs from [9] C. T. Cook, H. Harton, H. Smith, and M. Sitaraman. 2012. Specification
Engineering and Modular Verification Using a Web-Integrated Verifying
students, we discuss a follow-up replication study experiment Compiler. Proc. 34th ICSE, IEEE/ACM, NY, USA, 1379-1382.
conducted at Florida Atlantic University (a Hispanic-serving [10] C. T. Cook, S. Drachova, Y-S. Sun, M. Sitaraman, J. Carver, and J. E.
Hollingsworth. 2013. Specification and Reasoning in SE Projects Using a Web-
institution) in the spring of 2017. The user interface employed a IDE. In Procs. 26th CSEE&T, IEEE, NY, USA.
natural language-like syntax, though the underlying reasoning [11] D. De Bock, J. Deprej, W. van Duren, M. Roelens, and L. Verschaffel. 2011.
activities were the same, and the tool usage was preceded by Abstract or Concrete Examples in Learning Mathematics? A Replication an
Elaboration of Kaminsky, Stoutsky, and Heckler’s Study. Journal for Research
instruction. A total of 19 students, 10 of whom were female and in Mathematics Education 42, 2, 109-126.
10 of whom were members of a minority group, completed an [12] S. V. Drachova, J. O. Hallstrom, J. E. Hollingsworth, J. Krone, R. Pak, and M.
Sitaraman. 2015. Teaching Mathematical Reasoning Principles for Software
attitudinal survey: 16 found the interface easy to use (3 neutral), Correctness and Its Assessment. ACM Trans. Comput. Education 15, 3, 1-22.
13 (6 neutral) found the learning experience useful, and 10 (8 [13] K. A. Ericsson and H. A. Simon. 1998. How to study thinking in everyday life:
neutral) found it engaging. Contrasting think-aloud protocols with descriptions and explanations of
thinking. Mind, Culture, and Activity 5, 3, 178-186.
The quantitative data analysis in Section 4 illustrates the benefits [14] S. Fitzgerald, B. Simon, and L. Thomas. 2005. Strategies that students use to
of the system and instructional approach, and will provide a basis trace code: an analysis based in grounded theory. ICER '05 ACM, NY, 69-80.
[15] K. Goldman, et al. 2008. Identifying important and difficult concepts in
for classifying obstacles, distinguishing, for example, students introductory computing courses using a Delphi process,” In Procs. 39th
who have trouble reasoning about a single statement from those SIGCSE ’08, ACM, 256-260.
[16] J. O. Hallstrom, C. Hochrine, J. Sorber, and M. Sitaraman. 2014. An ACM 2013
who have trouble only with statement compositions. This is exemplar course integrating fundamentals, languages, and software
accomplished at a fine-grained level, so help can be targeted. engineering. In Procs. 45th SIGCSE '14. ACM, NY, USA, 211-216.
Subsequent analysis differentiates students with difficulties with [17] P. B. Henderson. 2003. Mathematical Reasoning in Software Engineering
Education. Communications of the ACM 46, 9, 45-50.
if-then or if-then-else constructs versus students with difficulties [18] C. D. Hundhausen, J. L. Brown, S. Farley, and D. Skarpas. 2006. A methodology
only when multiple such statements are composed. A junior-level for analyzing the temporal evolution of novice programs based on semantic
components. In Procs. ICER '06. ACM, NY, USA, 59-71.
software engineering course (not discussed in this paper) involves [19] T. Kohn. 2017. Variable Evaluation: An Exploration of Novice Programmers'
component-based projects [[10], [27]] and includes activities with Understanding and Common Misconceptions. In Procs. ACM SIGCSE '17, NY,
objects and operation calls with pre- and post-conditions to USA, 345-350.
[20] Y. B-D. Kolikant. 2005. Students' alternative standards for correctness. In Procs.
understand specific difficulties students have with design-by- First ICER '05. ACM, NY, USA, 37-43.
contract. Examining students’ understanding on particular inputs [21] R. Kumar, C. P. Rose, Y. Wang, M. Joshi, and A. Robinson. 2007. Tutorial
Dialog as Adaptive Collaborative Learning Support. In Procs. Conference on
is unlikely to reveal such distinctions among individuals and Artificial Intelligence in Education: Building Technology Rich Contexts That
groups. Work, IOS Press, 383-390.
Once specific difficulties are pinpointed, the reasons need to be [22] C. M. Lewis. 2014. Exploring variation in students' correct traces of linear
recursion. In Procs. ICER '14. ACM, NY, USA, 67-74.
understood. In some cases, system, scaffolding, or activity [23] C. Li, Z. Dong, R. Untch, Chasteen, and N. Reale. 2011. PeerSpace—An Online
redesign may be helpful. In some others, tutoring along the lines Collaborative Learning Environment for Computer Science Students. In Procs.
11th ICALT, 409-411.
of efforts in [[1], [6], [21], [23], [34]] might be useful. When [24] K. Martinez and M. Eisenhart. 2004. L.E.A.P. – Literature Review of Best
tutoring—manual or automated—is combined with logical Practices in College Physics and Best Practices for Women in College Physics,
January 2004.
reasoning, more effective learning can result. [25] R. Moreno. 2004. Decreasing Cognitive Load for Novice Students: Effects of
Explanatory versus Corrective Feedback in Discovery-Based Multimedia.
ACKNOWLEDGMENTS Instructional Science 32, 99-113.
[26] T. Price, Y. Dong, and D. Lipovac. 2017. iSnap: Towards Intelligent Tutoring in
We thank Emeritus Professor Bruce Weide at Ohio State for his Novice Programming Environments. SIGCSE '17, ACM, NY, 483-488.
contributions to this paper. We also acknowledge US NSF grants [27] A. L. Santos. 2015. Collaborative course project for practicing component-
DUE-1161916, DUE-1609718, and DUE-1611714. based software engineering, In Procs. 15th Koli Calling Conference on
Computing Education Research, ACM, NY, 142-146.
[28] M. Sitaraman, et al. 2011. Building a Push-Button RESOLVE Verifier: Progress
REFERENCES and Challenges. Springer Formal Aspects of Computing 23, 607-626.
[29] J. C. Spohrer, and E. Soloway. 1986. Novice mistakes: are the folk wisdoms
[1] V. Aleven, B. M. McLaren, and J. Sewall. 2009. Scaling Up Programming by
correct? Communications of the ACM 29, 7, 624-632.
Demonstration for Intelligent Tutoring Systems Development: An Open-
[30] A. L. Strauss and J. Corbin. 1998. Basics of qualitative research: Techniques and
Access Web Site for Middle School Mathematics Learning. IEEE Trans. on procedures for developing grounded theory. Sage Publications, Thousand
Learning Technologies 2, 64-78. Oaks, CA.
[2] B. S. Alqadi and J. I. Maletic. 2017. An Empirical Study of Debugging Patterns
[31] J. Sweller, P. Ayres, and S. Kalyuga, 2011. Cognitive load theory. Springer, NY,.
Among Novices Programmers. In Procs. SIGCSE ‘17, ACM, NY, USA, 15-20.
[32] A. E. Tew. 2010. Assessing fundamental introductory computing concept
[3] J. R. Anderson, A. T. Corbett, K. R. Koedinger, and R. Pelletier. 1995. Cognitive knowledge in a language independent manner, Ph.D. Dissertation, Georgia
Tutors: Lessons Learned, The Journal of the Learning Sciences 4, 167-207. Institute of Technology, 146 pages.
[4] R. Azevedo and R. M. Bernard. 1995. A Meta-Analysis of the Effects of
[33] Web-CAT is an advanced automated grading system that can grade students
Feedback in Computer-Based Instruction. Journal of Educational Computing
on how well they test their own code. http://web-cat.org/home
Research 13, 2, 111 – 127. [34] J. B. Wiggins, et al. 2015. JavaTutor: An Intelligent Tutoring System that
[5] N. Brown and A. Altadmri. 2014. Investigating novice programming mistakes: Adapts to Cognitive and Affective States during Computer Programming. In
educator beliefs vs. student data. In Procs. ICER '14. ACM, NY, USA, 43-50.
Procs. SIGCSE ’15, ACM, NY, USA, 599-599.
[6] P. Bhattacharya, L. Tao, B. W. Kai Qian, and E. K. Palmer. 2011. A Cloud-based
[35] P. Wouters, F. Paas, and J. J. G. van Merriënboer. 2008. How to Optimize
Cyberlearning Environment for Introductory Computing Programming Learning from Animated Models: A Review of Guidelines Based on Cognitive
Education. In Procs. 11th ICALT, 12-13. Load. Review of Educational Research.
[7] B. S. Bloom, et al. (Eds.) 1956. Taxonomy of Educational Objectives. The
Classification of Educational Goals, Handbook I: Cognitive Domain. David
McKay Company, Inc., NY, USA.
[8] M. P. Cook. 2006. Visual representations in science education: The influence of
prior knowledge and cognitive load theory on instructional design principles.
Science Education 90, 6, 1073-1091.
44