Subgoals for CS1 in Python

Subgoals for CS1 in Python
复制标题

Python 中 CS1 的子目标

DOI:
10.1145/3501709.3544283
复制
发表时间:
2022
期刊:
Proceedings of the 2022 ACM Conference on International Computing Education Research V.2 (ICER 2022
影响因子:
--
通讯作者:
Morrison, Briana B.
Morrison, Briana B.
中科院分区:
--
文献类型:
--
作者:
Morrison, Briana B.

文献摘要

参考文献

相似文献

在我们之前的研究中,我们发现使用子目标标签教授新手程序员入门Java编程可以加深知识[2],并提高学生的持久性,这些学生可能会有辍学或不及格的风险。子目标是一种教学工具,旨在弥合新手和专家之间的差距,即,学生和教师。专家通常很难在新手理解的水平上解释概念,因为他们已经自动化了许多低级知识。用于确定子目标的任务分析使这一知识明确。子目标通常通过子目标标记的工作示例向学生表达,这些示例明确地陈述了通过示例表达的概念知识。这种示例的教学设计允许学生看到过去示例的表面细节,以举例说明结构化问题解决过程[3]。鉴于越来越多的大学在入门编程课程中使用Python,我们已经开始定义子目标的过程,以用于基于Python的入门课程。我们重复了我们用来创建基于Java的教学材料的任务分析-问题解决(TAPS)开发过程[1]。与基于Java的教学材料一样,我们为评估用Python编写的程序和用Python编写程序创建了子目标。我们已经确定了计算表达式、条件、循环和函数的子目标。对于编写程序,我们已经确定了编写表达式、条件、循环、函数和使用库的子目标。在开发教学材料之前,我们正在寻求社区对已确定的子目标的反馈,包括工作示例和实践问题。我们也正在寻求反馈和输入的建议研究实验,以评估教学材料的影响。海报将呈现一个概述的TAPS开发过程中确定Python的子目标和拟议的实验设计,以评估教学材料的有效性。最初的研究采用了准实验设计。编程入门课程的两个部分是用Java授课的,在课堂上使用子目标标记的工作示例沿着子目标标记的练习问题,而课程的其他部分在课堂上使用传统的练习问题。所有部分的学生都完成了相同的测验,实验和编程作业,以及考试。我们分析了“用简明英语解释”测验问题[2],学生在测验和考试中的整体表现[3],以及自我报告的调查答案。我们预计类似的实验设计,用于评估基于Python的子目标教学材料,除了使用“用简单的英语解释”的测验问题,由于分析这些响应所需的劳动力和时间。我们打算有一个类似的准实验的情况下,两个部分的介绍类学习通过子目标标记的工作的例子,并在传统的格式授课类的其余部分。我们将再次有测验和考试,以评估学生的表现。我们希望CS Education研究社区能够提供反馈和选项,以改进我们的实验设计,包括用简单英语解释的测验问题的替代品。Java和Python子目标都将沿着有关如何在课堂上使用教学材料的信息。所有教学材料都可以从项目网站https://www.cs1subgoals.org免费获得。
In our previous research we found that teaching novice programmers introductory programming in Java using subgoal labels led to deeper knowledge [2] and increased persistence for students potentially at risk of dropping out or failing their first undergraduate course in CS [3]. Subgoals are an instructional tool that is designed to bridge the gap between novices and experts, i.e., students and instructors. Experts often have difficulty explaining concepts at a level that novices understand because they have automatized much low-level knowledge. The task analysis used to identify subgoals makes this knowledge explicit. Subgoals are often expressed to students through subgoal-labeled worked examples that explicitly state the conceptual knowledge expressed through examples. This instructional design of examples allows students to see past superficial details of the example to the structural problem-solving procedure being exemplified [3].Given the increasing number of universities using Python in introductory programming classes, we have begun the process of defining the subgoals to use in Python-based introductory courses. We have repeated the Task Analysis by Problem Solving (TAPS) development process [1] that we used to create Java-based instructional materials. As with the Java-based instructional materials, we have created subgoals for both evaluating programs written in Python and writing programs in Python. We have identified subgoals for evaluating expressions, conditionals, loops, and functions. For writing programs, we have identified subgoals for writing expressions, conditionals, loops, functions, and using libraries. We are seeking feedback from the community on the identified subgoals before developing the instructional materials, including worked examples and practice problems. We are also seeking feedback and input on the proposed research experiment to assess the impact of the instructional materials.The poster will present an overview of the TAPS development process for identifying the Python subgoals and the proposed experimental design for assessing the effectiveness of the instructional materials. The original study used a quasi-experimental design. Two sections of an introductory programming course were taught in Java used subgoal-labeled worked examples during class along with subgoal-labeled practice problems while the other sections of the course used traditional practice problems during class. Students in all sections completed the same quizzes, lab and programming assignments, and exams. We analyzed ”Explain in Plain English” quiz questions [2], overall student performance on quizzes and exams [3], and self-reported survey answers. We anticipate a similar experimental design for evaluating the Python based subgoal instructional materials with the exception of using the ”Explain in Plain English” quiz questions due to the labor and time required for analysis of such responses. We intend to have a similar quasi-experimental situation with two sections of the introductory class learning through subgoal-labeled worked examples and the remaining sections of the class taught in the traditional format. We will again have quizzes and exams to assess student performance. We hope the CS Education research community will provide feedback and options for improving our experimental design, including a replacement for the Explain in Plain English quiz questions.Both Java and Python subgoals will be available along with information on how to use the instructional materials in the classroom. All instructional materials are freely available from the project website, https://www.cs1subgoals.org …
使用 SOLO 分类法了解 CS1 中的子目标标签效果
DOI: 10.1145/3291279.3339405
发表时间: 2019
期刊: Proceedings of the 2019 ACM Conference on International Computing Education Research
影响因子: --
作者:
Decker, Adrienne;Margulieux, Lauren E.;Morrison, Briana B.
通讯作者: Morrison, Briana B.