skip to main content
10.1145/3160489.3160496acmconferencesArticle/Chapter ViewAbstractPublication Pagesaus-ceConference Proceedingsconference-collections
research-article

Using unstructured practice plus reflection to develop programming/problem-solving fluency

Published:30 January 2018Publication History

ABSTRACT

This paper describes a problem-solving course for second-year undergraduate students, designed to foster programming fluency, and explores the factors associated with the acquisition of that fluency. The course introduces algorithmic techniques such as brute force, recursion, dynamic programming and graph algorithms. The course structure revolves around repeated practice: students are required to apply programming skills using many small but challenging coding problems, combined with reflection reports and journal writing to document their thoughts and guide their design.

Progress is assessed by three practical examinations where students solve a graduated series of small open-ended programming challenges under time constraints. Challenges of this type are often used in technical interviews in industry and can be viewed as one indicator of programming fluency and problem-solving ability. However, while there is a progression in the complexity of problems that students are able to attempt during the course, it is not clear which factors are the strongest contributors to students' performance at practical exams.

This work uses a large ensemble of symbolic regression models to identify factors that related strongly to problem-solving performance. Through this stochastic analysis we are able to identify which factors are most consistently predictive of exam performance. To help validate these findings we conduct a broad analysis of coded reflections. It is hoped these findings will help identify pre-cursor skills and behaviours that can be the target of future interventions.

References

  1. B. Alexander and C. Izu. Engaging weak programmers in problem solving. In IEEE EDUCON 2010 Conference, pages 997--1005, April 2010. Google ScholarGoogle ScholarCross RefCross Ref
  2. O. L. Astrachan. Non-competitive programming contest problems as the basis for just-in-time teaching. In Frontiers in Education, 2004. FIE 2004. 34th Annual, pages T3H-20. IEEE, 2004. Google ScholarGoogle ScholarCross RefCross Ref
  3. B. Burton. Breaking the routine: events to complement informatics olympiad training. Olympiads in Informatics, 2:5--15, 2008.Google ScholarGoogle Scholar
  4. F. E. V. Castro and K. Fisler. On the Interplay Between Bottom-Up and Datatype-Driven Program Design. In Proc. 47th ACM Tech. Symp. Comput. Sci. Educ. - SIGCSE '16, pages 205--210, New York, New York, USA, 2016. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. J. W. Coffey. A study of the use of a reflective activity to improve students' software design capabilities. In Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education, SIGCSE '17, pages 129--134, New York, NY, USA, 2017. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. K. A. Ericsson, R. T. Krampe, and C. Tesch-Römer. The role of deliberate practice in the acquisition of expert performance. Psychological review, 100(3):363, 1993. Google ScholarGoogle ScholarCross RefCross Ref
  7. K. Falkner, C. Szabo, R. Vivian, and N. Falkner. Evolution of software development strategies. In 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering, volume 2, pages 243--252. IEEE, 2015. Google ScholarGoogle ScholarCross RefCross Ref
  8. D. Ginat. Learning from wrong and creative algorithm design. In Proceedings of the 39th SIGCSE Technical Symposium on Computer Science Education, SIGCSE '08, pages 26--30, New York, NY, USA, 2008. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. H. Heath and S. Cowley. Developing a grounded theory approach: a comparison of glaser and strauss. International Journal of Nursing Studies, 41(2):141 -- 150, 2004. Google ScholarGoogle ScholarCross RefCross Ref
  10. C. Hu. The nature of software design and its teaching. ACM Inroads, 4(2):62, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. M. Kotanchek, G. Smits, and E. Vladislavleva. Trustable symbolic regression models: using ensembles, interval arithmetic and pareto fronts to develop robust and trust-aware models. Genetic programming theory and practice V, pages 201--220, 2008.Google ScholarGoogle Scholar
  12. M. E. Kotanchek, E. Y. Vladislavleva, and G. F. Smits. Symbolic regression via genetic programming as a discovery engine: Insights on outliers and prototypes. Genetic Programming Theory and Practice VII, pages 55--72, 2010. Google ScholarGoogle ScholarCross RefCross Ref
  13. S. P. Linder, D. Abbott, and M. J. Fromberger. An instructional scaffolding approach to teaching software design. J. Comput. Small Coll., 21(6):238--250, 2006.Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. D. Loksa, A. J. Ko, W. Jernigan, A. Oleson, C. J. Mendez, and M. M. Burnett. Programming, problem solving, and self-awareness: Effects of explicit guidance. In Proceedings of the 2016 CHI Conference on Human Factors in Computing Systems, pages 1449--1461. ACM, 2016. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. R. E. Mayer. Cognitive, metacognitive, and motivational aspects of problem solving. Instructional science, 26(1-2):49--63, 1998. Google ScholarGoogle ScholarCross RefCross Ref
  16. B. McKay, M. J. Willis, and G. W. Barton. Using a tree structured genetic algorithm to perform symbolic regression. In Genetic Algorithms in Engineering Systems: Innovations and Applications, 1995. GALESIA. First International Conference on (Conf. Publ. No. 414), pages 487--492. IET, 1995. Google ScholarGoogle ScholarCross RefCross Ref
  17. J. Parham, L. Gugerty, and D. Stevenson. Empirical evidence for the existence and uses of metacognition in computer science problem solving. In Proceedings of the 41st ACM technical symposium on Computer science education, pages 416--420. ACM, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. D. P. Searson, D. E. Leahy, and M. J. Willis. Gptips: an open source genetic programming toolbox for multigene symbolic regression. In Proceedings of the International multiconference of engineers and computer scientists, volume 1, pages 77--80. Citeseer, 2010.Google ScholarGoogle Scholar
  19. N. Shambaugh and S. Magliaro. A reflexive model for teaching instructional design. Educ. Technol. Res. Dev., 49(2):69--92, 2001. Google ScholarGoogle ScholarCross RefCross Ref
  20. TopCoder. Problem archive. https://www.topcoder.com/tc?module=ProblemArchive. Accessed: 2016-08-20.Google ScholarGoogle Scholar

Index Terms

  1. Using unstructured practice plus reflection to develop programming/problem-solving fluency

    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 Conferences
      ACE '18: Proceedings of the 20th Australasian Computing Education Conference
      January 2018
      127 pages
      ISBN:9781450363402
      DOI:10.1145/3160489
      • Conference Chairs:
      • Raina Mason,
      • Simon

      Copyright © 2018 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: 30 January 2018

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      ACE '18 Paper Acceptance Rate14of36submissions,39%Overall Acceptance Rate161of359submissions,45%

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader