A Trace-based Framework for Analyzing and Synthesizing Educational Progressions Erik Andersen Sumit Gulwani Zoran Popović.
Download ReportTranscript A Trace-based Framework for Analyzing and Synthesizing Educational Progressions Erik Andersen Sumit Gulwani Zoran Popović.
A Trace-based Framework for Analyzing and Synthesizing Educational Progressions Erik Andersen Sumit Gulwani Zoran Popović Procedural Learning 21 +22 43 Software Learnability Dong et al. CHI 2012 Challenge Flow Anxiety Boredom Skill M. Csikszentmihalyi Zone of Proximal Development can’t do yet can do with guidance can do now L. Vygotsky Procedural Traces • What are traces? • What can we do with traces? same # of digits? NO greater # of digits? NO report “less” YES YES first digit same? report “greater” NO first digit greater? NO report “less” YES YES second digit same? report “greater” NO second digit greater? YES YES ... report “greater” NO report “less” same # of digits? NO greater # of digits? NO report “less” L report “less” S report “less” S YES D YES first digit same? report “greater” NO first digit greater? H NO YES D YES second digit same? report “greater” NO second digit greater? G NO YES D YES ... report “greater” G NO same # of digits? greater # of digits? NO report “less” L report “less” S report “less” S YES D YES report “greater” NO first digit same? first digit greater? H NO YES D YES report “greater” second digit same? NO second digit greater? G NO YES D YES ... report “greater” L G NO same # of digits? greater # of digits? NO report “less” L report “less” S report “less” S YES D YES report “greater” NO first digit same? first digit greater? H NO YES D YES report “greater” second digit same? NO second digit greater? G NO YES D YES ... report “greater” L, H G NO same # of digits? greater # of digits? NO report “less” L report “less” S report “less” S YES D YES report “greater” NO first digit same? first digit greater? H NO YES D YES report “greater” second digit same? NO second digit greater? G NO YES D YES ... report “greater” L, H, DS G NO same # of digits? greater # of digits? NO report “less” L report “less” S report “less” S YES D YES report “greater” NO first digit same? first digit greater? H NO YES D YES report “greater” second digit same? NO second digit greater? G NO YES D YES ... report “greater” L, H, DS, DG G NO same # of digits? greater # of digits? NO report “less” L report “less” S report “less” S YES D YES report “greater” NO first digit same? first digit greater? H NO YES D YES report “greater” second digit same? NO second digit greater? G NO YES D YES ... G L, H, DS, DG, DDS report “greater” NO same # of digits? greater # of digits? NO report “less” L report “less” S report “less” S YES D YES report “greater” NO first digit same? first digit greater? H NO YES D YES report “greater” second digit same? NO second digit greater? G NO YES D YES ... report “greater” G L, H, DS, DG, DDS, DDG… same # of digits? NO greater # of digits? NO report “less” L report “less” S report “less” S YES D YES report “greater” NO first digit same? first digit greater? H NO YES D YES report “greater” second digit same? NO second digit greater? G NO YES D YES ... report “greater” G Compare 313 to 324. same # of digits? NO greater # of digits? NO report “less” L report “less” S report “less” S YES D YES report “greater” NO first digit same? first digit greater? H NO YES D YES report “greater” second digit same? NO second digit greater? G NO YES D YES ... report “greater” G Compare 313 to 324. What can we do with traces? • Rank their difficulty • Analyze and compare progressions • Synthesize new progressions What can we do with traces? • Rank their difficulty • Analyze and compare progressions • Synthesize new progressions Partial Ordering • Loop executes longer = harder – more digits in number comparison – more columns in subtraction • Exceptional conditions = harder – if boolean expression: statement – borrowing in subtraction – carrying in addition n-grams 1-grams the boy threw the ball 2-grams the boy threw the ball n 1 2 3 n-grams H, L, D, S, G DD, DS, DG DDS, DDG n-gram based Partial Ordering for some integer n if T1 contains all of the n-grams of T2 then T1 > T2 1-grams → statement coverage ∞-grams → path coverage What can we do with traces? • Rank their difficulty • Analyze and compare progressions • Synthesize new progressions if length(n1) < length(n2): return less if length(n1) > length(n2): return greater for i ← 0 to length(n1) – 1: if n1[i]< n2[i]: return less if n1[i]> n2[i]: return greater return equal L H D S G JUMP Math JUMP Math Singapore Math JUMP Math Singapore Math What can we do with traces? • Rank their difficulty • Analyze and compare progressions • Synthesize new progressions if length(n1) < length(n2): return less if length(n1) > length(n2): return greater for i ← 0 to length(n1) – 1: if n1[i]< n2[i]: return less if n1[i]> n2[i]: return greater return equal DDS 11 < 12 L H D S G Problem Addition Fraction Computation Fraction Reduction Integer Comparison Subtraction Prime Factorization Time 64 min 16 min 2 min 2 min 2 min 2 min Unique Traces 1433 72 29 26 157 70 DragonBox DragonBox Validating Our Partial Ordering • • • • 20 participants 20 level pairs Users ranked pairs: easier, harder, the same Calculated Root-Mean-Squared-Error – our ordering: 0.35 – random baseline: 1.00 Summary new representation of problem difficulty allows us to: – rank problem difficulty – analyze and compare progressions – generate an entire progression pragmatic way to make content fit theory Acknowledgments • Help: David Yamanoha and Ryoko Nozawa • Funding: Bill and Melinda Gates Foundation, Office of Naval Research, Hewlett Foundation, Adobe, and Intel • Contact me: [email protected] From here • automate other things – tutorials – diagnosis of student errors Challenge Flow Anxiety Boredom Skill Implications • Games • Education “Games are a series of interesting decisions.” – Sid Meier Artifacts Artifacts Progressions same # of digits? NO greater # of digits? NO report “less” L report “less” S report “less” S YES D YES report “greater” NO first digit same? first digit greater? H NO YES D YES report “greater” second digit same? NO second digit greater? G NO YES D YES ... report “greater” G Compare 32 to 314. same # of digits? NO greater # of digits? NO report “less” L report “less” S report “less” S YES D YES report “greater” NO first digit same? first digit greater? H NO YES D YES report “greater” second digit same? NO second digit greater? G NO YES D YES ... report “greater” G DDDDG 1112 > 1111 Problem Addition Book SS:M SMS Fraction SS:M Addition & SMS Subtraction JUMP Fraction SS:M Reduction JUMP Integer SS:M Comparison JUMP Problems 584 576 66 248 131 66 56 24 88 Traces 17 48 13 15 11 13 11 6 12 % gen 88% 64% 100% 100% 95% 100% 100% 100% 100% • • • • HCI education software engineering video games Promise new representation of problem difficulty can analyze problem sets generate an entire progression Promise new representation of problem difficulty can analyze problem sets generate an entire progression if length(n1) < length(n2): return less if length(n1) > length(n2): return greater for i ← 0 to length(n1) – 1: if n1[i]< n2[i]: return less if n1[i]> n2[i]: return greater return equal L H D S G same # of digits? NO greater # of digits? NO report “less” YES YES first digit same? report “greater” NO first digit greater? NO report “less” YES YES second digit same? report “greater” NO second digit greater? YES YES ... report “greater” NO report “less” same # of digits? NO greater # of digits? NO report “less” L report “less” S report “less” S YES D YES first digit same? report “greater” NO first digit greater? H NO YES D YES second digit same? report “greater” NO second digit greater? G NO YES D YES ... report “greater” DDS G 11 < 12 Solver action1 action2 action3 ... DragonBox Level A AB AA AAB ABC n-gram based Partial Ordering • the boy passed the ball – unigrams: the, boy, passed, ball – bigrams: the boy, boy passed, passed the, the ball – trigrams: the boy passed, boy passed the, passed the ball n-gram based Partial Ordering • Integer Comparison – unigrams: H, L, D, G, S – bigrams: DD, DG, DS – trigrams: DDG, DDS Promise new representation of problem difficulty can analyze problem sets generate an entire progression Promise new representation of problem difficulty can analyze problem sets generate an entire progression Integer Addition Fraction Addition and Subtraction