Improving Instruction of Programming Patterns with Faded Parsons Problems

Programming Education & Computational ThinkingIntelligent Tutoring Systems & Learning AnalyticsK-12 TeachersUniversity Professors & Researchers

Document Title

Improving Instruction of Programming Patterns with Faded Parsons Problems

Document Information

  • Domain: Computer Science Education and Learning Sciences
  • Keywords: Programming Education, CS1, Programming Patterns, Parsons Problems, Student Learning, Template Matching, Programming User Interface, Code Transfer, Faded Parsons Problems

Research Background and Issues

  • Identified Problems or Challenges: Programming patterns are a critical component of computer science education but are often not explicitly taught. Many introductory programming courses (CS1) do not systematically cover such advanced programming skills, as teaching these concepts requires significant curriculum changes. Existing exercises (such as code tracing and code writing) provide some support but fail to address how learners can quickly and effectively master pattern recognition and application.
  • Importance: Programming patterns represent higher-level abstractions for code reuse and are a key differentiator between experts and novices. Explicit learning and practice of these patterns can greatly enhance students' ability to solve complex programming problems and support their long-term development.
  • Research Motivation and Related Work:
    • Current mainstream exercises like code writing and code tracing have limitations, such as code tracing lacking the actual construction process and code writing not supporting specific patterns.
    • Previous research has proposed some approaches explicitly focusing on pattern teaching (e.g., Pattern-Oriented methods), but these require substantial curriculum restructuring.
    • Parsons Problems and their variants (e.g., Faded Parsons Problems) have shown preliminary success as low-resistance learning mediums, and their potential to promote pattern learning in introductory courses merits further exploration.

Solution

  • Methods and Solutions:

    • Propose a new exercise interface variant—Faded Parsons Problems: students create a valid program by rearranging and completing partially blank code lines.
    • Combine the advantages of Parsons Problems and code writing exercises, while employing explicit constraints and reduced solution freedom to guide students in understanding and applying patterns.
    • System and teaching practice: The study utilized a Python-based Flask platform to provide students with diverse interactive interfaces, exploring the feasibility of applying this platform in large-scale courses.
  • Innovations:

    • Introduces a low-friction method that can be embedded into teaching without significant curriculum modifications.
    • Unlike traditional Parsons Problems, Faded Parsons Problems enhance students' "active construction" of code logic and patterns.
    • Designed with student preferences in mind: this exercise interface better aligns with online education and remote teaching needs.
  • Implementation Steps and Techniques:

    • The experiment employed a comparative design: in a large CS1 classroom setting, Faded Parsons Problems were compared with code tracing and code writing exercises.
    • Implementation technologies included automated scripts to detect pattern consistency in code submissions, analyzing programming construction logic in a large number of student solutions, and recording data on exercise-solving processes.

Research Results

  • Specific Findings:

    • A classroom study involving 237 students confirmed that Faded Parsons Problems are more effective than traditional code tracing and code writing exercises in helping students learn and apply programming patterns.
    • The design of Faded Parsons Problems not only supports pattern learning but also facilitates the transfer of exercise outcomes to general code writing skills.
    • This problem format received positive feedback from students, with 77.6% preferring it when given the freedom to choose exercise methods.
  • Comparison with Existing Solutions:

    • Compared to code writing exercises, Faded Parsons Problems significantly increased the probability of "Pattern Exposure" and more effectively supported "Pattern Acquisition."
    • Compared to code tracing exercises, this approach better promoted students' ability to transfer skills to code writing.
  • Experimental or Evaluation Results:

    • In terms of pattern exposure rate, Faded Parsons Problems achieved an average of 92.4%, far exceeding the 4.4% of code writing exercises.
    • Regarding students' ability to transfer code writing skills: Faded Parsons Problems showed a transfer rate of 85.3% (Study 1), significantly higher than code tracing (55.3%).
    • Although students generally perceived Faded Parsons Problems as easier, their completion rate showed no significant difference compared to code writing exercises.
  • Limitations and Future Directions:

    • Limitations: The study results may be influenced by voluntary student participation (extra credit tasks) and did not systematically compare all variants of Parsons Problems. The short exposure period may also limit the learning of more complex patterns.
    • Future Research Directions:
      1. Test the method's generalizability in other courses (non-Python) and further analyze the potential for cross-course expansion.
      2. Explore the advantages and disadvantages of different exercise ecosystems (e.g., higher proportions of blank code, other interactive variants).
      3. Investigate the psychological effects of this exercise format on students, such as the degree of improvement in self-efficacy.
      4. Expand the coverage of patterns and systematically select more universally applicable programming patterns to study their teaching potential.

Conclusion

Faded Parsons Problems have proven to be an effective tool for teaching programming patterns and enhancing programming skills. Without requiring major adjustments to existing course structures, they offer significant improvements in pattern exposure and code writing abilities while aligning with student preferences. This direction warrants further research and development to provide more tools and design insights for introductory programming education.

Quick Actions

Share

Share this page

ios_share

https://hci.top/en/papers/chi/47621/2021

AdRecommended

Learn AI Coding at CodeNow

open_in_newOpen DOI Link
DOI: https://doi.org/10.1145/3411764.3445228
At a Glance

Paper Snapshot

fact_check
dataset
Source
CHI
calendar_month
Year
2021
emoji_events
Award
No award tagged
group
Authors
3 authors
sell
Subtopics
Programming Education & Computational Thinking, Intelligent Tutoring Systems & Learning Analytics
work
Professions
K-12 Teachers, University Professors & Researchers
article
Content Status
Full text indexed
hub
Related Papers
10 related papers