Abstract

Controlling complexity through the use of abstractions is a critical part of problem solving in programming. Thus, becoming proficient with procedural and data abstraction through the use of user-defined functions is important. Properly using functions for abstraction involves a number of other core concepts, such as parameter passing, scope and references, which are known to be difficult. Therefore, this paper aims to study students’ proficiency with these core concepts, and students’ ability to apply procedural and data abstraction to solve problems. We collected data from two years of an introductory Python course, both from a questionnaire and from two lab assignments. The data shows that students had difficulties with the core concepts, and a number of issues solving problems with abstraction. We also investigate the impact of using a visualization tool when teaching the core concepts.

Highlights

  • Controlling complexity is a critical part of problem solving in programming

  • In this paper we aim to investigate how well students are able to create and maintain ab­stractions in an introductory programming course in Python, and whether this ability can be improved by highlighting prerequisite concepts such as parameter passing, scope and references using Python Tutor

  • In this paper we examined students’ ability to create and maintain abstractions in the lab assignments of an introductory Python course

Read more

Summary

Introduction

Controlling complexity is a critical part of problem solving in programming. At the end of a CS1 course a student should have acquired several tools which can be applied to create abstractions when solving complex problems. One of these tools is user-defined functions, which can be used to hide complexity through procedural abstraction and data abstraction. Many of these tools are typically taught in depth, alongside abstraction, in introductory programming courses. 5. Abstract data types and procedural decomposition. If the solution and answers are adequate, the students are considered to have passed that assignment

Objectives
Methods
Results
Discussion
Conclusion
Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.