Mapping aids using source location tracking increase novices' performance in programming cyber-physical systems
Novices need to overcome initial barriers while programming cyber-physical systems behavior, like coding quadcopter missions, and should thus be supported by an adequately designed programming environment. Using multiple representations by including graphical previews is a common approach to ease coding and program understanding. However, novices struggle to map information of the code and graphical previews. Previous studies imply that mapping aids in a live programming environment might support novices while programming and foster a deeper understanding of the content. To implement these mapping aids in a domain independent way Source Location Tracking based on run-time information can be used. 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 and dynamic linking on coding correctness including typical errors, and learning outcomes. Based on process data, successful strategies were analyzed. Combining both mapping aids compared to one aid resulted in higher performance. While highlights were more helpful for implementing the quadcopter missions, dynamic linking improved learning outcomes on the comprehension and application level . Traces of learning strategies were related to higher coding correctness and higher learning outcomes. Based on process data, users in the group with both aids had a higher chance of avoiding certain typical implementation mistakes. Implementing dynamic linking and highlighting through source location tracking is a promising approach to support novices to develop a better semantic understanding of the domain specific language. Depending on the coding tasks different mapping aids might be effective.
READ FULL TEXT