Context: <p>Novices programming robotic systems’ behavior, like quadcopter missions, face several challenges and require adequate support to overcome initial barriers. One approach to support novices is to display multiple representations such as graphical previews along with the code editor. Such supportive representations, however, also pose challenges for novices: finding corresponding information in the code and in the preview. To facilitate this, mapping aids can be implemented to clarify the connections between code and preview and foster a deeper understanding. Using output-directed programming, that is, adding the ability to reverse expression evaluation in the domain-specific language, is a promising basis for easily creating and implementing mapping aids.</p> Objective: <p>We investigated, whether mapping aids based on output-directed programming can improve learning language semantics and overall program correctness and how these mapping aids support novices while implementing quadcopter missions.</p> Method: <p>In our study, we tested <InlineEquation ID="IEq1"> <EquationSource Format="TEX">\(N=82\)</EquationSource> </InlineEquation> participants while interacting and learning in an online programming environment. Using our 2x2 between-subject design study, we investigated the effects of two mapping aids: highlighting (supports to find element-based connections in the environment) and dynamic linking (supports finding similarities on the semantic level of the content) on program correctness including a typical error, learning outcomes as well as traces of learning strategies.</p> Results: <p>While highlights were more helpful for implementing the quadcopter missions (mission 1: <InlineEquation ID="IEq2"> <EquationSource Format="TEX">\(p=.008\)</EquationSource> </InlineEquation>**, <InlineEquation ID="IEq3"> <EquationSource Format="TEX">\(\eta ^2_{\small \textit{partial}}=.091\)</EquationSource> </InlineEquation>), dynamic linking improved learning outcomes on the comprehension (<InlineEquation ID="IEq4"> <EquationSource Format="TEX">\(F(1,75)=5.61\)</EquationSource> </InlineEquation>, <InlineEquation ID="IEq5"> <EquationSource Format="TEX">\(p=.020\)</EquationSource> </InlineEquation>*, <InlineEquation ID="IEq6"> <EquationSource Format="TEX">\(\eta ^2_{\small \textit{partial}} =.070\)</EquationSource> </InlineEquation>) and application level (<InlineEquation ID="IEq7"> <EquationSource Format="TEX">\(F(1,75)=4.08\)</EquationSource> </InlineEquation>, <InlineEquation ID="IEq8"> <EquationSource Format="TEX">\(p=.047\)</EquationSource> </InlineEquation>*, <InlineEquation ID="IEq9"> <EquationSource Format="TEX">\(\eta ^2_{\small \textit{partial}} =.052\)</EquationSource> </InlineEquation>). Traces of learning strategies were related to higher program correctness (organizing (changes in the preview)): <InlineEquation ID="IEq10"> <EquationSource Format="TEX">\(r=.553\)</EquationSource> </InlineEquation>, <InlineEquation ID="IEq11"> <EquationSource Format="TEX">\(p&lt;.001\)</EquationSource> </InlineEquation>***; elaborating (time engaging in the task)): <InlineEquation ID="IEq12"> <EquationSource Format="TEX">\(r=.639\)</EquationSource> </InlineEquation> <InlineEquation ID="IEq13"> <EquationSource Format="TEX">\(p&lt;.001\)</EquationSource> </InlineEquation>***) and higher learning outcomes (organizing: <InlineEquation ID="IEq14"> <EquationSource Format="TEX">\(r=.400\)</EquationSource> </InlineEquation>, <InlineEquation ID="IEq15"> <EquationSource Format="TEX">\(p&lt;.001\)</EquationSource> </InlineEquation>***; elaborating : <InlineEquation ID="IEq16"> <EquationSource Format="TEX">\(r=.404\)</EquationSource> </InlineEquation>, <InlineEquation ID="IEq17"> <EquationSource Format="TEX">\(p&lt;.001\)</EquationSource> </InlineEquation>***).</p> Conclusions: <p>Implementing mapping aids through output-directed programming supports novices in developing a better semantic understanding of the domain specific language. Depending on the program tasks, different mapping aids might be effective. Based on traces of learning strategies while programming, adaptive interactive programming environments might support users individually.</p>

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

Mapping aids using output-directed programming increase novices’ performance in programming mobile robotic systems

  • Thomas Witte,
  • Andrea Vogt,
  • Tina Seufert,
  • Matthias Tichy

摘要

Context:

Novices programming robotic systems’ behavior, like quadcopter missions, face several challenges and require adequate support to overcome initial barriers. One approach to support novices is to display multiple representations such as graphical previews along with the code editor. Such supportive representations, however, also pose challenges for novices: finding corresponding information in the code and in the preview. To facilitate this, mapping aids can be implemented to clarify the connections between code and preview and foster a deeper understanding. Using output-directed programming, that is, adding the ability to reverse expression evaluation in the domain-specific language, is a promising basis for easily creating and implementing mapping aids.

Objective:

We investigated, whether mapping aids based on output-directed programming can improve learning language semantics and overall program correctness and how these mapping aids support novices while implementing quadcopter missions.

Method:

In our study, we tested \(N=82\) participants while interacting and learning in an online programming environment. Using our 2x2 between-subject design study, we investigated the effects of two mapping aids: highlighting (supports to find element-based connections in the environment) and dynamic linking (supports finding similarities on the semantic level of the content) on program correctness including a typical error, learning outcomes as well as traces of learning strategies.

Results:

While highlights were more helpful for implementing the quadcopter missions (mission 1: \(p=.008\) **, \(\eta ^2_{\small \textit{partial}}=.091\) ), dynamic linking improved learning outcomes on the comprehension ( \(F(1,75)=5.61\) , \(p=.020\) *, \(\eta ^2_{\small \textit{partial}} =.070\) ) and application level ( \(F(1,75)=4.08\) , \(p=.047\) *, \(\eta ^2_{\small \textit{partial}} =.052\) ). Traces of learning strategies were related to higher program correctness (organizing (changes in the preview)): \(r=.553\) , \(p<.001\) ***; elaborating (time engaging in the task)): \(r=.639\) \(p<.001\) ***) and higher learning outcomes (organizing: \(r=.400\) , \(p<.001\) ***; elaborating : \(r=.404\) , \(p<.001\) ***).

Conclusions:

Implementing mapping aids through output-directed programming supports novices in developing a better semantic understanding of the domain specific language. Depending on the program tasks, different mapping aids might be effective. Based on traces of learning strategies while programming, adaptive interactive programming environments might support users individually.