Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1047344.1047413acmconferencesArticle/Chapter ViewAbstractPublication PagessigcseConference Proceedingsconference-collections
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
  • (2024)Incremental development with an AR coding environmentProceedings of the 19th WiPSCE Conference on Primary and Secondary Computing Education Research10.1145/3677619.3677640(1-2)Online publication date: 16-Sep-2024
  • (2024)Intent and Extent: Computer Science Concepts and Practices in Integrated ComputingACM Transactions on Computing Education10.1145/366482524:3(1-23)Online publication date: 14-May-2024
  • (2024)Understanding and Supporting Code PerformancesProceedings of the 16th Conference on Creativity & Cognition10.1145/3635636.3664623(21-24)Online publication date: 23-Jun-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

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]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 23 February 2005

Permissions

Request permissions for this article.

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

Conference

SIGCSE05
Sponsor:
SIGCSE05: Technical Symposium on Computer Science Education
February 23 - 27, 2005
Missouri, St. Louis, USA

Acceptance Rates

Overall Acceptance Rate 1,595 of 4,542 submissions, 35%

Upcoming Conference

SIGCSE TS 2025
The 56th ACM Technical Symposium on Computer Science Education
February 26 - March 1, 2025
Pittsburgh , PA , USA

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)65
  • Downloads (Last 6 weeks)3
Reflects downloads up to 14 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Incremental development with an AR coding environmentProceedings of the 19th WiPSCE Conference on Primary and Secondary Computing Education Research10.1145/3677619.3677640(1-2)Online publication date: 16-Sep-2024
  • (2024)Intent and Extent: Computer Science Concepts and Practices in Integrated ComputingACM Transactions on Computing Education10.1145/366482524:3(1-23)Online publication date: 14-May-2024
  • (2024)Understanding and Supporting Code PerformancesProceedings of the 16th Conference on Creativity & Cognition10.1145/3635636.3664623(21-24)Online publication date: 23-Jun-2024
  • (2024)Daniel Manesh: Supporting Code Performances2024 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)10.1109/VL/HCC60511.2024.00060(389-391)Online publication date: 2-Sep-2024
  • (2024)Toward a theory on programmer’s block inspired by writer’s blockEmpirical Software Engineering10.1007/s10664-024-10542-930:1Online publication date: 30-Oct-2024
  • (2024)Artificial Neural Network Approach for Predicting Student Achievement in Scratch TrainingTechnology-Driven Business Innovation10.1007/978-3-031-51997-0_15(187-197)Online publication date: 24-Mar-2024
  • (2023)The Impact of a Remote Live-Coding Pedagogy on Student Programming Processes, Grades, and Lecture Questions AskedProceedings of the 2023 Conference on Innovation and Technology in Computer Science Education V. 110.1145/3587102.3588846(533-539)Online publication date: 29-Jun-2023
  • (2023)Exploring the Impact of the Learning Sequence of Computational Thinking and Programming on Learning Outcomes2023 IEEE 3rd International Conference on Social Sciences and Intelligence Management (SSIM)10.1109/SSIM59263.2023.10469197(175-179)Online publication date: 15-Dec-2023
  • (2022)Documentation in Open-Source Organizations: Content Audit and Gap Analysis for Perl2022 IEEE International Professional Communication Conference (ProComm)10.1109/ProComm53155.2022.00032(160-165)Online publication date: Jul-2022
  • (2021)A Qualitative Analysis of Lecture Videos and Student Feedback on Static Code Examples and Live Coding: A Case StudyProceedings of the 23rd Australasian Computing Education Conference10.1145/3441636.3442317(147-157)Online publication date: 2-Feb-2021
  • 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