近年來各國對於程式教育逐漸重視,程式設計能力已成為未來競爭的關鍵能力之 一。過去學生在程式教育課程中常因遇到困難無法解決,教師也不易瞭解學生在程式設 計學習過程中所遇到的問題與困境,導致學生學習成就與動機降低。目前眾多教育資料 探勘研究多著重於學生課程最終通過與否的預測,而透過深度知識追蹤可以針對學生的 學習軌跡進行知識建模,了解學生當下的知識掌握程度,協助學生針對弱點進行改善。 本研究以臺灣北部某國立大學研究所課程進行實驗,研究對象共計20 人,為期18 周。本研究結合深度知識追蹤開發一個程式設計教學輔助系統,並對學生課程中所累積 的數據進行預測,將成果即時的呈現於儀表板中,以幫助學生與教師了解學生學習行為 以及對於各項知識點的掌握程度,並提供相對應之學習建議。在資料分析方面則透過課 程專用伺服器,蒐集學生於程式編輯平台上所操作的日誌以及隨堂測驗的答題資料,並 透過深度知識追蹤進行預測。同時,檢視深度知識追蹤運用在程式設計課堂上的效果以 及是否能有效的協助學生進行學習。 研究結果發現,透過程式設計教學輔助系統,學生程式能力獲得顯著進步,運算思 維以及程式設計學習動機與學習成果呈現顯著正相關;深度知識追蹤能有效運用於程式 設計課堂中,而且針對學生進行不同知識點能力評估;於學習歷程中發現,學習表現較 差的學生有著較低的學習動機與較低的編程練習投入,授課教師可透過學習歷程數據主 動對學生提供協助。未來研究可參照本研究結果,進一步結合開源線上程式能力評量系 統,達到自動化辨識知識點的目標。;In recent years, more and more countries have paid attention to program education. As a result, programming ability has become one of the most critical competencies in the future. In the past, it was hard for teachers to find and understand the problems that students face in the coding process, resulting in reduced learning achievement and motivation. Currently, many educational data mining studies focus on the dropout rate of students. Through deep knowledge tracing, we can model students′ learning trajectories, understand their current knowledge level, and help students overcome their weaknesses. This study was conducted at a national university in northern Taiwan. A total of 20 graduate students participated in the experiment for 18 weeks. This study combines deep knowledge tracing to develop a program learning system. The system supports the predictions based on the data accumulated from students′ learning processes. The system dashboard can immediately help students and teachers understand students′ learning behavior and mastery of various knowledge points and provide corresponding learning suggestions. Students′ logs on the integrated development environment and pop quizzes are collected for data analysis, and predictions are made through the deep knowledge tracing technique. It also examines the effectiveness of deep knowledge tracing in programming classes and whether it can effectively assist students in learning. The results show that students′ program ability has been significantly improved in this study. Both computational thinking and learning motivation have a significant positive correlation with learning outcomes. Deep knowledge tracing can effectively be used in programming class to evaluate students′ abilities according to their different knowledge points. The students with lower learning performance have lower learning motivation and engagement in programming practice. Teachers can actively assist students with learning records about the learning process. Future researchers can refer to this study by combining the open-source online judge system to identify knowledge points automatically.