Towards Enhanced Presentation-based Teaching of Programming - An Interactive Source Code Visualisation Approach

Reinout Roels, Paul Meştereagă, Beat Signer

2015

Abstract

The teaching of programming concepts and algorithms very much depends on the mental models developed by scholars when learning how to program. There is a rich body of research on how to best teach programming. Nevertheless, many instructors follow a presentation-based approach where existing slideware such as PowerPoint or Keynote is used to show a sequential series of slides with static pieces of source code. Such a presentation-based approach based on existing slideware tools might not be optimal for the authoring as well as the delivery of programming courses. We outline how presentation-based eduction in programming can be improved by paying attention to existing research on how to best teach programming. We derive a number of requirements for more efficient source code visualisation in presentation tools and present an architecture as well as an extensible prototype for enhanced presentation-based teaching of programming. The presented interactive source code visualisation plug-in for the MindXpres presentation tool can be seen as a step towards enhancing existing slideware in order to achieve a more efficient and interactive teaching of programming concepts and algorithms. The ultimate goal of the presented approach is to present source code in a way that reinforces a user’s mental model and thereby increases the knowledge transfer of presentations delivered in programming courses.

References

  1. Bennedsen, J. and Caspersen, M. E. (2007). Failure rates in introductory programming. ACM SIGCSE Bulletin, 39(2):32-36.
  2. Berry, M. and Kölling, M. (2013). The Design and Implementation of a Notional Machine for Teaching Introductory Programming. In WiPSE 2013, 8th Workshop in Primary and Secondary Computing Education, pages 25-28. ACM.
  3. Boulay, B. D. (1986). Some Difficulties of Learning to Program. Journal of Educational Computing Research, 2(1):57-73.
  4. Can˜as, J. J., Bajo, M. T., and Gonzalvo, P. (1994). Mental Models and Computer Programming. International Journal of Human-Computer Studies, 40(5):795-811.
  5. Dann, W., Cooper, S., and Pausch, R. (2001). Using Visualization to Teach Novices Recursion. 33(3):109-112.
  6. George, C. E. (2000). Experiences with Novices: The Importance of Graphical Representations in Supporting Mental Models. In PPIG 2012, 12th Annual Workshop of the Psychology of Programming Interest Group, pages 33-44.
  7. Gomes, A. and Mendes, A. J. (2007). Learning to Program - Difficulties and Solutions. In ICEE 2007, International Conference on Engineering Education, pages 53-58.
  8. Holzinger, A., Kickmeier-Rust, M. D., and Albert, D. (2008). Dynamic Media in Computer Science Education; Content Complexity and Learning Performance: Is Less More? Educational Technology & Society, 11(1):279-290.
  9. Hundhausen, C. D., Douglas, S. A., and Stasko, J. T. (2002). A Meta-Study of Algorithm Visualization Effectiveness. Journal of Visual Languages & Computing, 13(3):259-290.
  10. Jenkins, T. (2001a). Teaching Programming - A Journey From Teacher to Motivator. In 2nd Annual Conference of the LSTN Center for Information and Computer Science.
  11. Jenkins, T. (2001b). The Motivation of Students of Programming. 33(3):53-56.
  12. Jenkins, T. (2002). On the Difficulty of Learning to Program. In 3rd Annual Conference of the LTSN Centre for Information and Computer Sciences, volume 4, pages 53-58.
  13. Lahtinen, E., Ala-Mutka, K., and Järvinen, H.-M. (2005). A Study of the Difficulties of Novice Programmers. 37(3):14-18.
  14. Ma, L., Ferguson, J., Roper, M., and Wood, M. (2007). Improving the Viability of Mental Models Held by Novice Programmers. In 11th Workshop on Pedagogies and Tools for the Teaching and Learning of Object Oriented Concepts. Springer.
  15. Mayer, R. E. (1981). The Psychology of How Novices Learn Computer Programming. ACM Computing Surveys (CSUR), 13(1):121-141.
  16. McCracken, M., Almstrum, V., Diaz, D., Guzdial, M., Hagan, D., Kolikant, Y. B.-D., Laxer, C., Thomas, L., Utting, I., and Wilusz, T. (2001). A Multi-national, Multi-institutional Study of Assessment of Programming Skills of First-year CS Students. In ITiCSEWGR 2001, Working Group Reports from ITiCSE on Innovation and Technology in Computer Science Education, pages 125-180. ACM.
  17. Milne, I. and Rowe, G. (2002). Difficulties in learning and teaching programming - views of students and tutors. Education and Information Technologies, 7(1):55-66.
  18. Moreno, A. and Joy, M. S. (2007). Jeliot 3 in a Demanding Educational Setting. Electronic Notes in Theoretical Computer Science, 178:51-59.
  19. Moreno, A., Myller, N., Sutinen, E., and Ben-Ari, M. (2004). Visualizing Programs With Jeliot 3. In AVI 2014, Working Conference on Advanced Visual Interfaces, pages 373-376. ACM.
  20. Roels, R. and Signer, B. (2013). An Extensible Presentation Tool for Flexible Human-Information Interaction. In Demo Proceedings of BCS HCI 2013, 27th BCS Conference on Human Computer Interaction, page 59. British Computer Society.
  21. Roels, R. and Signer, B. (2014a). A Unified Communication Platform for Enriching and Enhancing Presentations with Active Learning Components. In ICALT 2014, 14th IEEE International Conference on Advanced Learning Technologies, pages 131-135. IEEE.
  22. Roels, R. and Signer, B. (2014b). MindXpres: An Extensible Content-driven Cross-Media Presentation Platform. In WISE 2014, 15th International Conference on Web Information System Engineering, pages 215- 230. Springer.
  23. Sa, L. and Hsin, W.-J. (2010). Traceable Recursion with Graphical Illustration for Novice Programmers. InSight: A Journal of Scholarly Teaching, 5:54-62.
  24. Smith, P. A. and Webb, G. I. (1995). Reinforcing a Generic Computer Model for Novice Programmers. In ASCILITE 1995, 7th Australian Society for Computer in Learning in Tertiary Education.
  25. Smith, P. A. and Webb, G. I. (2000). The Efficacy of a Lowlevel Program Visualization Tool for Teaching Programming Concepts to Novice C Programmers. Journal of Educational Computing Research, 22(2):187- 216.
  26. Tufte, E. R. (2003). The Cognitive Style of PowerPoint: Pitching Out Corrupts Within. Graphics Press.
  27. Velázquez-Iturbide, J. Í . and Pérez-Carrasco, A. (2010). InfoVis Interaction Techniques in Animation of Recursive Programs. Algorithms, 3(1):76-91.
  28. Virtanen, A. T., Lahtinen, E., and Järvinen, H.-M. (2005). VIP, a Visual Interpreter for Learning Introductory Programming with C++. In 5th Koli Calling Conference on Computer Science Education, pages 125-130.
Download


Paper Citation


in Harvard Style

Roels R., Meştereagă P. and Signer B. (2015). Towards Enhanced Presentation-based Teaching of Programming - An Interactive Source Code Visualisation Approach . In Proceedings of the 7th International Conference on Computer Supported Education - Volume 1: CSEDU, ISBN 978-989-758-107-6, pages 98-107. DOI: 10.5220/0005445300980107


in Bibtex Style

@conference{csedu15,
author={Reinout Roels and Paul Meştereagă and Beat Signer},
title={Towards Enhanced Presentation-based Teaching of Programming - An Interactive Source Code Visualisation Approach},
booktitle={Proceedings of the 7th International Conference on Computer Supported Education - Volume 1: CSEDU,},
year={2015},
pages={98-107},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0005445300980107},
isbn={978-989-758-107-6},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 7th International Conference on Computer Supported Education - Volume 1: CSEDU,
TI - Towards Enhanced Presentation-based Teaching of Programming - An Interactive Source Code Visualisation Approach
SN - 978-989-758-107-6
AU - Roels R.
AU - Meştereagă P.
AU - Signer B.
PY - 2015
SP - 98
EP - 107
DO - 10.5220/0005445300980107