Understanding Students' Failure to use Functions as a Tool for Abstraction - An Analysis of Questionnaire Responses and Lab Assignments in a CS1 Python Course.

Saved in:
Bibliographic Details
Title: Understanding Students' Failure to use Functions as a Tool for Abstraction - An Analysis of Questionnaire Responses and Lab Assignments in a CS1 Python Course.
Authors: HAGLUND, Pontus1 pontus.haglund@liu.se, STRÖMBÄCK, Filip1 filip.stromback@liu.se, MANNILA, Linda1 linda.mannila@liu.se
Source: Informatics in Education. Dec2021, Vol. 20 Issue 4, p583-614. 32p.
Subject Terms: *Problem solving, *Concept learning, *Students, Python programming language, Questionnaires
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. [ABSTRACT FROM AUTHOR]
Copyright of Informatics in Education is the property of Informatics in Education and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract. (Copyright applies to all Abstracts.)
Database: Education Research Complete
FullText Links:
  – Type: pdflink
Text:
  Availability: 0
Header DbId: ehh
DbLabel: Education Research Complete
An: 154469894
AccessLevel: 6
PubType: Academic Journal
PubTypeId: academicJournal
PreciseRelevancyScore: 0
IllustrationInfo
Items – Name: Title
  Label: Title
  Group: Ti
  Data: Understanding Students' Failure to use Functions as a Tool for Abstraction - An Analysis of Questionnaire Responses and Lab Assignments in a CS1 Python Course.
– Name: Author
  Label: Authors
  Group: Au
  Data: <searchLink fieldCode="AR" term="%22HAGLUND%2C+Pontus%22">HAGLUND, Pontus</searchLink><relatesTo>1</relatesTo><i> pontus.haglund@liu.se</i><br /><searchLink fieldCode="AR" term="%22STRÖMBÄCK%2C+Filip%22">STRÖMBÄCK, Filip</searchLink><relatesTo>1</relatesTo><i> filip.stromback@liu.se</i><br /><searchLink fieldCode="AR" term="%22MANNILA%2C+Linda%22">MANNILA, Linda</searchLink><relatesTo>1</relatesTo><i> linda.mannila@liu.se</i>
– Name: TitleSource
  Label: Source
  Group: Src
  Data: <searchLink fieldCode="JN" term="%22Informatics+in+Education%22">Informatics in Education</searchLink>. Dec2021, Vol. 20 Issue 4, p583-614. 32p.
– Name: Subject
  Label: Subject Terms
  Group: Su
  Data: *<searchLink fieldCode="DE" term="%22Problem+solving%22">Problem solving</searchLink><br />*<searchLink fieldCode="DE" term="%22Concept+learning%22">Concept learning</searchLink><br />*<searchLink fieldCode="DE" term="%22Students%22">Students</searchLink><br /><searchLink fieldCode="DE" term="%22Python+programming+language%22">Python programming language</searchLink><br /><searchLink fieldCode="DE" term="%22Questionnaires%22">Questionnaires</searchLink>
– Name: Abstract
  Label: Abstract
  Group: Ab
  Data: 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. [ABSTRACT FROM AUTHOR]
– Name: AbstractSuppliedCopyright
  Label:
  Group: Ab
  Data: <i>Copyright of Informatics in Education is the property of Informatics in Education and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract.</i> (Copyright applies to all Abstracts.)
PLink https://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=ehh&AN=154469894
RecordInfo BibRecord:
  BibEntity:
    Identifiers:
      – Type: doi
        Value: 10.15388/infedu.2021.26
    Languages:
      – Code: eng
        Text: English
    PhysicalDescription:
      Pagination:
        PageCount: 32
        StartPage: 583
    Subjects:
      – SubjectFull: Problem solving
        Type: general
      – SubjectFull: Concept learning
        Type: general
      – SubjectFull: Students
        Type: general
      – SubjectFull: Python programming language
        Type: general
      – SubjectFull: Questionnaires
        Type: general
    Titles:
      – TitleFull: Understanding Students' Failure to use Functions as a Tool for Abstraction - An Analysis of Questionnaire Responses and Lab Assignments in a CS1 Python Course.
        Type: main
  BibRelationships:
    HasContributorRelationships:
      – PersonEntity:
          Name:
            NameFull: HAGLUND, Pontus
      – PersonEntity:
          Name:
            NameFull: STRÖMBÄCK, Filip
      – PersonEntity:
          Name:
            NameFull: MANNILA, Linda
    IsPartOfRelationships:
      – BibEntity:
          Dates:
            – D: 01
              M: 12
              Text: Dec2021
              Type: published
              Y: 2021
          Identifiers:
            – Type: issn-print
              Value: 16485831
          Numbering:
            – Type: volume
              Value: 20
            – Type: issue
              Value: 4
          Titles:
            – TitleFull: Informatics in Education
              Type: main
ResultId 1