Issues in Computational Models of Skill Development for Tutors of Computer Programming Visiting...

24
Issues in Computational Issues in Computational Models of Skill Developm Models of Skill Developm ent for Tutors of Comput ent for Tutors of Comput er Programming er Programming Visiting Scholar: Guojin Zhu Visiting Scholar: Guojin Zhu Supervisor: Juyang Weng Supervisor: Juyang Weng Michigan State University Michigan State University September 12, 2008 September 12, 2008
  • date post

    21-Dec-2015
  • Category

    Documents

  • view

    215
  • download

    1

Transcript of Issues in Computational Models of Skill Development for Tutors of Computer Programming Visiting...

Issues in Computational Models Issues in Computational Models of Skill Development for Tutors of of Skill Development for Tutors of

Computer Programming Computer Programming

Visiting Scholar: Guojin ZhuVisiting Scholar: Guojin ZhuSupervisor: Juyang WengSupervisor: Juyang WengMichigan State UniversityMichigan State University

September 12, 2008September 12, 2008

The purpose of this presentation The purpose of this presentation

is to give an example of tasksis to give an example of tasks

That can help human being in the real worlThat can help human being in the real world,d,

That involve problems that traditional progrThat involve problems that traditional program can not solve,am can not solve,

And that involve autonomous mental develAnd that involve autonomous mental development. opment.

Comment Comment

By definition autonomous mental developBy definition autonomous mental development is not task-specific. ment is not task-specific. This may lead to misunderstanding that auThis may lead to misunderstanding that autonomous mental development is not necetonomous mental development is not necessary for programs that are designed for sssary for programs that are designed for specific tasks. pecific tasks. This presentation, however, shows that soThis presentation, however, shows that some tasks may involve autonomous mental me tasks may involve autonomous mental development. development.

Comment (cont.)Comment (cont.)

In fact it gives an example of tasks that caIn fact it gives an example of tasks that can not be implemented by traditional progran not be implemented by traditional program, but may be implemented by a programm, but may be implemented by a program

(1) That is design for specific tasks;(1) That is design for specific tasks;

(2) And that has its internal process of aut(2) And that has its internal process of autonomous mental development, which is noonomous mental development, which is not just for a specific task. t just for a specific task.

What’s New?What’s New?

The viewpoint here is that autonomous meThe viewpoint here is that autonomous mental development is not computer program,ntal development is not computer program,

so that it is possible that autonomous mentso that it is possible that autonomous mental development may take place in the interal development may take place in the internal part of a computer program that is desinal part of a computer program that is designed for specific tasks. gned for specific tasks.

Background Background

Online-judgeOnline-judge

Problem selectionProblem selection

Problem difficultyProblem difficulty

AcceptedAccepted

SubmittedSubmitted

AuthorsAuthors

Difficulty levelsDifficulty levels

Limitation of Limitation of DD((pp) )

Do not consider that different studDo not consider that different students may fell different difficulty of tents may fell different difficulty of the same problemhe same problem. .

Tutors Needed Tutors Needed

To evaluate each problem To evaluate each problem pp for each stud for each student ent ss on a basis of the knowledge that the on a basis of the knowledge that the student student ss has mastered, has mastered,

formally written formally written EEss((pp). (vs. ). (vs. DD((pp))))

The greater the value of The greater the value of EEss((pp) is, the easie) is, the easie

r the problem r the problem pp for the student for the student ss; ;

The top 3 problems based on the value of The top 3 problems based on the value of EEss((pp) are supposed to be the most suitable ) are supposed to be the most suitable

for the student for the student s.s.

How to know the knowledge that a How to know the knowledge that a student has mastered ?student has mastered ?

Consider the problems he has solved.Consider the problems he has solved.

Trouble: There may several solutions to thTrouble: There may several solutions to the same probleme same problem ..

Consider the knowledge points Consider the knowledge points KKss that the that the

student student ss has employed in his submitted c has employed in his submitted codes odes CCss that solve the problems, that solve the problems,

where knowledge points are something likwhere knowledge points are something like “switch statement”, “array”, etc.e “switch statement”, “array”, etc.

Formal description of tFormal description of the task of the tutor he task of the tutor

EEss(.) = (.) = TT((KKss))

How to represent the values of How to represent the values of EEss

((pp) ) Suppose the training course of computer pSuppose the training course of computer programming provides rogramming provides nn problems denoted problems denoted pp11, , pp22, …, , …, ppnn..

The values of The values of EEss(.) are represented by vect(.) are represented by vect

or or yy, where the , where the iith component th component yyii of vector of vector

yy denotes the evaluated value denotes the evaluated value EEss((ppii) of the ) of the

iith problem th problem ppii , that is , that is

yyii = = EEss((ppii), ), i i = 1, ,2, …, = 1, ,2, …, nn

How to represent How to represent KKss

Suppose the training course of computer pSuppose the training course of computer programming involves rogramming involves mm knowledge points knowledge points denoted denoted kk11, , kk22, …, , …, kkmm..

KKss is represented by vector is represented by vector xx, ,

where the where the iith component th component xxii is 1 if the stude is 1 if the stude

nt has mastered the knowledge point nt has mastered the knowledge point kkii, ,

otherwise otherwise xxii is 0. is 0.

The final formulaThe final formula

yy = = TT((xx))

Question: How to implement the function Question: How to implement the function TT of the task?of the task?

By Measuring the Relevance By Measuring the Relevance

Suppose the student Suppose the student ss solve the problem solve the problem pp

ii by using knowledge points by using knowledge points KKpipi, represente, represented by a vector d by a vector vvii, where , where ii = 1, 2, …, = 1, 2, …, nn..

The relevance between The relevance between KKpipi and and KKss is denot is denoted by ed by RR((vvii, , xx).).

yyii = = RR((vvii, , xx), ), i i = 1, 2, …, = 1, 2, …, nn

Question: How to know Question: How to know KKpipi, therefore , therefore vvii, be, before the student fore the student ss actually solves the probl actually solves the problem em ppii? ?

By Learning By Learning

Initialize Initialize vvii, where , where ii = 1, 2, …, = 1, 2, …, nn..

When the student When the student ss solves a problem solves a problem ppcc, u, u

pdate pdate vvcc in such that in such that RR((vvcc, , xx) increases.) increases.

Question: Why do we need the tutor if the Question: Why do we need the tutor if the student has already solved the problems?student has already solved the problems?

Challenges?Challenges?

Different Learning Mode Different Learning Mode

Traditional learning programs need traininTraditional learning programs need training phase before doing the task.g phase before doing the task.

The tutor is supposed to do the task withoThe tutor is supposed to do the task without training first.ut training first.

The tutor may learn something by doing thThe tutor may learn something by doing the task.e task.

Learning procedure: Learning procedure:

TT(1)(1)

, , TT(2)(2)

, …, , …, TT((tt)) TT

Muddy Materials for Learning Muddy Materials for Learning

Materials for training traditional learning prMaterials for training traditional learning programs are clean.ograms are clean.

The tutor has no clean materials for learniThe tutor has no clean materials for learning. ng.

Muddy Goal Muddy Goal

The training course of computThe training course of computer programming may change iter programming may change its problem set,s problem set,

leading to that the function leading to that the function TT c changes,hanges,

say from say from TT1 to 1 to TT2.2.

Learning means something changes Learning means something changes

Suppose learning task Suppose learning task TT11 followed by learn followed by learning task ing task TT22. .

Traditional learning makes every change fTraditional learning makes every change for the given task.or the given task.

When it learns the task When it learns the task TT22, it forgets every , it forgets every change for the task change for the task TT11..

In fact, there is no difference between learIn fact, there is no difference between learning the task ning the task TT11 and learning the task and learning the task TT22. .

Changes not just for a specific task Changes not just for a specific task

The tutor learns the task The tutor learns the task TT22 more quickly t more quickly t

han it learns the task han it learns the task TT11

because it has obtained some experience because it has obtained some experience during learning the task during learning the task TT11..

Such experience is the change not just for Such experience is the change not just for the task the task TT11. .

It can be shared by the task It can be shared by the task TT22. .

Change not just for a specific taskChange not just for a specific task

is a kind of is a kind of

autonomous mental development.autonomous mental development.

Conclusion Conclusion

The task of the tutorThe task of the tutor

(1) Can help human being in the real world,(1) Can help human being in the real world,

(2) Involves problems that traditional progr(2) Involves problems that traditional program can not solve,am can not solve,

(3) And involves autonomous mental devel(3) And involves autonomous mental development. opment.

ThanksThanks