• 沒有找到結果。

自我組織式行為塑模應用於程式學習之研究

N/A
N/A
Protected

Academic year: 2021

Share "自我組織式行為塑模應用於程式學習之研究"

Copied!
117
0
0

加載中.... (立即查看全文)

全文

(1)

國立交通大學

資訊科學與工程研究所

博士論文

自我組織式行為塑模應用於程式學習之研究

A Self-Organizing Behavior Modeling on Programming

e-Learning

研 究 生:翁瑞鋒

指導教授:曾憲雄 博士

(2)

自我組織式行為塑模應用於程式學習之研究

A Self-Organizing Behavior Modeling on Programming

e-Learning

研 究 生:翁瑞鋒 Student:Jui-Feng Weng

指導教授:曾憲雄 博士

Advisor:Dr. Shian-Shyong Tseng

國 立 交 通 大 學

資 訊 科 學 與 工 程 研 究 所

博 士 論 文

A Dissertation

Submitted to Department of Computer Science and Engineering College of Computer Science

National Chiao Tung University in partial Fulfillment of the Requirements

for the Degree of Doctor of Philosophy

in

Computer Science December 2010

Hsinchu, Taiwan, Republic of China

(3)

自我組織式行為塑模應用於程式學習之研究

學生:翁瑞鋒 指導教授:曾憲雄 博士 國立交通大學資訊學院 資訊科學與工程研究所

摘要

資訊科學與工程領域的學生在學習程式語言的過程中,問題解決能力的訓練 一直是很重要的課題。給一個問題時,學生要可以分析問題的屬性,判斷並選擇 最適當的問題解決策略來設計程式演算法並實作。問題解決的教學一般來說是不 容易的,因為不同學生即使在學習同一個問題解決策略時,常會有不同的思考錯 誤徵狀發生,而不同的徵狀背後也往往是由於不同的邏輯錯誤或迷失概念造成 的,也因此造成學習診斷上的困難。為了能確切診斷並提供適性化的學習導引, 因此需要定義出學習行為模型來描述學習狀態。隨著 Web 2.0 式數位學習的蓬勃 發展,學生的學習歷程,有機會透過社群網絡網站、討論版網站、社群標籤分享 網站、維基百科與線上遊戲等平台,能更完整的紀錄下來以提供更精確的行為模 式之分析,然而 Web 2.0 平台上相較於傳統課堂上單純只有老師與同學的學習環 境,由於學習情境的多變性(如:社交關係),因此不容易透過靜態分析就能一次預 定出學生完整的行為模型。因此 Web 2.0 式數位學習的學習行為模型的設計有三 個技術上的問題,分別是如何提供延伸性以反映行為模式的變化、如何保有穩定 性以避免受到雜訊影響分析、如何保有可讀性來提供學習評量上的使用。為了解 決上述這些問題,在本論文中使用知識工程技術,提出了使用本體論來定義後設 資料註記之結構的方式,來標註記錄下來的學習歷程。將學生的行為模型透過本 體論的概念與結構來敘述,因此可以將動態環境中學習模型之設計問題,轉成本 體論建構與維護之問題。因此提出了知識本體論結晶化的概念來塑模學習行為。 透過素民式知識擷取與歷程資料探勘來延伸本體論,透過群體驗證與後設資料驗 證來確保本體論的穩定性,透過本體論之邏輯結構定義,搭配規則式評量系統來 提供行為模型的可讀性。在實驗驗證方面,實際應用在大專生遞迴解題策略之線 上學習平台上,以及國中生布林邏輯的學習上,實驗結果發現透過行為塑模提供 的學習導引,能有效的提升學生的學習效果。 關鍵字: 本體論、自我組織式行為模型、程式學習、知識工程、適性化學習、社 群網路服務、庶民分類、群體智慧

(4)

II

A Self-Organizing Behavior Modeling on

Programming e-Learning

Student: Jui-Feng Weng Advisor: Dr. Shian-Shyong Tseng

Department of Computer Science and Engineering National Chiao Tung University

Abstract

The problem solving capability is important for students in the Programming course of Computer Science. While given the problem, students need to firstly analyze the problem and select an appropriate problem solving strategy for further flow chart design and code implementation. Problem solving in programming is generally considered to be difficult because different students usually have different error symptoms and the symptoms usually have different root causes. Therefore, to provide the adaptive learning guidance, a behavior model is needed to describe the students‟ learning status. In Web 2.0-based e-Learning environment, the students‟ portfolio on the platforms of social network service, web forum, social bookmark, Wikipedia, web games, etc. can be used as the potential resources to build the students‟ behavior model precisely. However, the changing of learning context such as social networks on the Web 2.0 platforms make it more difficult to predefine the students‟ behavior model using one shot approach. Therefore in Web 2.0-based e-Learning, there are three technical issues for behavior modeling which are the extensibility for modeling the evolving behaviors, the stability for noise handling, and the understandability for learning behavior assessment. How to provide a learning behavior model which can be self-organized to maintain and discover the evolving behaviors becomes an important and challenging issue.

In this dissertation, the learning behavior modeling problem is defined as that

given the learning content and context of learning activity, how to model the students‟ behaviors to provide adaptive learning guidance. Under different learning contexts,

(5)

the behavior modeling problem can be reduced to the problem solving strategy

formulation and realization problem for self programming learning, the trustworthy experts modeling problem for inquiry learning, and the consensus building problem

for folksonomy-based knowledge sharing activity.

With our observations, students could have meaningful learning actions when the purposes of the actions in specific learning context are obtained. Accordingly, to build the students‟ behavior model, the Purpose-based Ontology is built to model the purpose of the actions. Next, the ontology-based learner behavior modeling approach is proposed to analyze the frequent action patterns and organize the obtained patterns with the structure of ontology as learning behaviors. Therefore, the learning guidance issues under different contexts can be resolved by the following behavior modeling approaches to provide the adaptive learning guidance based on the built behaviors. Under the context of intelligent tutoring system, the Generalized Model Tracing approach is proposed to organize the diagnosis results of different program model tracing with Problem Solving Strategy Ontology. The diagnosis result can be used to provide the learning guidance for problem solving strategy. Under the context of learning forum, the Cascading Topic Clustering Algorithm and Self-organized

Ontology Maintenance Scheme are proposed to organize the forum experts‟ inquiry

activities with the Purpose-based Ontology. Building the forum experts‟ behavior model can provide trustworthy expert finding service for inquiry-based learning. Under the context of collaborative constructed sharable content repository, the

IRT-Based Metadata Reengineering Scheme is proposed to evaluate the effectiveness

of folksonomy tags and resolve the synonym, redundancy and incompleteness problem of metadata by the domain taxonomy. Accordingly, the tag effectiveness value can detect the conflict and provide the tagging guidance to resolve the consensus building problem to obtain the well-tagged metadata. To evaluate the proposed behavior modeling approach, the applications with different learning contexts are investigated including adaptive programming misconception diagnosis,

game rule tuning learning activity, trustworthy expert finding service for inquiry learning on the programming learning forum, and intelligent solution retrieval system.

The experiments for students‟ learning effectiveness have been done. The experimental results show the applications with behavior models have higher learning effects.

Keywords: ontology, self-organizing behavior model, programming learning, metadata reengineering, adaptive learning, social network service, folksonomy, collective intelligence

(6)

IV

誌謝

本論文能完成,首先要感謝的是我的指導教授 曾憲雄博士。跟隨 曾教授一路從碩 士班到博士班這將近十年的研究歲月裡,親自感受到 曾教授不論在教學研究或為人處 事,都為學生樹立典範。常常透過日常的對話,將學術研究中許多抽象層次、哲理的思 考,透過獨到的創意思考方式,循循善誘並激發我們對問題的解析,讓學生體會領會研 究的奧妙與樂趣。因此本論文的誕生,以及學生各方面能力的成長,主要感謝 曾教授 對我的指導與鼓勵。 此外特別要感謝從論文研究計畫書口試、校內口試到最後口試一路給予我許多論文 修改建議的 孫春在教授與袁賢銘教授,讓我重新檢視本論文的研究核心貢獻。感謝在 校內口試中,彭文志教授對成果整理與呈現方式的提點;也感謝在最後口試中,給予我 寶貴意見的 黃國禎教授、 楊鎮華教授、蘇豐文教授以及 陳孟彰老師,對於論文方法 與結果呈現,給於精闢的見解與指導。由於他們的指正,讓此論文最後的呈現能夠更加 強一致性與連貫性,讓整體論文能更加的完整。 感謝交大知識工程實驗室的夥伴們,特別是蘇俊銘學長在計畫與研究上許多經驗的 指導,時文中學長與李威勳學長們的鼓勵,跟我一起在麥當勞奮鬥的兄弟們楊哲青、李 宗儒、董元昕與曲衍旭,以及許多屆實驗室的學弟妹們,大家的革命情感是永久的。也 感謝蓮芳給我的支援與幫助。同時也感謝系辦的俞美珠、馮詠喬與楊耀萱協助口試與畢 業相關事宜,以及給我的支援、包容與鼓勵。 要感謝的人太多,謹將本篇論文的完成,獻給我親愛的爸爸、媽媽,以及一路照顧 支持我的老婆雅惠。博士畢業,是另一段研究生涯的開始,期望在未來的人生中,我能 不忘初衷,持續在自己喜歡的學術研究中保有熱誠,並進一步貢獻給世界。 翁瑞鋒 2010 年,新竹交通大學

(7)

Table of Contents

摘要 ...I Abstract ... II 誌謝 ... IV List of Figures ... VII List of Tables ... IX

Chapter 1 Introduction ... 1

Chapter 2 Related works ... 5

2.1 Ontology-based modeling approaches ... 5

2.2 Programming learning behavior modeling ... 7

Chapter 3 Self-organizing Behavior Modeling ... 10

3.1 Behavior modeling problem ... 10

3.2 The idea ... 13

Chapter 4 Behavior modeling of self-assessment activity on online testing system ... 17

4.1 Programming behavior modeling to provide adaptive testing and learning guidance ... 17

4.2 The behavior mining to discover error patterns ... 20

4.3 Evaluation ... 29

Chapter 5 Behavior modeling of programming inquiry activity on the learning forum ... 35

5.1 Inquiry Behavior modeling on the learning forum ... 35

5.2 The Purpose-based Ontology for behavior modeling ... 38

5.3 The Cascading Forum Topic Mining Algorithm for Self-Organized Ontology Maintenance ... 41

5.4 Evaluation ... 52

Chapter 6 Behavior modeling of content tagging for learning resource management ... 62

6.1 Knowledge sharing behavior modeling on content repository ... 62

6.2 The Iterative, Collaborative Ontology Crystallization scheme for Consensus building ... 67

6.3 The metadata effectiveness evaluation ... 69

6.4 Evaluation ... 74

(8)

VI

7.1 Application: teaching Boolean Logic through game rule tuning ... 79

7.2 Application: the enterprise problem diagnosis and solution retrieval ... 85

7.3 Application: the e-Learning system with adaptive content sequence ... 95

Chapter 8 Conclusion ... 99

(9)

List of Figures

Figure 1.1 Web 2.0-based programming e-Learning ... 2

Figure 3.1 The e-learning activities with different contents and contexts ... 11

Figure 3.2 The inquiry-based programming e-learning ... 12

Figure 3.3 The knowledge-based programming learning platform ... 13

Figure 3.4 The knowledge engineering for self-organizing behavior modeling ... 14

Figure 4.1 Problem Solving Strategy Ontology (PSSO) ... 19

Figure 4.2 Knowledge Boundary in programming learning domain ... 20

Figure 4.3. Buggy programs of “selection sort” and “factorial number generation” ... 22

Figure 4.4 The relations of behavior patterns ... 27

Figure 4.5. The scaffolding-based learning by example process ... 30

Figure 4.6 Structured programming learning using cloze test ... 31

Figure 4.7 Remedial cloze test with sample program as learning scaffolding ... 31

Figure 4.8 Cloze testing with error pattern detection ... 32

Figure 4.9 Cloze tests with similar pragmatic concept where one as the remedial sample code ... 32

Figure 5.1 Purpose-based Ontology to support inquiry analysis ... 36

Figure 5.2. The four-layer Purpose-based Ontology ... 40

Figure 5.3 The self-organized ontology maintenance scheme ... 41

Figure 5.4. The structure-based purpose classifier ... 45

Figure 5.5. C++ domain ontology ... 46

Figure 5.6 The example of documents distance ... 47

Figure 5.7 The purposes of the hot topic about “OOP” ... 50

Figure 5.8 The trustworthy expert finding service to bridge the social network for problem solving .... 52

Figure 5.9 An example of expert‟s profile representation ... 53

Figure 5.10 Keyword vector of posted question ... 54

Figure 5.11 Precision measure for the three expert finding strategies ... 58

Figure 6.1 The behaviors of knowledge sharing activity on content repository ... 63

(10)

VIII

Figure 6.3 Tags consensus building problem ... 66

Figure 6.4 The Iterative, Collaborative Ontology Crystallization scheme ... 67

Figure 6.5 Folksonomy-based Delphi Method ... 68

Figure 6.6 Questionnaire system of Folksonomy-based Delphi Method ... 69

Figure 6.7 The synonym resolution heuristic rule ... 70

Figure 6.8 The redundancy resolution heuristic rule ... 70

Figure 6.9 The incompleteness resolution heuristic rule ... 71

Figure 6.10 The experiment of tag evaluation by experts ... 75

Figure 6.11 The tags of the trigonometric function domain ... 75

Figure 6.12 The average number of altered tags for test items with different social tag sizes ... 77

Figure 6.13 Comparison of the social tags and IRT-MRS based on expert 1‟s tags ... 78

Figure 6.14 Comparison of the social tags and IRT-MRS based on expert 2‟s tags ... 78

Figure 7.1 The Game rule tuning activity design process ... 80

Figure 7.2 The Scratch programming tool ... 81

Figure 7.3 System architecture of CRM system. ... 86

Figure 7.4 The error type ontology of oracle database ... 88

Figure 7.5 The behavior of pondering over known information in Rule-Base ... 88

Figure 7.6 SRS User Interface in Query ... 91

Figure 7.7 Solution List in SRS ... 91

Figure 7.8 Accuracy evaluation between SRS system and KM center ... 93

Figure 7.9. Efficiency evaluation between SRS system and KM center ... 94

Figure 7.10 Adaptive learning system for 5th graders natural science ... 96

(11)

List of Tables

Table 4.1 Large 1 Itemsets of buggy pattern ... 24

Table 4.2 Large 2 Itemsets of buggy pattern ... 25

Table 4.3 Large 3 Itemsets of buggy pattern ... 26

Table 4.4 Best rules found from large itemsets ... 26

Table 4.5 The score for each group (total score=100) ... 33

Table 4.6 The score for each group (total score=100) ... 34

Table 5.1 Inquiry purposes of C++ forum ... 37

Table 5.2 The question and answer keyword-pattern examples of different purposes ... 44

Table 5.3 The keyword vector of documents ... 49

Table 5.4 The result of applying structure-based classification... 49

Table 5.5 The Result of Applying ISODATA Clustering Algorithm ... 49

Table 5.6 The issues of different purposes discussed in the hot topic “OOP” ... 51

Table 5.7 Characteristics of the test forum documents database ... 57

Table 5.8 Parameter values of the three experts finding strategies ... 57

Table 5.9 Questionnaire of learners‟ satisfaction in different inquiry problems ... 59

Table 5.10 Questionnaire of learners‟ satisfaction in different expert finding strategies ... 60

Table 6.1 Tags of test items collected from folksonomy, IRT-MRS, and experts ... 76

Table 7.1 Students joined the experiment ... 82

Table 7.2 The score for each group (total score=100) ... 82

Table 7.3 The score for each group (total score=100) ... 83

Table 7.4 Example case of Dropping Redo Log Not Possible ... 90

Table 7.5 Accuracy evaluation between RCBR and CBR ... 92

Table 7.6 Efficiency evaluation between RCBR and CBR ... 93

Table 7.7 The pretest-posttest of adaptive learning system ... 96

(12)

1

Chapter 1 Introduction

The problem solving capability is important for students in the Programming course of Computer Science. While given the problem, students need to firstly analyze the problem and select an appropriate problem solving strategy for further flow chart design and code implementation. Problem solving in programming is generally considered to be difficult because different students usually have different error symptoms and the symptoms usually have different root causes. Therefore, to provide the adaptive learning guidance, a behavior model is needed to describe the students‟ learning status.

With the growth of Web 2.0 technology, students use lots of Web applications such as social network service, web forum, social bookmark, Wikipedia, etc. during learning or homework time and thus several practitioners start the new research field of Web 2.0-based e-Learning. As Shown in Figure 1.1, current students‟ programming learning activities such as online testing, social network service, Web forum, social bookmark, Wikipedia, sharing technical articles, etc. are getting more and more popular.

(13)

Figure 1.1 Web 2.0-based programming e-Learning

In Web 2.0-based e-Learning environment, the learning contexts such as computer adaptive testing, learning companions on the social network platforms, technical documents on the forum, etc. can be used as the potential resources to build the students‟ behavior model precisely to provide the adaptive learning guidance.

However, the multidisciplinary knowledge and the changing of learning community on the Web 2.0 platforms make the students‟ behaviors more complex. In addition, the new Web 2.0 applications and technologies of learning environment emerge rapidly. The learner‟s behavior models evolve as well. Therefore in Web 2.0-based e-Learning, there are three technical issues for behavior modeling which are the extensibility for modeling the evolving behaviors, the stability for noise handling, and the understandability for learning behavior assessment. How to provide a learning behavior model which can be self-organized to maintain and discover the evolving behaviors becomes an important and challenging issue.

In this dissertation, the learning behavior modeling problem is defined as given

the learning content and context of learning activity, how to model the students‟

(14)

3

the behavior modeling problem can be reduced to the problem solving strategy

formulation and realization problem for self programming learning, the trustworthy

experts modeling problem for inquiry learning, and the consensus building problem

for folksonomy-based knowledge sharing activity.

With our observations, students may have meaningful learning actions when the purposes of the actions in specific learning context can be obtained. Accordingly, to build the students‟ behavior model, the Purpose-based Ontology is built to model the purpose of the actions. Next, the ontology-based learner behavior modeling approach is proposed to analyze the frequent action patterns and organize the obtained patterns with the structure of Purpose-based Ontology as learning behaviors. Therefore, the adaptive learning guidance can be provided based on the built behavior models.

The behavior modeling approaches for adaptive learning guidance are proposed in three learning contexts which are the self-assessment activity on the online tutoring

system, programming inquiry activity on the learning forum, and knowledge sharing

activity on the content repository.

For the self-assessment activity on the online tutoring system, the Generalized

Model Tracing approach is proposed to organize the diagnosis results of different

program model tracing with Problem Solving Strategy Ontology. The diagnosis result can be used to provide the learning guidance for problem solving strategy.

For the programming inquiry activity on the learning forum, the Cascading Topic

Clustering Algorithm and Self-organized Ontology Maintenance Scheme are proposed

to organize the forum experts‟ inquiry activities with the Purpose-based Ontology. Building the forum experts‟ behavior model can provide trustworthy expert finding service for inquiry-based learning.

(15)

Metadata Reengineering Scheme is proposed to evaluate the effectiveness of

folksonomy tags and resolve the synonym, redundancy and incompleteness problem of metadata by the domain taxonomy. Accordingly, the tag effectiveness value can detect the conflict and provide the tagging guidance to resolve the consensus building problem to obtain the well-tagged metadata.

To evaluate the effectiveness of proposed behavior modeling approach, the learning guidance applications with different learning contexts are investigated including adaptive programming misconception diagnosis, game rule tuning learning

activity, trustworthy expert finding service for inquiry learning on the programming

learning forum, and intelligent solution retrieval system. The effectiveness evaluation

of behavior modeling is based on the comparison between learning effects of the applications with and without the behavior model. The experimental results show that the applications with behavior models have higher learning achievements.

The rest of this dissertation is organized as follows. In Chapter 2, we review the previous work on related research. Then, the overview of the proposed framework is presented in Chapter 3. Next, the behavior modeling approaches of three learning activities are introduced in Chapters 4, 5 and 6, respectively. Finally, a discussion of the main contribution and the concluding remarks are shown in Chapter 7.

(16)

5

Chapter 2 Related works

In this chapter, the literature reviews of ontology-based modeling approaches and programming learning behavior modeling are provided.

2.1 Ontology-based modeling approaches

Ontology-based intelligent tutoring system

In e-Learning domain, the ontology is widely used to denote the representative concepts and associated relations among learning materials. To manage a large number of learning materials, many Learning Content Management Systems (LCMS) have been proposed by means of the ontology-based approach [1][25][32][33][42][48][66]. The e-learning was considered as the “learning of organizational memory”; thus the ontology and semantic web technology were used to capitalize the learning knowledge and index the learning resources. In [31][53], the concept map was applied to visualize the learner‟s thought and then connect the concepts to the learning contents in LCMS. Thus, the students were able to browse and explore the relevant leaning contents to extend their understanding via the concept maps. In QBLS [24], the ontology with domain model and pedagogical model was proposed to support the design and annotation of the learning resources. Thus, the QBLS can provide the efficient concept information and reasoning mechanisms for the adaptive learning system. It was mentioned that the reusing of existing ontology was a quite conclusive approach. However it also outlined the difficulty of finding acceptable match between different visions of a domain while using the ontology. Besides the annotation of the learning contents for adaptive learning, in [36][37] the ontology was used as the intelligent assessment model. After the exam, each learner can have a personal assessment result to indicate the misconception and possible

(17)

remedial suggestions by referring the structure of concept map. The Salisbury [65] indicated that to achieve efficient performance in a higher level skill, it was required to have some basic perquisite concepts. Thus, the concept effect relationship was applied to annotate the concepts of test items and remedial learning information. In summary, the effectiveness of the surveyed adaptive e-learning systems and assessment systems were highly dependent on the well defined domain ontology. However, how to construct an acceptable ontology for more complex or larger domain is still a challenging issue.

Taxonomy-based Ontology Construction and Folksonomy-based Ontology Construction

In order to assist the experts constructing ontology, traditional taxonomy-based ontology authoring tools such as Protégé [78], OilEd[8], JOE [45], and SWOOP [38] with Graphical User Interface have been developed to visualize the concepts and their associated relations. These tools are designed for individual user ontology construction with top-down domain analysis process. However, in some dynamic or complex domain, it is costly and time-consuming for individuals to construct an acceptable ontology. Therefore, the collaborative ontology construction approaches are proposed with different incremental ontology learning strategies.

With rapid growth of Web 2.0, one of the emerging visions is the “collective intelligence” of a community of users to contribute their knowledge. The folksonomies mean the user-generated classification keywords, emerging through bottom-up consensus [80]. In this dissertation, we regard folksonomies as an ontology constructed by community. According to Wikipedia experience, we know that communities can provide knowledge more quickly and widely than small group of

(18)

7

experts. Therefore recent researches tended to propose the collaborative folksonomy-based ontology construction approaches. Researches such as Ontolingua [30], Collaborative Ontology Building (COB) [7], and OntoWiki [4] construct a web space where members of the ontology developers community can access, browse, edit, and modify ontologies. Each member of community can contribute to ontology with their background knowledge. Although various knowledge can be rapidly collected from the community members, the system administrator still has to manage the ontology manually. Furthermore, the growth of the amount of data brings more conflicts and noises. The lack of a convergence methodology may result in ontology distortion.

2.2 Programming learning behavior modeling

Model tracing

To support the programming learning, previous studies [22][61] proposed the algorithm animation to demonstrate the execution process of program. With the progress of the program development kit, most of the debugging tools allow the program to be traced step by step and assist the programmer discover the bugs with less effort. However, these tools are basically designed for programmers who can trace the program by themselves, since the provided messages are too difficult for novice learners to understand.

To support the programming learning, the Intelligent Tutoring Systems such as LISP Tutor [3] or DISCOVER [60] are proposed with the interactive practice system using model tracing approach. In the debugging test, the designed buggy patterns are placed in the program and the novice learner is asked to discover them. In [40], a tutoring system with program debugging interface was proposed. However, for the

(19)

novice learners who can‟t write the correct program, how to assess their possible misconception from mistake symptoms and provide the appropriate remedial learning is also an interesting and challenging issue.

Programming learning with context of game design

To motivate the students‟ learning interest, the game design is widely accepted as an effective way [47][52]. The researches about game design with learning models such as the learning through project-based learning [20] or problem-based learning [64] with innovative programming laboratories were proposed. These researches show that the interesting game design as learning scenario can effectively engage the students‟ learning. With our observation, the common attractive point of these learning models is that the game design learning content provides interesting scenario instead of abstract concepts provided by traditional lecturing approach.

The narrative and storytelling has a long history of use in structuring, organizing and communicating human. The benefits of using cases and stories for instruction have been demonstrated in many studies. In [77], the narrative-based interactive learning environment generates the cases from knowledge base to support the training of novice in decision making. In [39], the Case-Based Reasoning approach has been applied to support the construction of cognitive model of simulation-based learning system and serious games. These studies used the knowledge base system to support the generation of learning cases with meaningful scenario for the students.

Social network assisted programming learning

Besides the syntactic level learning, the training of problem solving skills such as the learning through project-based learning [11][17][20][65] or problem-based

(20)

9

learning [35][64] with innovative programming laboratories were investigated. The interesting learning context such as game design was adopted to motivate the learners‟ engagement. As even small projects are usually implemented in teamwork, the collaboration among members becomes a new issue. Thus, researches based on the social-culture constructivism were proposed to provide the collaborative programming environments [14][15][17][51][56][58][60][70] or the peer assessment activities [9][44][69]. The collective, collaborative learning tools such as discussion board, e-mail, etc are integrated in the learning platform. The assessment through portfolio analysis usually applied to model the behaviors of students [16][18][41][50][63][67].

(21)

Chapter 3

Self-organizing Behavior Modeling

Problem solving is the most important capability for learners in Programming Language subject. While given the problem, students need to firstly analyze the problem and select an appropriate problem solving strategy for further flow chart design and code implementation. Therefore, how to provide the adaptive learning guidance for problem analysis is our concern.

3.1 Behavior modeling problem

Current students‟ programming learning activities such as programming forum discussion, online testing, reading online technical articles, download sample codes, content sharing, etc. are getting more and more popular. To provide the adaptive learning guidance for problem analysis, the learning contexts such as visualization tools, inquiry learning companions, technical documents, etc. are important resources in Web 2.0-based e-Learning environment. The platforms of social network service, web forum, social bookmark, Wikipedia, web games, etc. can act as the potential activity resources to build the students‟ behavior model. As Shown in Figure 3.1, the students‟ behaviors of learning diagnosis, project-based game creation, inquiry learning, and knowledge sharing activities can be obtained from the accessing of resource contexts and interaction or collaboration with social contexts.

(22)

11

Figure 3.1 The e-learning activities with different contents and contexts

However, the multidisciplinary knowledge and the changing of learning community on the Web 2.0 platforms make the students‟ behaviors more complex. Therefore, how to acquire and update the learning behavior models becomes an important and challenging issue. In this dissertation, the learning behavior modeling problem is defined as followings.

Definition 3.1 The Learner Behavior Modeling Problem (LBMP)

Given the learning content and context of learning activity, LBMP is how to model the students‟ behaviors to provide adaptive learning guidance.

To simplify the discussion, the inquiry-based programming learning scenario is proposed with three learning activities as shown in Figure 3.2 and the behavior modeling are discussed in Chapter 4, Chapter 5 and Chapter 6, respectively. While

(23)

students participate in the inquiry-based programming e-learning, they firstly participate in the self-assessment activity on the online testing system to discover the possible misconceptions. While the misconception for specific programming topic is discovered, the learner can inquire the solution with other community members on the Web forum by posting questions. After several iterations of discussions, while the students figure out the misconception, they can share the learned knowledge on the Web content repository by uploading the learning reports or extending the concept ontology to annotate the new discovery. Besides, the students can retrieve the contents related to the learned concepts and adds their comments for the contents.

Figure 3.2 The inquiry-based programming e-learning

Students on different platforms usually have different behaviors due to different contexts. Therefore, under different learning contexts, the behavior modeling problem can be reduced to the problem solving strategy formulation and realization problem for self programming learning, the trustworthy experts modeling problem for inquiry learning, and the consensus building problem for folksonomy-based knowledge sharing activity.

(24)

13

3.2 The idea

With our observations, students could have meaningful learning actions when the purposes of the actions in specific learning context are obtained. To model this property in the learning platform, the knowledge-based programming learning platform is proposed to provide learning guidance based on the high level knowledge structure as shown in Figure 3.3. The learning content ontology is used to construct the metadata and assessment rule for the learning status of students. From the obtained portfolio, the guidance rules of learning platform can be extended by the ontology evolving process called ontology crystallization.

Figure 3.3 The knowledge-based programming learning platform

With the knowledge-based learning platform, the knowledge engineering approach is applied to obtain the self-organizing behavior model as shown in Figure 3.4. There are four steps in the self-organizing model which are the knowledge representation to define the extensible ontology structure, the knowledge acquisition

(25)

to extend the knowledge from folksonomy and maintain the stability using the proposed Folksonomy-based Delphi method, the knowledge reasoning to provide learning guidance using the assessment rules generated from constructed Ontology and the knowledge retaining to discover new behaviors and maintain the stability by proposed cascading data mining.

Figure 3.4 The knowledge engineering for self-organizing behavior modeling

Accordingly, to build the students‟ behavior model, the Purpose-based Ontology is built to model the purpose of the actions. The definition of Purpose-based Ontology is as followings.

Definition 3.2 The Purpose-based Ontology (O) is defined as O = (P, C, A, R), where

 P={p1, p2, …, pn} is a finite set of purpose nodes in the Purpose Layer to represent

(26)

15

 For each purpose pi, the concepts Ci={pi.c1, pi.c2, …}is a finite set of topic nodes

in the Concept Layer to represent different topics discussed in the forum. Topic nodes are linked to the corresponding purpose node by the “A Part OF” relations.  For each purpose pi and concept cj, the action Aijk={ pi.cj.a1, pi.cj.a2, …} is a finite

set of nodes in the Action Layer to represent the linkages associated to the original action log. The action nodes are linked to the corresponding concept node by the “Instance Of” relations.

The Purpose-based Ontology can be instantiated to different concepts definition in different learning contexts. Next, the ontology-based learner behavior modeling approach is proposed to analyze the frequent action patterns and organize the obtained patterns with the structure of ontology as learning behaviors. Therefore, the learning guidance issues under different contexts can be resolved by the following behavior modeling approaches to provide the adaptive learning guidance based on the built behavior models.

Under the context of intelligent tutoring system, the Generalized Model Tracing approach is proposed to organize the diagnosis results of different program model tracing with Problem Solving Strategy Ontology. The diagnosis result can be used to provide the learning guidance for problem solving strategy. The learning guidance applications of adaptive programming misconception diagnosis and game rule tuning

learning activity are investigated to evaluate the self-assessment behavior model.

Under the context of learning forum, the Cascading Topic Clustering Algorithm and Self-organized Ontology Maintenance Scheme are proposed to organize the forum experts‟ inquiry activities with the Purpose-based Ontology. Building the forum experts‟ behavior model can provide trustworthy expert finding service for

(27)

inquiry-based learning. The learning guidance application of trustworthy expert

finding service for inquiry learning on the programming learning forum is

investigated to evaluate the inquiry behavior model.

Under the context of collaborative constructed sharable content repository, the

IRT-Based Metadata Reengineering Scheme is proposed to evaluate the effectiveness

of folksonomy tags and resolve the synonym, redundancy and incompleteness problem of metadata by the domain taxonomy. Accordingly, the tag effectiveness value can detect the conflict and provide the tagging guidance to resolve the consensus building problem to obtain the well-tagged metadata. The learning guidance applications of metadata reengineering and intelligent solution retrieval

(28)

17

Chapter 4

Behavior modeling of self-assessment

activity on online testing system

Comprehending the program examples is important for students in the course of Introductory to Programming to develop their problem solving capability. With our observation, well-trained programmers usually have the capability to explain the problem solving strategic concept of program examples. For example, the linear

recurrence strategy is used in the Selection Sort Program to reduce the original

sorting problem of n elements into the sub-problem of sorting n-1 elements. The recurrence strategy can be used in a series of programming designs such as quick sort,

binary search, printing multiplication table, etc. In this chapter, the behavior

modeling to provide adaptive learning guidance for problem analysis is discussed.

4.1 Programming behavior modeling to provide adaptive testing

and learning guidance

To model the programming learning behavior, the Bloom‟s taxonomy [10] can be used to classify the programming learning achievement into different capability levels. The first is knowledge level in which the students can recognize the syntax and statement of program. The second is comprehension level in which the students can understand the semantic flow chart of program. The third is application level in which the students can understand the problem solving strategy used in the algorithm [21]. The fourth is problem analysis level in which the learner can analyze the properties of problem and select suitable problem solving strategy. However, most students can

(29)

only understand the knowledge level of the program examples. Thus, students are usually frustrated by the high barrier of program designing in the advanced programming course.

In the researches of behavior modeling on programming testing, the model tracing approach [3][40][60] is the most well-known. The traditional model tracing approach is based on a sample program of specific problem. Before testing, the student‟s possible coding actions should be modeled already. Thus, the testing process would interactively ask student to write down the code step by step. During the model tracing process, once the student encounters troubles in some step, the corresponding remedial instructions can be triggered to assist the student to finish the program coding. However, traditional model tracing approach can only support the intra-program behavior assessment e.g., it can only provide the syntax and semantic level instructions of single program statement.

To solve the problem, this chapter applied the pedagogical theory of Vygotsky‟s Zone of Proximal Development to support students learning the problem solving strategy with the metacognitive scaffolding. The Problem Solving Strategy Ontology is constructed to connect the relationship between low level programming statements and high level problem solving strategic concept.

Definition 4.1 Problem Solving Strategy Ontology (PSSO)

There are three layers in PSSO:

 Problem Strategic Layer: the algorithms of specific problem for students want to learn.

 Semantic Layer: the pragmatic semantic concepts that may be the misconceptions in comprehension level for students.

(30)

19

 Compound Statement Layer: the primitive semantic concepts that students can understand if learn diligently.

P1-2:

Recurrence sub-problem

P1-1:

Find the maximum number sub-problem

C2:

Swap

P1:

Sorting Problem Using Selection Sort Strategy

S1: Multiple Indexes Compound Statement Layer : A Kind Of E1: Control variable mistake E3: Boundary value error E4: Starting value / Ending value in Nested For error

S2: Temp Variable S3: Nested For Semantic Layer C1: Compare C3: Repetition Loop S4: Control Variable S5: Access Element E2: Misuse array index E5: Starting value / Ending value error : Is a Error Symptom Layer Strategic Layer Problem: Sorting Strategy: Selection Sort Data structure: Array

Assumption

Figure 4.1 Problem Solving Strategy Ontology (PSSO)

Lev Vygotsky‟s theory of Zone of Proximal Development (ZPD) is a core of the theory of cognitive development which explores the development of the psychological function by analyzing the relationship between actual development level learning and developing. That is to say, we want to know the students' current status and their potential capabilities in the learning.

Students often have the primitive semantic knowledge, but they mostly do not have the pragmatic semantic knowledge. To refer to the ZPD theory, we thought that the students have the misconceptions in program understanding, because there is the

knowledge boundary in the comprehension level of programming learning, as shown

(31)

Knowledge Boundary Problem Reduction Strategic Potential Development Level Program Semantic & Syntax Problem Solving Actual Development Level L ea rn in g

Figure 4.2 Knowledge Boundary in programming learning domain

Therefore, based on the Problem Solving Strategy Ontology, the classical program examples such as selection sort, bubble sort, binary search, etc are collected as learning scaffolding for training the recurrence strategy. In addition, the primitive program examples of the textbook are collected to provide the diagnosis of students‟ actual development level. The collected program examples are tagged with concepts of the Problem Solving Strategy Ontology.

According to the tagged program examples, the students‟ programming behaviors including frequent used pattern and error patterns can be built from mining the programming testing log. Once the behavior is built, the adaptive learning guidance service can be provided to assist students during the training of problem solving.

4.2 The behavior mining to discover error patterns

In this section, the debugging testing activity is proposed to assess the students‟ debugging capability. There are predefined buggy patterns as followings.

(32)

21

1). The detection of syntax error that violates the grammar of programming language.

 Missing token: student can detect the token omitted in the statement such as the missing token “;” omitted in the end of the statement “printf("hello

world!")”.

 Extra token: student can detect the redundant token which should be removed such as extra token “;” in statement “for(….); printf(“*”);”.

 Illegal delimiter: student can understand that delimiter is a sequence of one or more characters used to specify the start and end boundary between separate regions of program expressions such as the curly brackets “{“ and “}”.

2). The detection of misuse token error that happened in the mapping of pseudo

code to program.

 Misuse operator: student can detect the wrong usage of comparison operator “==” with assignment expression “=” in the statement “if(a=1)”.  Misuse operand data type: student can detect the incorrect operand usage

with wrong data type or constraint such as integer variable “a” is mismatched with the wrong data type in the statement “int a = „c‟; ”.

3). The detection of logical error that happened in the design of pseudo code for

solving a given problem.

 Unawareness of operator precedence: student can detect the computational priority of operators such as the programming for formula “(a+b)*h/2” may be written as “Area_Trapzium = a+b*h/2;” where the unawareness of operator precedence may cause the wrong result.

 Absence of boundary condition of some variable: student can detect the boundary condition of variables such as the “divided by zero” error in statement “b=0; a=1000/b;”.

 Unawareness of infinite loop: student can detect if the stopping criterion of “for/while” or “if” the branching condition of expression is unreachable such as the infinite loop in statement “for(i=1, i<10, i--)” or “i=1; while(i>1){ i++; }”.

(33)

taxonomy of the Problem Solving Strategy Ontology. Buggy patterns can be embedded in the selected programs and the students are asked to detect those buggy patterns by tracing the program to facilitate the error detection assessment. Two examples of “selection sort” and “factorial number generation” programs with embedded buggy patterns are shown in Example 4.1.

Example 4.1 Examples of program with embedded buggy patterns

With the constructed buggy patterns database, the buggy programs needed for error detection assessment can be provided. As shown in Figure 2, the example of

selection sort with Program No. Q001 is embedded with buggy patterns “misuse token” in line 5, the “infinite loop” in line 8, and the “missing token” in line 15; the

example of factorial number generation with Program No. Q002 is embedded with buggy patterns “Misuse operand data type” in line 7, the “Misuse operator” in line

10 and line 12.

Figure 4.3. Buggy programs of “selection sort” and “factorial number generation”

(34)

23

The portfolio of a student is composed of a set of testing results: P = {s1, s2, s3, …}

where symptom si=(Program_no, line_no, position_no, symptom_id) represents the

novice student‟s mistake on program detection. The Program_no, line_no and

position_no denote the position information of the occurred symptoms. The

symptom_id denotes the identification of buggy pattern.

Example 4.2 The portfolio

Assume that the student failed to detect the “misused operator” or “infinite loop” buggy patterns in program Q001, then the portfolio is {(Q001, 5, 10, Bug_misused_token), (Q001, 8, 1, Bug_infinite_loop)}.

Thus, the assessments of different symptoms are as follows.

 Assessment based on symptoms of syntax error: the symptoms of syntax error are including “missing token”, “extra token”, and “illegal delimiter”. The root causes for these symptoms can be most likely identified as misconception in “program structure” if the student only has symptoms in illegal delimiter; “unfamiliar with the statement” if the student fails in most of the symptoms; and “incautious” if the student only has symptom in partial program.

 Assessment based on symptoms of misuse token: the symptoms of misuse token are including “misuse operator” and “misuse operand data type”. The root cause can be mostly identified as misconception in the “operator” if the student only has symptom in program operator; “the operand data type” if the student only has the corresponding symptoms; “fail in the mapping of pseudo code to program” if the learner has both symptoms.

(35)

are including “unawareness of operator precedence”, “absence of boundary condition of variable”, and “unawareness of infinite loop”. The root cause can be mostly identified as the corresponding misconception only when learner passes the syntax assessment but has the logical error symptoms.

Therefore, if the major symptoms in novice‟s portfolio matched the symptoms of repertory grid, it can be identified as major root cause misconception. Besides, cooperating with other minor symptoms, the possible misconceptions can also be provided to the learner for further remedial learning.

To build the students‟ behaviors, 20 students who participated in “Introduction to

programming language” in the Asia University of Taiwan are involved. In the

assessment, 11 programs are collected including 37 buggy patterns.

Next, the association rule mining is applied to generate the Concept effect relationship (CER) to demonstrate how the learning status of certain error patterns can be influenced by the other error patterns.

With the students‟ portfolio, we use the software WEKA 3.4.10 to mine the relation between the misconceptions of the students by Apriori Association Algorithm. This algorithm is used to mine the relation between the misconceptions of the student. There are fifty records and fifty-five attributes proceed in the WEKA. The result we have found is shown in tables below.

Table 4.1 Large 1 Itemsets of buggy pattern

Large Itemsets L(1): Minimum support: 0.6 Minimum metric <confidence>: 0.9

Number of cycles performed: 8

The Buggy Pattern Support(%)

printf1 60%

(36)

25 printf10 70% scanf2 85% Scanf5 70% if1 80% if4 80% if5 60% for2 60% while1 75% doWhile1 75%

Table 4.2 Large 2 Itemsets of buggy pattern

Large Itemsets L(2): Minimum support: 0.6 Minimum metric <confidence>: 0.9

Number of cycles performed: 8

The Buggy Pattern Support(%)

printf10、scanf2 65% printf10、if1 60% printf10、if4 65% printf10、doWhile1 60% Scanf2、Scanf5 60% Scanf2、if1 70% Scanf2、if4 65% Scanf2、while1 65% Scanf2、doWhile1 65% Scanf5、if4 65% Scanf5、doWhile1 60% if1、if4 65% if1、for2 60% if1、while1 70% if1、doWhile1 65% if4、while1 60% if4、doWhile1 70% If5、doWhile1 60% for2、while1 60% while1、doWhile1 65%

(37)

Table 4.3 Large 3 Itemsets of buggy pattern

Large Itemsets L(3): Minimum support: 0.6 Minimum metric <confidence>: 0.9

Number of cycles performed: 8

The Buggy Pattern Support(%)

printf10、scanf2、if4 60%

printf10、if4、doWhile1 60%

scanf2、if1、while1 60%

scanf2、if4、doWhile1 60%

scanf5、if4、doWhile1 60%

if1、if4、doWhile1 60%

if1、for2、while1 60%

if1、while1、doWhile1 60%

If4、while1、doWhile1 60%

Table 4.4 Best rules found from large itemsets

Best rules found: Minimum support: 0.6 Minimum metric <confidence>: 0.9

Number of cycles performed: 8

Best Rules Found Confidence(%)

if4→while1→doWhile1 100%

for2→if1→while1 100%

if1→for2→while1 100%

for2→while1→if1 100%

scanf5→doWhile1→if4 100%

printf10→doWhile1→if4 100%

for2→while1 100% if4→doWhile1→ 100% for2→if1 100% doWhile1→if4 93% while1if1 93% scanf5→if4 93% printf10→if4 93% printf10→scanf2 93%

while1→doWhile1→if4 92%

if1→doWhile1→while1 92%

while1→doWhile1→if1 92%

(38)

27

if1→doWhile1→if4 92%

scanf5→if4→doWhile1 92%

With the discovered behavior patterns, the relations of behavior patterns are shown in Figure 4.3. If the students made the mistake with misuse token of the statement “if”, then the students most likely made the mistake with misuse

declaration to the statement “printf” as well. Furthermore, we can point out the

misconception of the student who made several mistakes at the same time. For example, if the students misuse token in the statement “if”, then the students may have logical error in the statement “do-while” and misuse token in the statement “while “ at the same time.

Figure 4.4 The relations of behavior patterns

After analyzing students‟ symptom portfolio, there are different error patterns discovered as followings.

 Assessment for statement “printf”: There are 55% students with symptom on the detection of “printf”. With the consideration of more symptoms, 15% students failed to detect almost all bugs. Therefore, their misconception can be judged as

(39)

misuse operator buggy pattern of “printf”. Therefore, their misconception can be judged as misuse operator with the statement “printf”.

 Assessment for statement “scanf”: There are 80% students with symptom on the detection of “scanf”. With the consideration of more symptoms, 25% students failed to detect almost all bugs. Therefore, their misconception can be judged as

unfamiliar with the statement “scanf”. The other 55% students only failed in the

misuse operand data type of “scanf”. Therefore, their misconception can be judged as misuse operand data type with the statement “scanf”.

 Assessment for the statement “if”: There are 85% students with symptom on the misuse operator of “if”. With the consideration of more symptoms, 45% students failed to detect almost all bugs of the misuse operator. Therefore, their misconception can be judged as misuse operator with the “if”. The other 40% students also failed in the bugs of operator precedence, therefore, their misconception can be judged as “unawareness of operator precedence”.

 Assessment for the statement “for”: There are 65% students with symptom on the missing token of “for”. Since they only failed in this bug; therefore their misconception can be judged as unfamiliar with the “for” statement .

(40)

29

4.3 Evaluation

With the discovered programming error patterns, scaffolding-based assessment which is the adaptive learning guidance service can be provided. Our learning activity is implemented by using cloze testing to obtain student‟s knowledge boundary and guide students to comprehend the problem solving strategy.

As shown in Figure 4.4, there are four processes for the scaffolding-based learning by example process. The first is to collect classical sample programs as the example database. The second, the programming comprehension starts from providing a target program for the learner to learn. While learner has misconception on the target program, instead of give the answer directly, the third process provides more sample programs for learner to practice by decomposition the program structure of original sample program. Thus, for each concept of program structure, it retrieves several programs from the program database which are similar to the provided sub-structure of the target program as the remedial sample program. Since the remedial sample programs are easier than the original one, the learner may easier to comprehend. Next in the forth process, once the provided remedial sample programs are learned, the scaffolding-based learning by example process applies the remedial learning using these programs as the scaffolding examples to hint the learner. Thus, with the sample programs as learning scaffolding, the learner can easier comprehend the target program.

During the scaffolding-based learning by example process, when a program is provided for leaner to learn, we still want to know if she can really understand the program or not. Therefore, our idea is to apply the cloze test on program structure to facilitate the assessment during the programming comprehension learning. Since the assessment using cloze test is open-ended for the learner to provide her answer, it

(41)

motivates the learner to comprehend context and structure of the sample program in order to answer the cloze test item. Moreover, since the cloze box can be set in the program structure level, block statement level and statement element level, for one sample program, it can further detect the learner‟s misconception is happened in what kind of comprehension level. Thus, it can provide more informative feedbacks.

Programming Comprehension Provide More Sample Programs P1 P2 P3 Target program Scaffolding-based Learning by example P1 P 2 P3 s1 s2 s3 OK OK OK P1 P2 P3 Collect Classical Sample Programs 1st Test 2nd Test Remedy Program structure Target Program ?

Figure 4.5. The scaffolding-based learning by example process

 Scaffolding-based cloze item generation

With the retrieved sample programs, the learning of programming comprehension is based on the structured programming model. The cloze test is provided for the learner level by level based on the program structure. As shown in Figure 4.5, the cloze test item of the sample program is generated by replacing the program statements of each level by empty sign. Thus, the learner can follow the assessment process to learn the programming comprehension.

(42)

31

Figure 4.6 Structured programming learning using cloze test

 Remedial scaffolding-based cloze test generation

Once the sample program has been learned by the learner, it can be used as the learning scaffolding example to learn the derived problems. As shown in Figure 4.6, remedial cloze test is shown with sample program as referred example that the learner answered before. Furthermore, to inform the similar and difference between referred example and derived problem, the scripts of the hint can be derived by comparing the metadata of two programs.

(43)

To evaluate the application, the system is implemented in environment APACHE, PHP and MYSQL. The system screen shots are shown in Figures 4.7 and 4.8.

Figure 4.8 Cloze testing with error pattern detection

(44)

33

There are 55 students of college school were participated in our two experiments and randomly divided into 21 students in control group and 34 students in experimental group. The experiments of comparison of learning improvements and comparison of learning outcomes for two groups are as followings.

 Comparison of learning improvements

The testing score of the learning achievement is shown in Table 4.5. To evaluate the difference between two groups, the paired two-sample T-test for means of scores is applied. Consequently, the t-test results of the experimental groups suggest significant differences but the control group has no significant differences. Finally, we may conclude that the experimental group has higher learning improvement.

Table 4.5 The score for each group (total score=100)

Pretest Posttest

Mean Std. Div. Mean Std. Div. Paired t-test

Control group (size=21) 17.38 17.86 21.90 17.57 t(26)=0.0997, p=0.9214 Experimental group (size=34) 19.26 13.31 32.94 16.57 t(39)=3.9141, p=0.0004* *p<.05

 Comparison of learning outcomes

The testing score of the learning achievement is shown in Table 4.6. To evaluate the difference between two groups, the un-paired two-sample T-test for means of scores is applied. The null hypothesis H0 assumes that population variances are equal.

The t-test results show that F-value is 1.12488 and p-value is 0.026. Consequently, the t-test results of the two groups suggest significant differences at a confidence interval

(45)

of 95%. Finally, we may conclude that the experimental group has higher learning achievement than control group.

Table 4.6 The score for each group (total score=100)

Size Mean Std. Dev. Control group 21 21.90 17.57

Experimental group 34 32.94 16.57 F=1.12488, p-value=0.026*

*p<.05

From the experiments, we find that the service can motivate students to actively study the relations of different problems. It can also motivate students to rethink the program examples of the textbook. Some students thought that our system did aid them for programming understanding. Based on the scaffolding-based assessment, the problem solving strategy can be easier learned from program examples as learning guidance.

(46)

35

Chapter 5

Behavior modeling of programming

inquiry activity on the learning

forum

In the course of Programming Language subject, the inquiry-based learning [12] which is usually applied to train learners‟ practical problem-solving capability is an effective strategy that helps learners to link the theory to the practice and develop teamwork collaborative learning skills [69].

In the programming learning forum, the inquiry-based learning begins when learners identifying the encountered problem. Next, the learner can logon the programming learning forum to start the inquiry by posting his/her question of problem. The senior programmers (i.e., the experts) or other learners with similar topic interest will feedback by replying the learner‟s question. The inquiry and feedback cycle is repeatedly executed until the learner is satisfied with the solution.

5.1 Inquiry Behavior modeling on the learning forum

In the C++ learning forum, a hot topic is usually formed by a specific issue with several inquiry aspects. Our basic assumption is that there are purposes behind inquiry activities stored as forum documents. Therefore, the forum inquiry behavior analysis can be reduced to the knowledge structure mining problem. As we know, the clustering of similar documents cannot be easily done without keyword vectors clustering analysis. However, the synonyms and high dimension nature of keyword-based model may cause the clustering results to be sparse and useless.

(47)

With our observation, the inquiry can be presented with purpose and topic. Thus, the idea of divide and conquer strategy is applied to classify the forum documents into several purposes and then apply the clustering analysis for each purpose separately. Accordingly, to support divide and conquer strategy, the Purpose-based Ontology is defined to maintain the purposes and topics of the forum documents. As shown in Figure 5.1, the forum documents are analyzed and transformed to the Purpose-based Ontology. Thus, the ontology can support the analysis of inquiry topic and inquiry process for teacher to conclude the inquiries of learners.

Figure 5.1 Purpose-based Ontology to support inquiry analysis

In a C++ learning forum, it is composed of a group of documents. To represent the documents, the domain keywords dictionary is constructed. Thus the input document keywords sets can be obtained using the statistical and syntactic processing tools with the existing dictionary [19]. The definition of forum document is as follows.

Definition 5.1 The Forum keywords set

Given a dictionary, the forum keywords set ∑ is defined as the set of keywords that used in the forum.

(48)

37

In the forum , the x-th inquiry document is represented as the keyword vector Docx=<v1, v2,…, v|∑|>, vj=1 if keyword kj appears in the Docx.

Example 5.1 The Inquiry Document example

With vector set ∑={k1, k2, k3, k4, k5, k6, k7, k8, k9, k10}, assume that the keywords

used in document Doca is {k1, k2, k3, k4}, and Docb is {k1, k3, k4, k5, k8}. Thus, Doca =

<1, 1, 1, 1, 0, 0, 0, 0, 0, 0> and Docb = <1, 0, 1, 1, 1, 0, 0, 1, 0, 0>.

In the C++ learning forum, there are different inquiry types. Based on the common inquiry words such as what, why, how, etc. and the frequently asked questions in C++ domain, most of the C++ learning forum inquiries can be categorized into the purposes shown in Table 5.1.

Table 5.1 Inquiry purposes of C++ forum

Question Types Description Example Issues What’s the

meaning

Questions about the definition of function library.

Concept about template and data member revision; Concept about static object, etc.

What’s wrong Questions about what‟s wrong with the bug or specific programming error.

Problem about free and delete from memory; Why can‟t it pass-by-reference, etc.

What’s different Questions about what‟s the difference between two or more domain concepts

Conflict about dynamic class creation and overloading; Differences between structure in C and Class in C++, etc.

How to do Questions about how to implement the required

How to use constructer in Class; How to initiate the

數據

Figure 1.1 Web 2.0-based programming e-Learning
Figure 3.2 The inquiry-based programming e-learning
Figure 4.3. Buggy programs of “selection sort” and “factorial number generation”
Table 4.1 Large 1 Itemsets of buggy pattern
+7

參考文獻

相關文件

By this, the second-order cone complementarity problem (SOCCP) in H can be converted into an unconstrained smooth minimization problem involving this class of merit functions,

Abstract We investigate some properties related to the generalized Newton method for the Fischer-Burmeister (FB) function over second-order cones, which allows us to reformulate

• If we know how to generate a solution, we can solve the corresponding decision problem. – If you can find a satisfying truth assignment efficiently, then sat is

Creative thinking / Critical thinking Problem Solving / Self

• Any node that does not have a local replica of the object periodically creates a QoS-advert message contains (a) its δ i deadline value and (b) depending-on , the ID of the node

▪ Can we decide whether a problem is “too hard to solve” before investing our time in solving it.. ▪ Idea: decide which complexity classes the problem belongs to

Secondly, GT students’ problem solving strategy includes more or less the following 19 methods: trial and error, tabling, looking for all possibilities, a combination of

The aim of this study is to investigate students in learning in inequalities with one unknown, as well as to collect corresponding strategies and errors in problem solving..