ABSTRACT
In this paper, we report on the analysis of a novel type of automatically recorded detailed programming session data collected on a university-level web programming course. We present a method and an implementation of collecting rich data on how students learning to program edit and execute code and explore its use in examining learners' behavior. The data collection instrument is an in-browser Python programming environment that integrates an editor, an execution environment, and an interactive Python console and is used to deliver programming assignments with automatic feedback. Most importantly, the environment records learners' interaction within it. We have implemented tools for viewing these traces and demonstrate their potential in learning about the programming processes of learners and of benefiting computing education research and the teaching of programming.
- M. Ahmadzadeh, D. Elliman, and C. Higgins. An Analysis of Patterns of Debugging among Novice Computer Science Students. ACM SIGCSE Bulletin, 37(3): 84--88, 2005. Google ScholarDigital Library
- A. Allevato and S. H. Edwards. Discovering Patterns in Student Activity on Programming Assignments. In 2010 ASEE Southeastern Section Annual Conference and Meeting, 2010.Google Scholar
- E. Balzuweit and J. Spacco. SnapViz: Visualizing Programming Assignment Snapshots. In Proceedings of the 18th ACM conference on Innovation and technology in computer science education, pages 350--350, 2013. Google ScholarDigital Library
- S. H. Edwards, J. Snyder, M. A. Pérez-Quiñones, A. Allevato, D. Kim, and B. Tretola. Comparing Effective and Ineffective Behaviors of Student Programmers. In Proceedings of the fifth international workshop on Computing education research workshop, pages 3--14, 2009. Google ScholarDigital Library
- N. J. Falkner and K. E. Falkner. A Fast Measure for Identifying At-Risk Students in Computer Science. In Proceedings of the ninth annual international conference on International computing education research, pages 55--62, 2012. Google ScholarDigital Library
- J. Fenwick Jr., C. Norris, F. Barry, J. Rountree, C. Spicer, and S. Cheek. Another Look at the Behaviors of Novice Programmers. In Proceedings of the 40th ACM Technical Symposium on Computer Science Education, pages 296--300, 2009. Google ScholarDigital Library
- J. Jackson, M. Cobb, and C. Carver. Identifying Top Java Errors for Novice Programmers. In Proceedings of the 35th Annual Conference on Frontiers in Education, 2005.Google ScholarCross Ref
- M. Jadud. A First Look at Novice Compilation Behaviour Using BlueJ. Computer Science Education, 15(1): 25--40, 2005.Google ScholarCross Ref
- M. Jadud. Methods and Tools for Exploring Novice Compilation Behaviour. In Proceedings of the Second International Workshop on Computing Education Research, pages 73--84, 2006. Google ScholarDigital Library
- M. Jadud and P. Henriksen. Flexible, Reusable Tools for Studying Novice Programmers. In Proceedings of the fifth international workshop on Computing education research workshop, pages 37--42, 2009. Google ScholarDigital Library
- U. Kiesmüller, S. Sossalla, T. Brinda, and K. Riedhammer. Online Identification of Learner Problem Solving Strategies Using Pattern Recognition Methods. In Proceedings of the fifteenth annual conference on Innovation and technology in computer science education, pages 274--278, 2010. Google ScholarDigital Library
- K. Mierle, K. Laven, S. Roweis, and G. Wilson. Mining Student CVS Repositories for Performance Indicators. ACM SIGSOFT Software Engineering Notes, 30(4): 1--5, 2005. Google ScholarDigital Library
- C. Murphy, G. Kaiser, K. Loveland, and S. Hasan. Retina: Helping Students and Instructors based on Observed Programming Activities. In Proceedings of the 40th ACM Technical Symposium on Computer Science Education, pages 178--182, 2009. Google ScholarDigital Library
- C. Norris, F. Barry, J. B. Fenwick Jr, K. Reid, and J. Rountree. ClockIt: Collecting Quantitative Data on How Beginning Software Developers Really Work. ACM SIGCSE Bulletin, 40(3): 37--41, 2008. Google ScholarDigital Library
- D. N. Perkins, C. Hancock, R. Hobbs, F. Martin, and R. Simmons. Conditions of Learning in Novice Programmers. Journal of Educational Computing Research, 2(1): 37--55, 1986.Google ScholarCross Ref
- C. Piech, M. Sahami, D. Koller, S. Cooper, and P. Blikstein. Modeling How Students Learn to Program. In Proceedings of the 43rd ACM technical symposium on Computer Science Education, pages 153--160, 2012. Google ScholarDigital Library
- M. Rodrigo and R. Baker. Coarse-Grained Detection of Student Frustration in an Introductory Programming Course. In Proceedings of the fifth international workshop on Computing education research workshop, pages 75--80, 2009. Google ScholarDigital Library
- M. M. T. Rodrigo, R. S. Baker, M. C. Jadud, A. C. M. Amarra, T. Dy, M. B. V. Espejo-Lahoz, S. A. L. Lim, S. A. Pascua, J. O. Sugay, and E. S. Tabanao. Affective and Behavioral Predictors of Novice Programmer Achievement. ACM SIGCSE Bulletin, 41(3): 156--160, 2009. Google ScholarDigital Library
- J. Spacco, D. Fossati, J. Stamper, and K. Rivers. Towards Improving Programming Habits to Create Better Computer Science Course Outcomes. In Proceedings of the 18th ACM conference on Innovation and technology in computer science education, pages 243--248, 2013. Google ScholarDigital Library
- J. Spacco, J. Strecker, D. Hovemeyer, and W. Pugh. Software Repository Mining with Marmoset: An Automated Programming Project Snapshot and Testing System. ACM SIGSOFT Software Engineering Notes, 30(4): 1--5, 2005. Google ScholarDigital Library
- J. C. Spohrer and E. Soloway. Novice Mistakes: Are the Folk Wisdoms Correct? Communications of the ACM, 29(7): 624--632, 1986. Google ScholarDigital Library
- J. G. Spohrer and E. Soloway. Analyzing the high frequency bugs in novice programs. Empirical Studies of Programmers, 1986. Google ScholarDigital Library
- E. Tabanao, M. Rodrigo, and M. Jadud. Identifying At-Risk Novice Programmers through the Analysis of Online Protocols. In Philippine Computing Society Congress 2008, 2008.Google Scholar
- E. Tabanao, M. Rodrigo, and M. Jadud. Predicting At-Risk Novice Java Programmers Through the Analysis of Online Protocols. In Proceedings of the seventh international workshop on Computing education research, pages 85--92, 2011. Google ScholarDigital Library
- I. Utting, N. Brown, M. Kölling, D. McCall, and P. Stevens. Web-Scale Data Gathering with BlueJ. In Proceedings of the ninth annual international conference on International computing education research, pages 1--4, 2012. Google ScholarDigital Library
Index Terms
- Recording and analyzing in-browser programming sessions
Recommendations
Pytch - Supporting Learners over the Bridge from Blocks to Text
UKICER '23: Proceedings of the 2023 Conference on United Kingdom & Ireland Computing Education ResearchThe Pytch programming environment is a system to help learners at a crucial stage in computing education. The transition from block-based to text-based programming is widely recognised as a challenge. Pytch's unique contribution in addressing this is ...
Beginners and programming: insights from second language learning and teaching
This paper will consider issues that are important in the teaching and learning of programming to students in their first year of an undergraduate course in a computer science discipline. We will suggest that the current educational climate offers the ...
On parallel software engineering education using python
Python is gaining popularity in academia as the preferred language to teach novices serial programming. The syntax of Python is clean, easy, and simple to understand. At the same time, it is a high-level programming language that supports multi ...
Comments