skip to main content
10.1145/1007996.1008014acmconferencesArticle/Chapter ViewAbstractPublication PagesiticseConference Proceedingsconference-collections
Article

Teaching roles of variables in elementary programming courses

Published: 28 June 2004 Publication History

Abstract

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.

References

[1]
J. R. Anderson. Cognitive Psychology and Its Implications. Worth Publishers, 5th edition, 2000.
[2]
M. Ben-Ari. Constructivism in computer science education. Journal of Computers in Mathematics and Science Teaching, 20(1):45--73, 2001.
[3]
M. Ben-Ari and J. Sajaniemi. Roles of variables as seen by CS educators. In 9th Annual Conference on Innovation and Technology in Computer Science Education (ITICSE'04), 2004.
[4]
C. Bereiter. Constructivism, socioculturalism and Popper's world. Educational Researcher, 23(7):21--23, 1994.
[5]
M. J. Clancy and M. C. Linn. Patterns and pedagogy. In Proc. of the 30th SIGCSE Technical Symposium on CS Education, volume 31(1) of ACM SIGCSE Bulletin, pages 37--42, 1999.
[6]
F. Détienne. Software Design-Cognitive Aspects. Springer-Verlag, 2002.
[7]
A. E. Fleury. Parameter passing: The rules the students construct. In Proc. of the 22nd SIGCSE Technical Symposium on CS Education, volume 23(1) of ACM SIGCSE Bulletin, pages 283--286, 1991.
[8]
J. Good and P. Brna. Toward authentic measures of program comprehension. In EASE and PPIG 2003, Papers from the Joint Conference at Keele University, pages 29--49, 2003.
[9]
S. Holland, R. Griffiths, and M. Woodman. Avoiding object misconceptions. In Proc. of the 28th SIGCSE Technical Symposium on CS Education, volume 29(1) of ACM SIGCSE Bulletin, pages 131--134, 1997.
[10]
C. D. Hundhausen, S. A. Douglas, and J. T. Stasko. A meta-study of algorithm visualization effectiveness. Journal of Visual Languages and Computing, 13:259--290, 2002.
[11]
S. K. Madison. A Study of College Students' Construct of Parameter Passing: Implications for Instruction. PhD thesis, University of Wisconsin, 1995.
[12]
P. Mulholland and M. Eisenstadt. Using software to teach programming: Past, present and future. In J. Stasko, J. Domingue, M. H. Brown, and B. A. Price, editors, Software Visualization -- Programming as a Multimedia Experience, pages 399--408. The MIT Press, 1998.
[13]
D. Nguyen. Design patterns for data structures. In Proc. of the 29th SIGCSE Technical Symposium on CS Education, volume 30(1) of ACM SIGCSE Bulletin, pages 336--340, 1998.
[14]
N. Pennington. Comprehension strategies in programming. In G. M. Olson, S. Sheppard, and E. Soloway, editors, Empirical Studies of Programmers: Second Workshop, pages 100--113. Ablex Publishing Company, 1987.
[15]
J. Sajaniemi. An empirical analysis of roles of variables in novice-level procedural programs. In Proceedings of IEEE 2002 Symposia on Human Centric Computing Languages and Environments (HCC'02), pages 37--39. IEEE Computer Society, 2002.
[16]
J. Sajaniemi. Roles of variables home page. http://www.cs.joensuu.fi/~saja/var_roles/, 2003. (Accessed Nov. 12th, 2003).
[17]
J. Sajaniemi and M. Kuittinen. Program animation based on the roles of variables. In Proc. of ACM 2003 Symposium on Software Visualization (SoftVis 2003), pages 7--16. Association for Computing Machinery, 2003.
[18]
J. Sajaniemi and M. Kuittinen. An experiment on using roles of variables in teaching introductory programming. Computer Science Education, In press.
[19]
R. Samurcay. The concept of variable in programming: Its meaning and use in problem-solving by novice programmers. In E. Soloway and J. C. Spohrer, editors, Studying the Novice Programmer, pages 161--178. Lawrence Erlbaum Associates, Hillsdale, NJ, 1989.
[20]
D. Sleeman, R. T. Putnam, J. A. Baxter, and L. Kuspa. A summary of misconceptions of high school Basic programmers. In E. Soloway and J. C. Spohrer, editors, Studying the Novice Programmer, pages 301--314. Lawrence Erlbaum Associates, Hillsdale, NJ, 1989.
[21]
E. von Glasersfeld. A constructivist approach to teaching. In P. Steffe and J. Gale, editors, Constructivism in Education, pages 3--15. Lawrence Erlbaum Associates, Hillsdale (NJ), 1995.
[22]
E. Wallingford. The elementary patterns home page. http://www.cs.uni.edu/~wallingf/patterns/elementary/, 2003. (Accessed Nov. 12th, 2003).

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ITiCSE '04: Proceedings of the 9th annual SIGCSE conference on Innovation and technology in computer science education
June 2004
296 pages
ISBN:1581138369
DOI:10.1145/1007996
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 28 June 2004

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. elementary programming
  2. roles of variables
  3. teaching

Qualifiers

  • Article

Conference

ITiCSE04
Sponsor:

Acceptance Rates

Overall Acceptance Rate 552 of 1,613 submissions, 34%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)21
  • Downloads (Last 6 weeks)2
Reflects downloads up to 31 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Validating, Refining, and Identifying Programming Plans Using Learning Curve Analysis on Code Writing DataProceedings of the 2024 ACM Conference on International Computing Education Research - Volume 110.1145/3632620.3671120(263-279)Online publication date: 12-Aug-2024
  • (2023)Teaching Programmers to Think of Program DynamicsProceedings of the ACM Conference on Global Computing Education Vol 110.1145/3576882.3617918(140-146)Online publication date: 5-Dec-2023
  • (2023)Evaluating Beacons, the Role of Variables, Tracing, and Abstract Tracing for Teaching Novices to Understand Program IntentProceedings of the 2023 ACM Conference on International Computing Education Research - Volume 110.1145/3568813.3600140(329-343)Online publication date: 7-Aug-2023
  • (2022)Elementary Students' Understanding of Variables in Computational Thinking-Integrated InstructionProceedings of the 53rd ACM Technical Symposium on Computer Science Education - Volume 110.1145/3478431.3499323(523-529)Online publication date: 22-Feb-2022
  • (2021)Pattern Census: A Characterization of Pattern Usage in Early Programming CoursesProceedings of the 52nd ACM Technical Symposium on Computer Science Education10.1145/3408877.3432442(45-51)Online publication date: 3-Mar-2021
  • (2020)Shooting for the StarsEarly Warning Systems and Targeted Interventions for Student Success in Online Courses10.4018/978-1-7998-5074-8.ch012(239-258)Online publication date: 2020
  • (2020)Computational Pedagogy: Block Programming as a General Learning ToolComputer Supported Education10.1007/978-3-030-58459-7_11(211-235)Online publication date: 10-Nov-2020
  • (2019)Persistence in a Game-Based Learning Environment: The Case of Elementary School Students Learning Computational ThinkingJournal of Educational Computing Research10.1177/073563311988718758:5(891-918)Online publication date: 15-Nov-2019
  • (2019)Fostering Program Comprehension in Novice Programmers - Learning Activities and Learning TrajectoriesProceedings of the Working Group Reports on Innovation and Technology in Computer Science Education10.1145/3344429.3372501(27-52)Online publication date: 18-Dec-2019
  • (2014)A Present-Day “Glass Bead Game”: A Framework for the Education of Prospective Informatics Teachers Inspired by a Reflection on the Nature of the DisciplineInformatics in Schools. Teaching and Learning Perspectives10.1007/978-3-319-09958-3_13(138-149)Online publication date: 2014
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media