Comprehension strategies in programming
Empirical studies of programmers: second workshop
Parameter passing: the rules the students construct
SIGCSE '91 Proceedings of the twenty-second SIGCSE technical symposium on Computer science education
A study of college students, construct of parameter passing: implications for instruction
A study of college students, construct of parameter passing: implications for instruction
Avoiding object misconceptions
SIGCSE '97 Proceedings of the twenty-eighth SIGCSE technical symposium on Computer science education
Design patterns for data structures
SIGCSE '98 Proceedings of the twenty-ninth SIGCSE technical symposium on Computer science education
SIGCSE '99 The proceedings of the thirtieth SIGCSE technical symposium on Computer science education
Software design---cognitive aspects
Software design---cognitive aspects
Constructivism in computer science education
Journal of Computers in Mathematics and Science Teaching
Program animation based on the roles of variables
Proceedings of the 2003 ACM symposium on Software visualization
An Empirical Analysis of Roles of Variables in Novice-Level Procedural Programs
HCC '02 Proceedings of the IEEE 2002 Symposia on Human Centric Computing Languages and Environments (HCC'02)
Roles of variables as seen by CS educators
Proceedings of the 9th annual SIGCSE conference on Innovation and technology in computer science education
Visualizing roles of variables in program animation
Information Visualization - Special issue: Software visualization
A multi-national study of reading and tracing skills in novice programmers
Working group reports from ITiCSE on Innovation and technology in computer science education
Using Octave to introduce programming to technical science students
ITiCSE '05 Proceedings of the 10th annual SIGCSE conference on Innovation and technology in computer science education
Roles of variables and programming skills improvement
Proceedings of the 37th SIGCSE technical symposium on Computer science education
Not seeing the forest for the trees: novice programmers and the SOLO taxonomy
Proceedings of the 11th annual SIGCSE conference on Innovation and technology in computer science education
A methodology for analyzing the temporal evolution of novice programs based on semantic components
Proceedings of the second international workshop on Computing education research
A cognitive approach to identifying measurable milestones for programming skill acquisition
ITiCSE-WGR '06 Working group reports on ITiCSE on Innovation and technology in computer science education
Program working storage: a beginner's model
Proceedings of the 6th Baltic Sea conference on Computing education research: Koli Calling 2006
A Web Based Tool for Novice Programmers: Interaction in Use
ICCSA '08 Proceeding sof the international conference on Computational Science and Its Applications, Part I
ITiCSE '09 Proceedings of the 14th annual ACM SIGCSE conference on Innovation and technology in computer science education
Learning computer science concepts with scratch
Proceedings of the Sixth international workshop on Computing education research
An introduction to program comprehension for computer science educators
Proceedings of the 2010 ITiCSE working group reports
ACE '11 Proceedings of the Thirteenth Australasian Computing Education Conference - Volume 114
Hi-index | 0.00 |
Computer programming is a difficult skill for many students and new methods and techniques to help novices to learn programming are needed. This paper presents roles of variables as a new concept that can be used to assist in learning and gives detailed instructions on techniques to present roles to novices. These techniques are based on current learning theories and they have been used in a classroom experiment comparing traditional teaching with role-based teaching. The results suggest that the introduction of roles provides students a new conceptual framework that enables them to mentally process programs in a way similar to that of good code comprehenders; the use of role-based animation seems to assist in the adoption of role knowledge and expert-like programming skill.