skip to main content
article

Revealing the programming process

Published: 23 February 2005 Publication History

Abstract

One of the most important goals of an introductory programming course is that the students learn a systematic approach to the development of computer programs. Revealing the programming process is an important part of this; however, textbooks do not address the issue -- probably because the textbook medium is static and therefore ill-suited to expose the process of programming. We have found that process recordings in the form of captured narrated programming sessions are a simple, cheap, and efficient way of providing the revelation.We identify seven different elements of the programming process for which process recordings are a valuable communication media in order to enhance the learning process. Student feedback indicates both high learning outcome and superior learning potential compared to traditional classroom teaching.

References

[1]
Alford, K., "Video FAQs -- Instruction-On-Demand", Proceedings of Frontiers in Education, Boulder Colorado, 2003.
[2]
Astrachan, O. & Reed, D., "AAA and CS1: The Applied Apprenticeship Approach to CS1", Proceedings of the twenty-sixth SIGCSE Technical Symposium on Computer Science Education, Nashville, Tennessee, 1995, pp. 1--5.
[3]
Bennedsen, J. & Caspersen, M. E., "Programming in Context -- A Model-First Approach to CS1", Proceedings of the thirty-fifth SIGCSE Technical Symposium on Computer Science Education, Norfolk, Virginia, 2004, pp.
[4]
Bennedsen, J. & Caspersen, M. E., "Rationale for the Design of a Web-based Programming Course for Adults", Proceedings of ICOOL 2003, International Conference on Open and Online Learning, Mauritius, 2003.
[5]
Berkeley, http://webcast.berkeley.edu/courses/
[6]
du Boulay, J.B.H., "Some difficulties of learning to program", in Spohrer, J.C. and Soloway, E. (Eds.), Studying the Novice Programmer, Hilldale, NJ, Lawrence Erlbaum Associates, Hillsdale, 1989., pp. 283--299.
[7]
Boyle, T., "Design principles for authoring dynamic, reusable learning objects", Australian Journal of Educational Technology, 19 (1), 2003, pp. 46--58.
[8]
Fowler, M., Refactoring -- Improving the Design of Existing Code, Addison-Wesley, 1999. ISBN 0-201-48567-2
[9]
Gantenbein, R. E., "Programming as Process: A 'Novell' Approach to Teaching Programming", Proceedings of the twentieth SIGCSE Technical Symposium on Computer Science Education, Louisville, Kentucky, 1989, pp. 22--26.
[10]
Gries, D., "What Should We Teach in an Introductory Programming Course", Proceedings of the fourth SIGCSE Technical Symposium on Computer Science Education, 1974, pp. 81--89.
[11]
Gries, D. & Gries, P., ProgramLive, John Wiley & Sons, 2001.
[12]
Kölling, M. & Rosenberg, J., "Testing Object-Oriented Programs: Making it Simple", Proceedings of the twenty-eighth SIGCSE Technical Symposium on Computer Science Education, San José, California, 1997, pp. 77--81.
[13]
Kölling, M., "Teaching Object Orientation with the Blue Environment", Journal of Object-Oriented Programming, Vol. 12 (2), 1999, pp. 14--23.
[14]
Kölling. M, "The Curse of Hello World", Invited lecture at Workshop on Learning and Teaching Object-orientation -- Scandinavian Perspectives, Oslo, October 2003.
[15]
Linn, M. C. & Clancy, M. J., "The Case for Case Studies of Programming Problems", Communications of the ACM, 35 (3), 1992, pp. 121--132.
[16]
Ma, W., Lee, Y., Du, D.H.C. & McCahill, M. P., "Video-based Hypermedia for Education-On-Demand", Proceedings of the fourth ACM International Conference on Multimedia, 1996, pp. 449--450.
[17]
MIT, www.swiss.ai.mit.edu/classes/6.001/abelson-sussman-lectures/
[18]
Ronins, A., Rountree, J. & Rountree, N., "Learning and Teaching Programming: A Review and Discussion" Journal of Computer Science Education, Vol. 13 (2), 2003, pp. 137--172.
[19]
Smidth, T, Ruocco, A & Jansen, B., "Digital Video in Education", Proceedings of the thirtieth SIGCSE Technical Symposium on Computer Science Education, New Orleans, Louisiana, 1999, pp. 122--126.
[20]
Soloway, E., "Learning to Program = Learning to Construct Mechanisms and Explanations", Communications of the ACM, 29 (9), 1986, pp. 850--858.
[21]
Spohrer, J. & Soloway, E., "Novice Mistakes: Are the Folk Wisdoms Correct?", Communications of the ACM, 29 (7), 1986, pp. 624--632.
[22]
Spohrer, J. & Soloway, E., "Analyzing the High-Frequenzy Bugs in Novice Programs", In Iyengar, S. & Soloway, E. (Eds.), Empirical Studies of Programmers, Ablex, New York, 1986.

Cited By

View all
  • (2023)An Empirical Evaluation of Live Coding in CS1Proceedings of the 2023 ACM Conference on International Computing Education Research - Volume 110.1145/3568813.3600122(476-494)Online publication date: 7-Aug-2023
  • (2023)Improving Students’ Programming Processes using Cognitive Apprenticeship MethodsProceedings of the 2023 ACM Conference on International Computing Education Research - Volume 210.1145/3568812.3603458(102-106)Online publication date: 7-Aug-2023
  • (2021)Conceptual Framework for Programming Skills Development Based on Microlearning and Automated Source Code Evaluation in Virtual Learning EnvironmentSustainability10.3390/su1306329313:6(3293)Online publication date: 17-Mar-2021
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM SIGCSE Bulletin
ACM SIGCSE Bulletin  Volume 37, Issue 1
2005
562 pages
ISSN:0097-8418
DOI:10.1145/1047124
Issue’s Table of Contents
  • cover image ACM Conferences
    SIGCSE '05: Proceedings of the 36th SIGCSE technical symposium on Computer science education
    February 2005
    610 pages
    ISBN:1581139977
    DOI:10.1145/1047344
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]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 23 February 2005
Published in SIGCSE Volume 37, Issue 1

Check for updates

Author Tags

  1. CS1
  2. UML
  3. conceptual modelling
  4. design
  5. incremental development
  6. model-based programming
  7. objects-first
  8. pedagogy
  9. process recording
  10. programming education
  11. programming process
  12. refactoring
  13. systematic programming
  14. testing

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)58
  • Downloads (Last 6 weeks)1
Reflects downloads up to 07 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2023)An Empirical Evaluation of Live Coding in CS1Proceedings of the 2023 ACM Conference on International Computing Education Research - Volume 110.1145/3568813.3600122(476-494)Online publication date: 7-Aug-2023
  • (2023)Improving Students’ Programming Processes using Cognitive Apprenticeship MethodsProceedings of the 2023 ACM Conference on International Computing Education Research - Volume 210.1145/3568812.3603458(102-106)Online publication date: 7-Aug-2023
  • (2021)Conceptual Framework for Programming Skills Development Based on Microlearning and Automated Source Code Evaluation in Virtual Learning EnvironmentSustainability10.3390/su1306329313:6(3293)Online publication date: 17-Mar-2021
  • (2020)Software-testing education: A systematic literature mappingJournal of Systems and Software10.1016/j.jss.2020.110570165(110570)Online publication date: Jul-2020
  • (2019)Assessment of Challenges of Teaching and Learning Computer Programming in Tanzanian Higher EducationTechnology-Supported Teaching and Research Methods for Educators10.4018/978-1-5225-5915-3.ch002(33-50)Online publication date: 2019
  • (2018)Role of Live-coding in Learning Introductory ProgrammingProceedings of the 18th Koli Calling International Conference on Computing Education Research10.1145/3279720.3279725(1-8)Online publication date: 22-Nov-2018
  • (2014)A Dynamic Content Generation Tool for OOP CourseInternational Journal of Computer Theory and Engineering10.7763/IJCTE.2015.V7.9327:1(66-69)Online publication date: Feb-2014
  • (2014)Mathematics Ability and Anxiety, Computer and Programming Anxieties, Age and Gender as Determinants of Achievement in Basic ProgrammingGSTF Journal on Computing (JoC)10.7603/s40601-013-0047-43:4Online publication date: 23-May-2014
  • (2013)Requirements and design strategies for open source interactive computer science eBooksProceedings of the ITiCSE working group reports conference on Innovation and technology in computer science education-working group reports10.1145/2543882.2543886(53-72)Online publication date: 29-Jun-2013
  • (2012)CodeWaveProceedings of the 43rd ACM technical symposium on Computer Science Education10.1145/2157136.2157160(75-80)Online publication date: 29-Feb-2012
  • 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

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media