  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.
