DC Field | Value | Language |
---|---|---|
dc.contributor.advisor | 오혜연 | - |
dc.contributor.author | Park, Jungkook | - |
dc.contributor.author | 박정국 | - |
dc.date.accessioned | 2024-07-26T19:31:01Z | - |
dc.date.available | 2024-07-26T19:31:01Z | - |
dc.date.issued | 2023 | - |
dc.identifier.uri | http://library.kaist.ac.kr/search/detail/view.do?bibCtrlNo=1047415&flag=dissertation | en_US |
dc.identifier.uri | http://hdl.handle.net/10203/320988 | - |
dc.description | 학위논문(박사) - 한국과학기술원 : 전산학부, 2023.8,[vi, 64 p. :] | - |
dc.description.abstract | Online programming education today provides an environment where many learners can efficiently learn programming beyond time and space constraints. However, its asynchronous and indirect nature makes it difficult for learners, instructors, and tutors to interact closely. In this thesis, I propose tools and algorithms to solve the limitations of interaction by using the character-level code editing logs that naturally occur in the programming education environment. First, I propose a new tool to create a text-based screencast that replays the instructor's code editor environment using the captured character-level code editing logs and embeds programming exercises within the screencast. Using the proposed tool, learners go beyond simply watching videos and freely edit and execute code within the screencast while actively engaging in learning by solving embedded exercises within the same interface. Instructors embed programming exercises with automated grading within the screencast, using them as checkpoints to check learners' understanding accordingly. Second, I formally define the ambiguity problem where multiple valid editing outcomes can arise during the non-linear editing of text-based screencast and propose an algorithm to address it. An experiment with experienced instructors shows they can complete various non-linear editing tasks where multiple ambiguities occur using a prototype editor. Third, I propose a machine learning-based ranking model for the early detection of learners who need help based on their character-level code editing history. The proposed model analyzes learners' first few minutes of code editing history and recommends candidates to tutors in the order of the longest expected time-on-task metric. To minimize the loss of fine-grained information in the dataset, I propose a new code representation that augments character-level difference information to the abstract syntax tree of codes. The proposed model and code representation are validated with a real-world dataset collected from more than 4,000 students at a university CS1 class. | - |
dc.language | eng | - |
dc.publisher | 한국과학기술원 | - |
dc.subject | 프로그래밍 교육▼a코드 이력▼a인간-컴퓨터 상호작용▼a기계학습 | - |
dc.subject | Programming education▼aCode history▼aHuman-computer interaction▼aMachine learning | - |
dc.title | Improving online programming education with character-level code editing logs | - |
dc.title.alternative | 글자 단위의 코드 수정 로그를 이용한 온라인 프로그래밍 교육의 개선 | - |
dc.type | Thesis(Ph.D) | - |
dc.identifier.CNRN | 325007 | - |
dc.description.department | 한국과학기술원 :전산학부, | - |
dc.contributor.alternativeauthor | Oh, Hae Yun | - |
Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.