ABSTRACT
This study explores novice programmers' abilities to design and code a string manipulation task in C after one semester of tertiary instruction. String manipulation is an important skill for novice programmers to master as most applications deal with text and/or interact with the user. The analysis shows most novice programmers (88%) were able to sketch their own programming plan to print a word in pyramid style. 53% of students chose to control the printing letter by letter (character level) and 32% updated and printed the word as a whole (string level). However only 6% used string functions, apart from strlen() and strcmp(), to implement their plan. This indicated a low level of transfer from their most recent class activity which focused on the C string library. As expected, not all succeeded to correctly implement their plan: 56% were correct at character level and 63% at string level, resulting in 49% of the whole cohort completing the task. Their code has been thoroughly analysed to identify implementation issues, and logical, syntax and plan errors are reported and discussed.
- I. Cetin. Student's Understanding of Loops and Nested Loops in Computer Programming: An APOS Theory Perspective. Canadian Journal of Science, Mathematics and Technology Education, 15(2):155--170, Feb. 2015.Google ScholarCross Ref
- Y. Cherenkova, D. Zingaro, and A. Petersen. Identifying challenging cs1 concepts in a large problem dataset. In Proceedings of the 45th ACM technical symposium on Computer science education, pages 695--700. ACM, 2014.Google ScholarDigital Library
- U. Costantini, V. Lonati, and A. Morpurgo. How plans occur in novices' programs: A method to evaluate program-writing skills. In Proceedings of the 51st ACM Technical Symposium on Computer Science Education, SIGCSE '20, pages 852--858, New York, NY, USA, 2020. Association for Computing Machinery.Google ScholarDigital Library
- Q. Cutts, M. Barr, M. B. Ada, P. Donaldson, S. Draper, J. Parkinson, J. Singer, and L. Sundin. Experience report: Thinkathon - countering an 'i got it working' mentality with pencil-and-paper exercises. ACM Inroads, 10(4):66--73, Nov. 2019.Google ScholarDigital Library
- S. P. Davies. Models and theories of programming strategy. International Journal of Man-Machine Studies, 39(2):237--267, 1993.Google ScholarDigital Library
- K. Fisler. The recurring rainfall problem. In Proceedings of the Tenth Annual Conference on International Computing Education Research, ICER'2014, pages 35--42, New York, NY, USA, 2014. Association for Computing Machinery.Google ScholarDigital Library
- M. Hu, M. Winikoff, and S. Cranefield. Teaching novice programming using goals and plans in a visual notation. In Proceedings of the Fourteenth Australasian Computing Education Conference - Volume 123, ACE '12, pages 43--52, AUS, 2012. Australian Computer Society, Inc.Google Scholar
- C. Izu, A. Weerasinghe, and C. Pope. A study of code design skills in novice programmers using the solo taxonomy. In Proceedings of the 2016 ACM Conference on International Computing Education Research, pages 251--259. ACM, 2016.Google ScholarDigital Library
- A.-J. Lakanen, V. Lappalainen, and V. Isomöttönen. Revisiting rainfall to explore exam questions and performance on cs1. In Proceedings of the 15th Koli Calling Conference on Computing Education Research, Koli Calling 2015, pages 40--49, New York, NY, USA, 2015. Association for Computing Machinery.Google ScholarDigital Library
- A. Luxton-Reilly, B. A. Becker, Y. Cao, R. McDermott, C. Mirolo, A. Mühling, A. Petersen, K. Sanders, Simon, and J. Whalley. Developing assessments to determine mastery of programming fundamentals. In Proceedings of the 2017 ITiCSE Conference on Working Group Reports, ITiCSE-WGR '17, pages 47--69, New York, NY, USA, 2017. ACM.Google ScholarDigital Library
- A. Luxton-Reilly and A. Petersen. The compound nature of novice programming assessments. In Proceedings of the Nineteenth Australasian Computing Education Conference, ACE '17, pages 26--35, New York, NY, USA, 2017. ACM.Google ScholarDigital Library
- R. McCartney, J. Boustedt, A. Eckerdal, K. Sanders, and C. Zander. Can first-year students program yet? a study revisited. In Proceedings of the Ninth Annual International ACM Conference on International Computing Education Research, ICER 2013, pages 91--98, New York, NY, USA, 2013. Association for Computing Machinery.Google Scholar
- M. McCracken, V. Almstrum, D. Diaz, M. Guzdial, D. Hagan, Y. B.-D. Kolikant, C. Laxer, L. Thomas, I. Utting, and T. Wilusz. A multi-national, multi-institutional study of assessment of programming skills of first-year cs students. In Working Group Reports from ITiCSE on Innovation and Technology in Computer Science Education, ITiCSE-WGR'01, pages 125--180, New York, NY, USA, 2001. Association for Computing Machinery.Google Scholar
- J. T. F. on Computing Curricula Association for Computing Machinery (ACM) and I. C. Society. Computer Science Curricula 2013: Curriculum Guidelines for Undergraduate Degree Programs in Computer Science. Association for Computing Machinery, New York, NY, USA, 2013.Google Scholar
- D. Perkins and F. Martin. Fragile knowledge and neglected strategies in novice programmers. In first workshop on empirical studies of programmers on Empirical studies of programmers, pages 213--229, 1986.Google Scholar
- D. N. Perkins and G. Salomon. Knowledge to go: A motivational and dispositional view of transfer. Educational Psychologist, 47(3):248--258, 2012.Google ScholarCross Ref
- D. N. Perkins, G. Salomon, and P. Press. Transfer of learning. In International Encyclopedia of Education (2nd. Pergamon Press, 1992.Google Scholar
- A. Petersen, M. Craig, and D. Zingaro. Reviewing cs1 exam question content. In Proceedings of the 42nd ACM technical symposium on Computer science education, pages 631--636. ACM, 2011.Google ScholarDigital Library
- S. Shuhidan, M. Hamilton, and D. D'Souza. A taxonomic study of novice programming summative assessment. In Proc. 11th Australasian Conf. on Computing Education - Volume 95, ACE '09, pages 147--156, Darlinghurst, Australia, 2009. Australian Computer Society, Inc.Google ScholarDigital Library
- D. Teague and R. Lister. Programming: Reading, writing and reversing. In Proceedings of the 2014 Conference on Innovation and Technology in Computer Science Education, ITiCSE '14, pages 285--290, New York, USA, 2014. ACM.Google ScholarDigital Library
- J. Whalley, T. Clear, P. Robbins, and E. Thompson. Salient elements in novice solutions to code writing problems. Conferences in Research and Practice in Information Technology Series, 114:37--45, 2011.Google ScholarDigital Library
Index Terms
- Assessing CS1 Design Skills with a String Manipulation Task
Recommendations
A Study of Code Design Skills in Novice Programmers using the SOLO taxonomy
ICER '16: Proceedings of the 2016 ACM Conference on International Computing Education ResearchThere is a wealth of literature dealing with the difficulties of novice programmers with basic programming constructs such as variables, assignment and conditionals. In this paper we extend the study to two other core CS1 topics: loops and vectors (...
Empirical study of novice programming with plans and objects
Empirical studies conducted at two colleges (traditional and online) indicate that students have difficulty with plan integration, understanding of the object-oriented paradigm, and incorporating OOP concepts into problem solving. When novices are ...
Empirical study of novice programming with plans and objects
ITiCSE-WGR '06: Working group reports on ITiCSE on Innovation and technology in computer science educationEmpirical studies conducted at two colleges (traditional and online) indicate that students have difficulty with plan integration, understanding of the object-oriented paradigm, and incorporating OOP concepts into problem solving. When novices are ...
Comments