@conference {557,
	title = {Learning principles in program visualizations: A systematic literature review},
	booktitle = {IEEE Frontiers in Education Conference},
	year = {2016},
	publisher = {IEEE},
	organization = {IEEE},
	abstract = {<p>Program visualizations help students understand the runtime behavior of other programs. They are educational tools to complement lectures or replace inefficient static drawings. A recent survey found 46 program visualizations developed from 1979 to 2012 reported that their effectiveness is unclear. They also evaluated learner engagement strategies implemented by visualization systems, but other learning principles were not considered. Learning principles are potential key factors in the success of program visualization as learning tools. In this paper, we identified 16 principles that may contribute to the effectiveness of a learning tool based on Vygotsky{\textquoteright}s learning theory. We hypothesize that some of these principles could be supported by incorporating visual concrete allegories and gamification. We conducted a literature review to know if these principles are supported by existing solutions. We found six new systems between 2012 and 2015. Very few systems consider a learning theory as theoretical framework. Only two out the 16 learning principles are supported by existing visualizations. All systems use unconnected visual metaphors, two use concrete visual metaphors, and one implemented a gamification principle. We expect that using concrete visual allegories and gamification in future program visualizations will significantly improve their effectiveness.</p>},
	keywords = {constructivism, Gamification, Learning  theory, Program visualization, Systematic literature review, Visual  allegory, Visual  metaphor},
	isbn = {978-1-5090-1790-4},
	doi = {10.1109/FIE.2016.7757692},
	url = {http://ieeexplore.ieee.org/document/7757692/},
	author = {Hidalgo-C{\'e}spedes, Jeisson and Mar{\'\i}n-Ravent{\'o}s, Gabriela and Lara-Villagr{\'a}n, Vladimir}
}
@conference {469,
	title = {Student understanding of the C++ notional machine through traditional teaching with conceptual contraposition and program memory tracing},
	booktitle = {Latin American Computing Conference},
	year = {2015},
	publisher = {IEEE},
	organization = {IEEE},
	address = {Arequipa, Per{\'u}},
	abstract = {<p>In order to learn a programming language, a correct understanding of its notional machine is mandatory. Students acquire that comprehension mainly through visual and verbal explanations provided by professors, books, videos, and other instructional materials. This research applied the conceptual contraposition technique and program memory tracing technique to the prevalent teaching method in our country: the lecture. The understanding of the C++ notional machine was evaluated on students of a Programming II (CS2) course that implemented the mentioned methods. Results revealed that these techniques applied to the lecture are insufficient to help students develop satisfactory mental models of the C++ notional machine.</p>},
	keywords = {constructivism, lecture, notional machine, program memory tracing, Program visualization, programming learning},
	doi = {10.1109/CLEI.2015.7360049},
	url = {http://ieeexplore.ieee.org/document/7360049/},
	author = {Hidalgo-C{\'e}spedes, Jeisson and Mar{\'\i}n-Ravent{\'o}s, Gabriela and Lara-Villagr{\'a}n, Vladimir}
}
