Mapping aids using output-directed programming increase novices’ performance in programming mobile robotic systems
摘要
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
While highlights were more helpful for implementing the quadcopter missions (mission 1:
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.