skip to main content
10.1145/2664591.2664601acmotherconferencesArticle/Chapter ViewAbstractPublication PageshtConference Proceedingsconference-collections
research-article

Abstracting and Narrating Novice Programs Using Regular Expressions

Authors Info & Claims
Published:29 September 2014Publication History

ABSTRACT

The Syntax-Free Approach (SFA) to teaching programming was proposed in response to the perceived challenges often faced by novice programmers while taking their first course in programming. The idea of the SFA is to provide a level of abstraction over the language syntax and teach programming to novices as algorithms instead of lines of code. In this paper, we report the development of a tool that translates novice programs into detailed textual algorithms using regular expressions. We refer to these algorithms as narrations. These narrations are syntax-free, can improve readability and aid the comprehension of programs. The technique described can also be employed for automatic generation of hints or tips for novice programmers during classroom or laboratory sessions.

References

  1. Amalfitano, D., Fasolino, A., Polcaro, A., and Tramontana, P. DynaRIA: A tool for AJAX web application comprehension. IEEE 18th International Conference on Program Comprehension (2010), 46--47. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Bornat, R. Programming from First Principles. Prentice Hall International Series in Computer Science. Prentice-Hall International, 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Dalton, A., and Kreahling, W. Automated construction of memory diagrams for program comprehension. In Proceedings of the 48th Annual Southeast Regional Conference (2010), ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Ebrahimi, A. Novice programmer errors: Language constructs and plan composition. International Journal of Human-Computer Studies 41, 4 (1994), 457--480. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Ebrahimi, A., and Schweikert, C. Empirical study of novice programming with plans and objects. ACM SIGCSE Bulletin 38, 4 (2006), 52--54. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Fincher, S. What are we doing when we teach programming? 29th Annual Frontiers in Education Conference 1 (1999), 12A4--1.Google ScholarGoogle ScholarCross RefCross Ref
  7. GCC. GCC releases: A timeline of GNU compiler collection. http://www.gnu.org/software/gcc/releases.html. Accessed: 2014-03-20.Google ScholarGoogle Scholar
  8. Haiduc, S., Aponte, J., and Marcus, A. Supporting program comprehension with source code summarization. ACM/IEEE 32nd International Conference on Software Engineering 2 (2010), 223--226. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Heninger, A. Analyzing unicode text with regular expressions. Proceedings of the 26th Internationalization and Unicode Conference, San Jose, CA (2004), 1--18.Google ScholarGoogle Scholar
  10. Johnson, W. Understanding and debugging novice programs. Artificial Intelligence 42, 1 (1990), 51--97. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Johnson, W., and Soloway, E. PROUST: Knowledge-based program understanding. IEEE Transactions on Software Engineering 3 (1985), 267--275. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Kuhn, A., Erni, D., and Nierstrasz, O. Towards improving the mental model of software developers through cartographic visualization. arXiv preprint arXiv:1001.2386 (2010).Google ScholarGoogle Scholar
  13. Lahtinen, E., Ala-Mutka, K., and Järvinen, H. A study of the difficulties of novice programmers. ACM SIGCSE Bulletin 37, 3 (2005), 14--18. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Lanza, M., Ducasse, S., Gall, H., and Pinzger, M. Code Crawler--an information visualization tool for program comprehension. In Proceedings of the 27th IEEE International Conference on Software Engineering (2005), pp. 672--673. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Martin, J. Introduction to Languages and the Theory of Computation. McGraw-Hill, New York, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Mössenböck, H. An example of a Taste program. The compiler generator Coco/R User Manual (2010), 30--32.Google ScholarGoogle Scholar
  17. MSDN. Regular Expression Language--quick reference: Microsoft Developer Network Documentation on the .Net framework, version 4.5, regular expressions. http://msdn.microsoft.com/en-us/library/az24scfc.asp. Accessed: 2013-12-19.Google ScholarGoogle Scholar
  18. Pyott, S., and Sanders, I. ALEX: an aid to teaching algorithms. ACM SIGCSE Bulletin 23, 3 (1991), 36--44. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. RiSE. Rise4fun tools: Online visual C++ compiler and regular expression evaluator. http://rise4fun.com. Accessed: 2013-12-23.Google ScholarGoogle Scholar
  20. Satir, G., and Brown, D. C++: the core language. O'Reilly Media, Inc., 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Shackelford, R. Introduction to Computing and Algorithms. Addison-Wesley Longman Publishing Co., 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Sipser, M. Introduction to the Theory of Computation. Cengage Learning, 2006.Google ScholarGoogle Scholar
  23. Soloway, E., and Spohrer, J. Studying the Novice Programmer. Lawrence Erlbaum Associates, 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Spohrer, J. MARCEL: Simulating the novice programmer. Ablex Publishing Corporation, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Storey, M. Theories, tools and research methods in program comprehension: past, present and future. Software Quality Journal 14, 3 (2006), 187--208. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Storey, M. An interactive visualization environment for exploring Java programs: SHriMP views revisited. IEEE 19th International Conference on Program Comprehension (2011), xviii--xviii.Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Storey, M., Best, C., and Michand, J. SHriMP views: An interactive environment for exploring Java programs. Proceedings of the 9th International Workshop on Program Comprehension (2001), 111--112. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Abstracting and Narrating Novice Programs Using Regular Expressions

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in
          • Published in

            cover image ACM Other conferences
            SAICSIT '14: Proceedings of the Southern African Institute for Computer Scientist and Information Technologists Annual Conference 2014 on SAICSIT 2014 Empowered by Technology
            September 2014
            359 pages
            ISBN:9781450332460
            DOI:10.1145/2664591

            Copyright © 2014 ACM

            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: 29 September 2014

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • research-article
            • Research
            • Refereed limited

            Acceptance Rates

            Overall Acceptance Rate187of439submissions,43%

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader