대구한의대학교 향산도서관

상세정보

부가기능

Design and Evaluation of Instructional Supports for Novice Programming Environments

상세 프로파일

상세정보
자료유형학위논문
서명/저자사항Design and Evaluation of Instructional Supports for Novice Programming Environments.
개인저자Zhi, Rui.
단체저자명North Carolina State University.
발행사항[S.l.]: North Carolina State University., 2019.
발행사항Ann Arbor: ProQuest Dissertations & Theses, 2019.
형태사항144 p.
기본자료 저록Dissertations Abstracts International 81-03A.
Dissertation Abstract International
ISBN9781085644815
학위논문주기Thesis (Ph.D.)--North Carolina State University, 2019.
일반주기 Source: Dissertations Abstracts International, Volume: 81-03, Section: A.
Advisor: Wiebe, Eric
이용제한사항This item must not be sold to any third party vendors.
요약Students often find programming difficult to learn. Traditionally, computer science courses expect students to learn programming by writing code to solve practice programming problems. However, prior studies in many educational domains show that novices can learn more effectively with alternative instructional supports, such as worked examples, erroneous worked examples, or self-explanation prompts. In intelligent tutoring systems and gamified educational environments, these instructional supports have been shown to improve student learning efficiency. However, less work has explored how and when these supports are effective in the domain of programming, and how they compare to problem solving (writing code from scratch). Therefore, this work investigates how different types of instructional support impact novices' outcomes when learning to program in block-based programming environments. I also devised a framework to explain the observed differences in student outcomes when using different instructional supports, based on cognitive science and educational psychology. I focus on block-based programming environments because they are commonly used in introductory programming courses, but little work has been done to understand how the effects of instructional supports can be generalized to those environments. This work contributes to the design and incorporation of effective instructional supports into novice programming environments, which has the potential to impact many novice learners.My primary research question is: How can we design effective instructional supports, using existing theories from cognitive science and educational psychology, to help students learn more efficiently than writing program code? In this work, I designed, evaluated and compared different instructional supports in novice programming environments. Based on the promising results of worked examples in other domains, I designed and investigated worked examples in two novice programming environments. In my first study, I evaluated instructional text, worked examples, and erroneous worked examples in a programming game with middle school students, and the results suggested that students may not actively engage in learning from worked examples and erroneous worked examples may be a promising strategy to help novices learn programming. In my second study, I evaluated incomplete worked examples with self-explanation prompts in a blockbased programming environment and found that worked examples may improve students' learning efficiency. However, the two studies suggest that there are large challenges to implement effective worked examples in the domain of programming, and that students may not actively engage in learning from worked examples. To address this issue, I designed two other instructional supports including Parsons problems and example-based feedback, which both strike a balance between worked examples and problem solving while increasing the activity engagement level. In my third study, I present a design of Parsons problems in a novice programming environment and a study where I evaluated the Parsons problems in a classroom setting. The results show Parsons problems saved students 15 to 17 minutes (43.6% to 65.2% of total time) on 30-minute lab assignments and they performed just as well on subsequent assignments compared to writing code. Furthermore, the results show that the effectiveness of Parsons problems maybe because Parsons problems dramatically reduce the programming solution space, let students focus on solving the problem rather than having to solve the combined problem of devising a solution, searching for needed components, and composing them together.To promote our goal of the automatic creation of adaptive instructional supports for novices solving open-ended problems, in my fourth study, I developed an algorithm to automatically generate data-driven, adaptive example-based feedback, which helps a student complete one meaningful step of a solution. Based on the evaluation from experts, the algorithm can generate more relevant examples than examples derived naively from students data, and the example quality may be improved further by leveraging interactivity with students. The results suggest that the data-driven approach could be used to generate adaptive, example-based feedback to help struggling students by leveraging student data.In summary, my work provides promising results that effective instructional supports can be designed to help students learning programming more efficiently than writing code from scratch. I situate these results in a new framework that explains differences in learning efficiency across supports based on the ICAP activity engagement framework and Cognitive Load Theory. Specifically, my results suggest that there are large challenges to implementing effective worked examples in the domain of programming, and that students may benefit from erroneous worked examples, incomplete worked examples with self-explanation prompts, and Parsons problems. As evaluated by experts, students may also benefit from the adaptive, data-driven example-based feedback. The instructional support design in programming should consider student engagement with the activity by designing instructional supports that strike a balance between the lower cognitive load of worked examples and the higher activity engagement of problem solving.The novel contributions of this work include: (1) design and implementation of different instructional supports in novice programming environments
일반주제명Computer science.
Science education.
Instructional design.
언어영어
바로가기URL : 이 자료의 원문은 한국교육학술정보원에서 제공합니다.

서평(리뷰)

  • 서평(리뷰)

태그

  • 태그

나의 태그

나의 태그 (0)

모든 이용자 태그

모든 이용자 태그 (0) 태그 목록형 보기 태그 구름형 보기
 
로그인폼