SlideShare a Scribd company logo
Educational
Software Engineering:
Where Software
Engineering, Education, and Gaming
Meet
Tao Xie
North Carolina State University
Nikolai Tillmann, Jonathan de Halleux
Microsoft Research
http://pex4fun.com
Educational Software Engineering
develops software engineering (+gaming)
technologies for general educational
tasks, going beyond educational tasks for
software engineering (e.g., software
engineering education)
aka. Software Engineering for Education
Example Education Tasks
• Automated Grading
• Intelligent Tutoring System
• Automatic Problem Generation
• Plagiarism Detection
Math
Programming/Software Engineering
…
…
For
Relationship/Analogy to Other Fields
• Educational Software Engineering
– Use Software Engineering for Education
• Educational Gaming (Gamification of Education)
– Use Gaming for Education
• Educational Data Mining
– Use Data Mining for Education
• Mining Software Repositories
– Use Data Mining for Software Engineering
Broader Scope(?)
• Currently, software engineering technologies as
infrastructure support for educational tools
– E.g., Pex for Fun
• Software engineering for developing educational
games or generally educational tools
– E.g., SQA for educational-game software
• Software engineering tools or processes to assist
development of educational tools
Example: Pex for Fun/Coding Duels
1,220,547 clicked 'Ask Pex!'
Coding Duels
Pex computes “semantic diff” in cloud
secret reference implementation vs.
code written in browser
You win when Pex finds no differences
Behind the Scene of Pex for Fun
Secret Implementation
class Secret {
public static int Puzzle(int x) {
if (x <= 0) return 1;
return x * Puzzle(x-1);
}
}
Player Implementation
class Player {
public static int Puzzle(int x) {
return x;
}
}
class Test {
public static void Driver(int x) {
if (Secret.Puzzle(x) != Player.Puzzle(x))
throw new Exception(“Mismatch”);
}
}
behavior
Secret Impl == Player Impl
8
Coding Duels
Fun and Engaging
Iterative gameplay
Adaptive
Personalized
No cheating
Clear winning criterion
Social Experience
Community
High score lists, leaderboard
Live feed
http://pex4fun.com/Community.aspx
http://pex4fun.com/Livefeed.aspx
Example User Feedback
“It really got me *excited*. The part that got me most is
about spreading interest in teaching CS: I do think that it’s
REALLY great for teaching | learning!”
“I used to love the first person shooters and the
satisfaction of blowing away a whole team of
Noobies playing Rainbow Six, but this is far more
fun.”
“I’m afraid I’ll have to constrain myself to spend just an hour
or so a day on this really exciting stuff, as I’m really stuffed
with work.”
Released since 2010
X
Coding Duel Competition
@ICSE 2011
http://pexforfun.com/icse2011
Teaching and Learning
Coding Duels for Automatic Grading
@Grad Software Engineering Course
http://pexforfun.com/gradsofteng
Usage Scenarios of Pex4Fun
• Massive Open Online Courses (MOOC): Challenges
– Grading, addressed by Pex4Fun
– Cheating [Open Challenge]
• Course assignments (students/professionals)
– E.g., intro programming, software engineering
• Student/professional competitions
– E.g., coding-duel competition at ICSE 2011
• Assessment of testing/programming/problem
solving skills for job applicants
– Not just final results of problem solving but also process!
Educational Software Engineering
develops software engineering (+gaming)
technologies for general educational tasks
http://pex4fun.com
Q & A
Thank you!
Acknowledgments: NSF grants CCF-0845272, CCF-0915400, CNS-0958235, CNS-1160603,
a Microsoft Research SEIF Award, and a Microsoft Research Award.
Limitations
16K characters of code (single file / editor window)*
Single-threaded only
No environment interactions*
No non-determinism*
Try to avoid floating-point computations
Max. 20s total exploration time*
* Limitation only applies to pex4fun.com, but not standalone Pex tool
Auto-Completion

More Related Content

What's hot

Learning analytics in blog-based learning environments
Learning analytics in blog-based learning environmentsLearning analytics in blog-based learning environments
Learning analytics in blog-based learning environments
Hans Põldoja
 
Exploring Online Tools for Teaching (Clean)
Exploring Online Tools for Teaching (Clean)Exploring Online Tools for Teaching (Clean)
Exploring Online Tools for Teaching (Clean)
Alexandre Enkerli
 
Exploring Online Tools for Teaching (Final)
Exploring Online Tools for Teaching (Final)Exploring Online Tools for Teaching (Final)
Exploring Online Tools for Teaching (Final)
Alexandre Enkerli
 
Substitute Teachers Nov 09
Substitute Teachers Nov 09Substitute Teachers Nov 09
Substitute Teachers Nov 09robbkarl
 
The Structure and Components for the Open Education Ecosystem
The Structure and Components for the Open Education EcosystemThe Structure and Components for the Open Education Ecosystem
The Structure and Components for the Open Education Ecosystem
Hans Põldoja
 
Concept Mapping in Interaction Design
Concept Mapping in Interaction DesignConcept Mapping in Interaction Design
Concept Mapping in Interaction Design
Hans Põldoja
 
Reform of Informatics Curriculum and Teacher Training in Estonia
Reform of Informatics Curriculum and Teacher Training  in EstoniaReform of Informatics Curriculum and Teacher Training  in Estonia
Reform of Informatics Curriculum and Teacher Training in Estonia
Mart Laanpere
 
Week 5 Part1 Introduction
Week 5 Part1 IntroductionWeek 5 Part1 Introduction
Week 5 Part1 Introductioneducw200
 
Gayles Substitute Teachers Nov 09
Gayles Substitute Teachers Nov 09Gayles Substitute Teachers Nov 09
Gayles Substitute Teachers Nov 09genlow
 
Experience Sharing of Introducing Free Software to Campus: Example of Geng-fa...
Experience Sharing of Introducing Free Software to Campus: Example of Geng-fa...Experience Sharing of Introducing Free Software to Campus: Example of Geng-fa...
Experience Sharing of Introducing Free Software to Campus: Example of Geng-fa...
光章 林
 
Introduction to the course
Introduction to the courseIntroduction to the course
Introduction to the course
Hans Põldoja
 
Substitute Teachers: Top 10 Technology Resources Sept 09
Substitute Teachers: Top 10 Technology Resources Sept 09Substitute Teachers: Top 10 Technology Resources Sept 09
Substitute Teachers: Top 10 Technology Resources Sept 09
robbkarl
 
Sp13 week1-part3
Sp13 week1-part3Sp13 week1-part3
Sp13 week1-part3educw200
 
201117 (wr) v1 online workshop university tilburg
201117 (wr) v1 online workshop university tilburg201117 (wr) v1 online workshop university tilburg
201117 (wr) v1 online workshop university tilburg
WilfredRubens.com
 
Introduction to the course
Introduction to the courseIntroduction to the course
Introduction to the course
Hans Põldoja
 
Learning Analytics for Educational Design and Student Predictions: Beyond the...
Learning Analytics for Educational Design and Student Predictions: Beyond the...Learning Analytics for Educational Design and Student Predictions: Beyond the...
Learning Analytics for Educational Design and Student Predictions: Beyond the...
Nynke Bos
 

What's hot (18)

Learning analytics in blog-based learning environments
Learning analytics in blog-based learning environmentsLearning analytics in blog-based learning environments
Learning analytics in blog-based learning environments
 
Exploring Online Tools for Teaching (Clean)
Exploring Online Tools for Teaching (Clean)Exploring Online Tools for Teaching (Clean)
Exploring Online Tools for Teaching (Clean)
 
Exploring Online Tools for Teaching (Final)
Exploring Online Tools for Teaching (Final)Exploring Online Tools for Teaching (Final)
Exploring Online Tools for Teaching (Final)
 
Substitute Teachers Nov 09
Substitute Teachers Nov 09Substitute Teachers Nov 09
Substitute Teachers Nov 09
 
The Structure and Components for the Open Education Ecosystem
The Structure and Components for the Open Education EcosystemThe Structure and Components for the Open Education Ecosystem
The Structure and Components for the Open Education Ecosystem
 
Concept Mapping in Interaction Design
Concept Mapping in Interaction DesignConcept Mapping in Interaction Design
Concept Mapping in Interaction Design
 
Reform of Informatics Curriculum and Teacher Training in Estonia
Reform of Informatics Curriculum and Teacher Training  in EstoniaReform of Informatics Curriculum and Teacher Training  in Estonia
Reform of Informatics Curriculum and Teacher Training in Estonia
 
Week 5 Part1 Introduction
Week 5 Part1 IntroductionWeek 5 Part1 Introduction
Week 5 Part1 Introduction
 
Gayles Substitute Teachers Nov 09
Gayles Substitute Teachers Nov 09Gayles Substitute Teachers Nov 09
Gayles Substitute Teachers Nov 09
 
Etec 110
Etec 110Etec 110
Etec 110
 
Experience Sharing of Introducing Free Software to Campus: Example of Geng-fa...
Experience Sharing of Introducing Free Software to Campus: Example of Geng-fa...Experience Sharing of Introducing Free Software to Campus: Example of Geng-fa...
Experience Sharing of Introducing Free Software to Campus: Example of Geng-fa...
 
Introduction to the course
Introduction to the courseIntroduction to the course
Introduction to the course
 
Substitute Teachers: Top 10 Technology Resources Sept 09
Substitute Teachers: Top 10 Technology Resources Sept 09Substitute Teachers: Top 10 Technology Resources Sept 09
Substitute Teachers: Top 10 Technology Resources Sept 09
 
Sp13 week1-part3
Sp13 week1-part3Sp13 week1-part3
Sp13 week1-part3
 
201117 (wr) v1 online workshop university tilburg
201117 (wr) v1 online workshop university tilburg201117 (wr) v1 online workshop university tilburg
201117 (wr) v1 online workshop university tilburg
 
Introduction to the course
Introduction to the courseIntroduction to the course
Introduction to the course
 
Learning Analytics for Educational Design and Student Predictions: Beyond the...
Learning Analytics for Educational Design and Student Predictions: Beyond the...Learning Analytics for Educational Design and Student Predictions: Beyond the...
Learning Analytics for Educational Design and Student Predictions: Beyond the...
 
UG141 - Week 1 (Course Introduction)
UG141 - Week 1 (Course Introduction)UG141 - Week 1 (Course Introduction)
UG141 - Week 1 (Course Introduction)
 

Viewers also liked

Cellular Automata
Cellular AutomataCellular Automata
Cellular Automata
Enrico Bacis
 
Cellular Automata- Dengue Fever
Cellular Automata- Dengue FeverCellular Automata- Dengue Fever
Cellular Automata- Dengue Fever
Hector Cuesta Arvizu
 
Cellular automata
Cellular automata Cellular automata
Cellular automata
Rodrigo Rodrigues
 
CELLULAR AUTOMATA TRAFFIC FLOW MODEL
CELLULAR AUTOMATA TRAFFIC FLOW MODELCELLULAR AUTOMATA TRAFFIC FLOW MODEL
CELLULAR AUTOMATA TRAFFIC FLOW MODEL
Engr Abdurrashid Dada MNSE
 
Cellular Automata Models of Social Processes
Cellular Automata Models of Social ProcessesCellular Automata Models of Social Processes
Cellular Automata Models of Social Processes
SSA KPI
 
Cellular automata
Cellular automataCellular automata
Cellular automataYang Yeeun
 
Cellular automata
Cellular automataCellular automata
Cellular automataNur Islam
 
Cellular automata : A simple Introduction
Cellular automata : A simple IntroductionCellular automata : A simple Introduction
Cellular automata : A simple Introduction
Adekunle Onaopepo
 
Cellular Automata
Cellular AutomataCellular Automata
Cellular Automata
Asfak Mahamud
 
Cellular automata by Devdutta Chakrabarti
Cellular automata by Devdutta ChakrabartiCellular automata by Devdutta Chakrabarti
Cellular automata by Devdutta Chakrabarti
Devdutta Chakrabarti
 
Cellular Automata
Cellular AutomataCellular Automata
Cellular Automata
Abhranil Das
 

Viewers also liked (12)

Cellular Automata
Cellular AutomataCellular Automata
Cellular Automata
 
Cellular Automata- Dengue Fever
Cellular Automata- Dengue FeverCellular Automata- Dengue Fever
Cellular Automata- Dengue Fever
 
Cellular automata
Cellular automata Cellular automata
Cellular automata
 
CELLULAR AUTOMATA TRAFFIC FLOW MODEL
CELLULAR AUTOMATA TRAFFIC FLOW MODELCELLULAR AUTOMATA TRAFFIC FLOW MODEL
CELLULAR AUTOMATA TRAFFIC FLOW MODEL
 
Cellular Automata Models of Social Processes
Cellular Automata Models of Social ProcessesCellular Automata Models of Social Processes
Cellular Automata Models of Social Processes
 
Cellular automata
Cellular automataCellular automata
Cellular automata
 
Cellular automata
Cellular automataCellular automata
Cellular automata
 
Cellular automata : A simple Introduction
Cellular automata : A simple IntroductionCellular automata : A simple Introduction
Cellular automata : A simple Introduction
 
Cellular Automata
Cellular AutomataCellular Automata
Cellular Automata
 
Cellular automata by Devdutta Chakrabarti
Cellular automata by Devdutta ChakrabartiCellular automata by Devdutta Chakrabarti
Cellular automata by Devdutta Chakrabarti
 
Cellular Automata
Cellular AutomataCellular Automata
Cellular Automata
 
Cellular automata
Cellular automataCellular automata
Cellular automata
 

Similar to Educational Software Engineering: Where Software Engineering, Education, and Gaming Meet

Gamifying Teaching and Learning of Software Engineering and Programming
Gamifying Teaching and Learning of Software Engineering and ProgrammingGamifying Teaching and Learning of Software Engineering and Programming
Gamifying Teaching and Learning of Software Engineering and Programming
Tao Xie
 
Mat100 presentation
Mat100 presentationMat100 presentation
Mat100 presentationKyra Ochwat
 
Li f-e-is-it-feasible
Li f-e-is-it-feasibleLi f-e-is-it-feasible
Li f-e-is-it-feasible
medwinz
 
Data Science Reinvents Learning?
Data Science Reinvents Learning?Data Science Reinvents Learning?
Data Science Reinvents Learning?
Paco Nathan
 
Ict and digitalization in teaching and learning
Ict and digitalization in teaching and learningIct and digitalization in teaching and learning
Ict and digitalization in teaching and learning
Matleena Laakso
 
Applying learning analytics in serious games
Applying learning analytics in serious games Applying learning analytics in serious games
Applying learning analytics in serious games
Baltasar Fernández-Manjón
 
Berlin_presentation _30.09.2022.pptx
Berlin_presentation _30.09.2022.pptxBerlin_presentation _30.09.2022.pptx
Berlin_presentation _30.09.2022.pptx
Joanna Oleśków Szłapka
 
Gayles Substitute Teachers Nov 09
Gayles Substitute Teachers Nov 09Gayles Substitute Teachers Nov 09
Gayles Substitute Teachers Nov 09genlow
 
Raiche, lindsay order of operations
Raiche, lindsay order of operationsRaiche, lindsay order of operations
Raiche, lindsay order of operationsLindsay Raiche
 
Gayles Substitute Teachers Nov 09
Gayles Substitute Teachers Nov 09Gayles Substitute Teachers Nov 09
Gayles Substitute Teachers Nov 09
genlow
 
Building effective outreach programs in STEM
Building effective outreach programs in STEMBuilding effective outreach programs in STEM
Building effective outreach programs in STEM
Annie Cheng, PMP
 
Formative Assessment Strategies Utilizing Technology, NW Math Conference, 11 ...
Formative Assessment Strategies Utilizing Technology, NW Math Conference, 11 ...Formative Assessment Strategies Utilizing Technology, NW Math Conference, 11 ...
Formative Assessment Strategies Utilizing Technology, NW Math Conference, 11 ...
Patty Stephens
 
Take Your Technology Training Sessions to the Next
Take Your Technology Training Sessions to the NextTake Your Technology Training Sessions to the Next
Take Your Technology Training Sessions to the NextN. Leverne McBeth, MLIS
 
See12.ppt
See12.pptSee12.ppt
Pedagogical theory for e-Learning Design: From ideals to reality?
Pedagogical theory for e-Learning Design: From ideals to reality?Pedagogical theory for e-Learning Design: From ideals to reality?
Pedagogical theory for e-Learning Design: From ideals to reality?
PEDAGOGY.IR
 
Camberwell South Primary School – Knowledge Bank Tpl Case Study 2009 –
Camberwell South Primary School – Knowledge Bank Tpl Case Study 2009 –Camberwell South Primary School – Knowledge Bank Tpl Case Study 2009 –
Camberwell South Primary School – Knowledge Bank Tpl Case Study 2009 –Barbara Krongold
 
HTC Presentation Version 1
HTC Presentation Version 1HTC Presentation Version 1
HTC Presentation Version 1
Michael Rost
 
TechBoomers NLC Webinar
TechBoomers NLC WebinarTechBoomers NLC Webinar
TechBoomers NLC Webinar
SteveBlack327
 
NCompass Live: Teaching Digital Literacy with TechBoomers.com and Other Onlin...
NCompass Live: Teaching Digital Literacy with TechBoomers.com and Other Onlin...NCompass Live: Teaching Digital Literacy with TechBoomers.com and Other Onlin...
NCompass Live: Teaching Digital Literacy with TechBoomers.com and Other Onlin...
Nebraska Library Commission
 

Similar to Educational Software Engineering: Where Software Engineering, Education, and Gaming Meet (20)

Gamifying Teaching and Learning of Software Engineering and Programming
Gamifying Teaching and Learning of Software Engineering and ProgrammingGamifying Teaching and Learning of Software Engineering and Programming
Gamifying Teaching and Learning of Software Engineering and Programming
 
Mat100 presentation
Mat100 presentationMat100 presentation
Mat100 presentation
 
iVet VOC1 session 2, Vygotsky
iVet VOC1 session 2, Vygotsky iVet VOC1 session 2, Vygotsky
iVet VOC1 session 2, Vygotsky
 
Li f-e-is-it-feasible
Li f-e-is-it-feasibleLi f-e-is-it-feasible
Li f-e-is-it-feasible
 
Data Science Reinvents Learning?
Data Science Reinvents Learning?Data Science Reinvents Learning?
Data Science Reinvents Learning?
 
Ict and digitalization in teaching and learning
Ict and digitalization in teaching and learningIct and digitalization in teaching and learning
Ict and digitalization in teaching and learning
 
Applying learning analytics in serious games
Applying learning analytics in serious games Applying learning analytics in serious games
Applying learning analytics in serious games
 
Berlin_presentation _30.09.2022.pptx
Berlin_presentation _30.09.2022.pptxBerlin_presentation _30.09.2022.pptx
Berlin_presentation _30.09.2022.pptx
 
Gayles Substitute Teachers Nov 09
Gayles Substitute Teachers Nov 09Gayles Substitute Teachers Nov 09
Gayles Substitute Teachers Nov 09
 
Raiche, lindsay order of operations
Raiche, lindsay order of operationsRaiche, lindsay order of operations
Raiche, lindsay order of operations
 
Gayles Substitute Teachers Nov 09
Gayles Substitute Teachers Nov 09Gayles Substitute Teachers Nov 09
Gayles Substitute Teachers Nov 09
 
Building effective outreach programs in STEM
Building effective outreach programs in STEMBuilding effective outreach programs in STEM
Building effective outreach programs in STEM
 
Formative Assessment Strategies Utilizing Technology, NW Math Conference, 11 ...
Formative Assessment Strategies Utilizing Technology, NW Math Conference, 11 ...Formative Assessment Strategies Utilizing Technology, NW Math Conference, 11 ...
Formative Assessment Strategies Utilizing Technology, NW Math Conference, 11 ...
 
Take Your Technology Training Sessions to the Next
Take Your Technology Training Sessions to the NextTake Your Technology Training Sessions to the Next
Take Your Technology Training Sessions to the Next
 
See12.ppt
See12.pptSee12.ppt
See12.ppt
 
Pedagogical theory for e-Learning Design: From ideals to reality?
Pedagogical theory for e-Learning Design: From ideals to reality?Pedagogical theory for e-Learning Design: From ideals to reality?
Pedagogical theory for e-Learning Design: From ideals to reality?
 
Camberwell South Primary School – Knowledge Bank Tpl Case Study 2009 –
Camberwell South Primary School – Knowledge Bank Tpl Case Study 2009 –Camberwell South Primary School – Knowledge Bank Tpl Case Study 2009 –
Camberwell South Primary School – Knowledge Bank Tpl Case Study 2009 –
 
HTC Presentation Version 1
HTC Presentation Version 1HTC Presentation Version 1
HTC Presentation Version 1
 
TechBoomers NLC Webinar
TechBoomers NLC WebinarTechBoomers NLC Webinar
TechBoomers NLC Webinar
 
NCompass Live: Teaching Digital Literacy with TechBoomers.com and Other Onlin...
NCompass Live: Teaching Digital Literacy with TechBoomers.com and Other Onlin...NCompass Live: Teaching Digital Literacy with TechBoomers.com and Other Onlin...
NCompass Live: Teaching Digital Literacy with TechBoomers.com and Other Onlin...
 

More from Tao Xie

MSR 2022 Foundational Contribution Award Talk: Software Analytics: Reflection...
MSR 2022 Foundational Contribution Award Talk: Software Analytics: Reflection...MSR 2022 Foundational Contribution Award Talk: Software Analytics: Reflection...
MSR 2022 Foundational Contribution Award Talk: Software Analytics: Reflection...
Tao Xie
 
DSML 2021 Keynote: Intelligent Software Engineering: Working at the Intersect...
DSML 2021 Keynote: Intelligent Software Engineering: Working at the Intersect...DSML 2021 Keynote: Intelligent Software Engineering: Working at the Intersect...
DSML 2021 Keynote: Intelligent Software Engineering: Working at the Intersect...
Tao Xie
 
Intelligent Software Engineering: Synergy between AI and Software Engineering
Intelligent Software Engineering: Synergy between AI and Software EngineeringIntelligent Software Engineering: Synergy between AI and Software Engineering
Intelligent Software Engineering: Synergy between AI and Software Engineering
Tao Xie
 
Diversity and Computing/Engineering: Perspectives from Allies
Diversity and Computing/Engineering: Perspectives from AlliesDiversity and Computing/Engineering: Perspectives from Allies
Diversity and Computing/Engineering: Perspectives from Allies
Tao Xie
 
Intelligent Software Engineering: Synergy between AI and Software Engineering...
Intelligent Software Engineering: Synergy between AI and Software Engineering...Intelligent Software Engineering: Synergy between AI and Software Engineering...
Intelligent Software Engineering: Synergy between AI and Software Engineering...
Tao Xie
 
MSRA 2018: Intelligent Software Engineering: Synergy between AI and Software ...
MSRA 2018: Intelligent Software Engineering: Synergy between AI and Software ...MSRA 2018: Intelligent Software Engineering: Synergy between AI and Software ...
MSRA 2018: Intelligent Software Engineering: Synergy between AI and Software ...
Tao Xie
 
SETTA'18 Keynote: Intelligent Software Engineering: Synergy between AI and So...
SETTA'18 Keynote: Intelligent Software Engineering: Synergy between AI and So...SETTA'18 Keynote: Intelligent Software Engineering: Synergy between AI and So...
SETTA'18 Keynote: Intelligent Software Engineering: Synergy between AI and So...
Tao Xie
 
ISEC'18 Tutorial: Research Methodology on Pursuing Impact-Driven Research
ISEC'18 Tutorial: Research Methodology on Pursuing Impact-Driven ResearchISEC'18 Tutorial: Research Methodology on Pursuing Impact-Driven Research
ISEC'18 Tutorial: Research Methodology on Pursuing Impact-Driven Research
Tao Xie
 
ISEC'18 Keynote: Intelligent Software Engineering: Synergy between AI and Sof...
ISEC'18 Keynote: Intelligent Software Engineering: Synergy between AI and Sof...ISEC'18 Keynote: Intelligent Software Engineering: Synergy between AI and Sof...
ISEC'18 Keynote: Intelligent Software Engineering: Synergy between AI and Sof...
Tao Xie
 
Intelligent Software Engineering: Synergy between AI and Software Engineering
Intelligent Software Engineering: Synergy between AI and Software EngineeringIntelligent Software Engineering: Synergy between AI and Software Engineering
Intelligent Software Engineering: Synergy between AI and Software Engineering
Tao Xie
 
Software Analytics: Data Analytics for Software Engineering and Security
Software Analytics: Data Analytics for Software Engineering and SecuritySoftware Analytics: Data Analytics for Software Engineering and Security
Software Analytics: Data Analytics for Software Engineering and Security
Tao Xie
 
Planning and Executing Practice-Impactful Research
Planning and Executing Practice-Impactful ResearchPlanning and Executing Practice-Impactful Research
Planning and Executing Practice-Impactful Research
Tao Xie
 
Software Analytics: Data Analytics for Software Engineering
Software Analytics: Data Analytics for Software EngineeringSoftware Analytics: Data Analytics for Software Engineering
Software Analytics: Data Analytics for Software Engineering
Tao Xie
 
Transferring Software Testing Tools to Practice (AST 2017 Keynote)
Transferring Software Testing Tools to Practice (AST 2017 Keynote)Transferring Software Testing Tools to Practice (AST 2017 Keynote)
Transferring Software Testing Tools to Practice (AST 2017 Keynote)
Tao Xie
 
Transferring Software Testing Tools to Practice
Transferring Software Testing Tools to PracticeTransferring Software Testing Tools to Practice
Transferring Software Testing Tools to Practice
Tao Xie
 
Advances in Unit Testing: Theory and Practice
Advances in Unit Testing: Theory and PracticeAdvances in Unit Testing: Theory and Practice
Advances in Unit Testing: Theory and Practice
Tao Xie
 
Common Technical Writing Issues
Common Technical Writing IssuesCommon Technical Writing Issues
Common Technical Writing Issues
Tao Xie
 
HotSoS16 Tutorial "Text Analytics for Security" by Tao Xie and William Enck
HotSoS16 Tutorial "Text Analytics for Security" by Tao Xie and William EnckHotSoS16 Tutorial "Text Analytics for Security" by Tao Xie and William Enck
HotSoS16 Tutorial "Text Analytics for Security" by Tao Xie and William Enck
Tao Xie
 
Transferring Software Testing and Analytics Tools to Practice
Transferring Software Testing and Analytics Tools to PracticeTransferring Software Testing and Analytics Tools to Practice
Transferring Software Testing and Analytics Tools to Practice
Tao Xie
 
User Expectations in Mobile App Security
User Expectations in Mobile App SecurityUser Expectations in Mobile App Security
User Expectations in Mobile App Security
Tao Xie
 

More from Tao Xie (20)

MSR 2022 Foundational Contribution Award Talk: Software Analytics: Reflection...
MSR 2022 Foundational Contribution Award Talk: Software Analytics: Reflection...MSR 2022 Foundational Contribution Award Talk: Software Analytics: Reflection...
MSR 2022 Foundational Contribution Award Talk: Software Analytics: Reflection...
 
DSML 2021 Keynote: Intelligent Software Engineering: Working at the Intersect...
DSML 2021 Keynote: Intelligent Software Engineering: Working at the Intersect...DSML 2021 Keynote: Intelligent Software Engineering: Working at the Intersect...
DSML 2021 Keynote: Intelligent Software Engineering: Working at the Intersect...
 
Intelligent Software Engineering: Synergy between AI and Software Engineering
Intelligent Software Engineering: Synergy between AI and Software EngineeringIntelligent Software Engineering: Synergy between AI and Software Engineering
Intelligent Software Engineering: Synergy between AI and Software Engineering
 
Diversity and Computing/Engineering: Perspectives from Allies
Diversity and Computing/Engineering: Perspectives from AlliesDiversity and Computing/Engineering: Perspectives from Allies
Diversity and Computing/Engineering: Perspectives from Allies
 
Intelligent Software Engineering: Synergy between AI and Software Engineering...
Intelligent Software Engineering: Synergy between AI and Software Engineering...Intelligent Software Engineering: Synergy between AI and Software Engineering...
Intelligent Software Engineering: Synergy between AI and Software Engineering...
 
MSRA 2018: Intelligent Software Engineering: Synergy between AI and Software ...
MSRA 2018: Intelligent Software Engineering: Synergy between AI and Software ...MSRA 2018: Intelligent Software Engineering: Synergy between AI and Software ...
MSRA 2018: Intelligent Software Engineering: Synergy between AI and Software ...
 
SETTA'18 Keynote: Intelligent Software Engineering: Synergy between AI and So...
SETTA'18 Keynote: Intelligent Software Engineering: Synergy between AI and So...SETTA'18 Keynote: Intelligent Software Engineering: Synergy between AI and So...
SETTA'18 Keynote: Intelligent Software Engineering: Synergy between AI and So...
 
ISEC'18 Tutorial: Research Methodology on Pursuing Impact-Driven Research
ISEC'18 Tutorial: Research Methodology on Pursuing Impact-Driven ResearchISEC'18 Tutorial: Research Methodology on Pursuing Impact-Driven Research
ISEC'18 Tutorial: Research Methodology on Pursuing Impact-Driven Research
 
ISEC'18 Keynote: Intelligent Software Engineering: Synergy between AI and Sof...
ISEC'18 Keynote: Intelligent Software Engineering: Synergy between AI and Sof...ISEC'18 Keynote: Intelligent Software Engineering: Synergy between AI and Sof...
ISEC'18 Keynote: Intelligent Software Engineering: Synergy between AI and Sof...
 
Intelligent Software Engineering: Synergy between AI and Software Engineering
Intelligent Software Engineering: Synergy between AI and Software EngineeringIntelligent Software Engineering: Synergy between AI and Software Engineering
Intelligent Software Engineering: Synergy between AI and Software Engineering
 
Software Analytics: Data Analytics for Software Engineering and Security
Software Analytics: Data Analytics for Software Engineering and SecuritySoftware Analytics: Data Analytics for Software Engineering and Security
Software Analytics: Data Analytics for Software Engineering and Security
 
Planning and Executing Practice-Impactful Research
Planning and Executing Practice-Impactful ResearchPlanning and Executing Practice-Impactful Research
Planning and Executing Practice-Impactful Research
 
Software Analytics: Data Analytics for Software Engineering
Software Analytics: Data Analytics for Software EngineeringSoftware Analytics: Data Analytics for Software Engineering
Software Analytics: Data Analytics for Software Engineering
 
Transferring Software Testing Tools to Practice (AST 2017 Keynote)
Transferring Software Testing Tools to Practice (AST 2017 Keynote)Transferring Software Testing Tools to Practice (AST 2017 Keynote)
Transferring Software Testing Tools to Practice (AST 2017 Keynote)
 
Transferring Software Testing Tools to Practice
Transferring Software Testing Tools to PracticeTransferring Software Testing Tools to Practice
Transferring Software Testing Tools to Practice
 
Advances in Unit Testing: Theory and Practice
Advances in Unit Testing: Theory and PracticeAdvances in Unit Testing: Theory and Practice
Advances in Unit Testing: Theory and Practice
 
Common Technical Writing Issues
Common Technical Writing IssuesCommon Technical Writing Issues
Common Technical Writing Issues
 
HotSoS16 Tutorial "Text Analytics for Security" by Tao Xie and William Enck
HotSoS16 Tutorial "Text Analytics for Security" by Tao Xie and William EnckHotSoS16 Tutorial "Text Analytics for Security" by Tao Xie and William Enck
HotSoS16 Tutorial "Text Analytics for Security" by Tao Xie and William Enck
 
Transferring Software Testing and Analytics Tools to Practice
Transferring Software Testing and Analytics Tools to PracticeTransferring Software Testing and Analytics Tools to Practice
Transferring Software Testing and Analytics Tools to Practice
 
User Expectations in Mobile App Security
User Expectations in Mobile App SecurityUser Expectations in Mobile App Security
User Expectations in Mobile App Security
 

Recently uploaded

FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
Vlad Stirbu
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
UiPathCommunity
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
Jen Stirrup
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..
UiPathCommunity
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
Alex Pruden
 

Recently uploaded (20)

FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
 

Educational Software Engineering: Where Software Engineering, Education, and Gaming Meet

  • 1. Educational Software Engineering: Where Software Engineering, Education, and Gaming Meet Tao Xie North Carolina State University Nikolai Tillmann, Jonathan de Halleux Microsoft Research http://pex4fun.com
  • 2. Educational Software Engineering develops software engineering (+gaming) technologies for general educational tasks, going beyond educational tasks for software engineering (e.g., software engineering education) aka. Software Engineering for Education
  • 3. Example Education Tasks • Automated Grading • Intelligent Tutoring System • Automatic Problem Generation • Plagiarism Detection Math Programming/Software Engineering … … For
  • 4. Relationship/Analogy to Other Fields • Educational Software Engineering – Use Software Engineering for Education • Educational Gaming (Gamification of Education) – Use Gaming for Education • Educational Data Mining – Use Data Mining for Education • Mining Software Repositories – Use Data Mining for Software Engineering
  • 5. Broader Scope(?) • Currently, software engineering technologies as infrastructure support for educational tools – E.g., Pex for Fun • Software engineering for developing educational games or generally educational tools – E.g., SQA for educational-game software • Software engineering tools or processes to assist development of educational tools
  • 6. Example: Pex for Fun/Coding Duels 1,220,547 clicked 'Ask Pex!'
  • 7. Coding Duels Pex computes “semantic diff” in cloud secret reference implementation vs. code written in browser You win when Pex finds no differences
  • 8. Behind the Scene of Pex for Fun Secret Implementation class Secret { public static int Puzzle(int x) { if (x <= 0) return 1; return x * Puzzle(x-1); } } Player Implementation class Player { public static int Puzzle(int x) { return x; } } class Test { public static void Driver(int x) { if (Secret.Puzzle(x) != Player.Puzzle(x)) throw new Exception(“Mismatch”); } } behavior Secret Impl == Player Impl 8
  • 9. Coding Duels Fun and Engaging Iterative gameplay Adaptive Personalized No cheating Clear winning criterion
  • 10. Social Experience Community High score lists, leaderboard Live feed http://pex4fun.com/Community.aspx http://pex4fun.com/Livefeed.aspx
  • 11. Example User Feedback “It really got me *excited*. The part that got me most is about spreading interest in teaching CS: I do think that it’s REALLY great for teaching | learning!” “I used to love the first person shooters and the satisfaction of blowing away a whole team of Noobies playing Rainbow Six, but this is far more fun.” “I’m afraid I’ll have to constrain myself to spend just an hour or so a day on this really exciting stuff, as I’m really stuffed with work.” Released since 2010 X
  • 12. Coding Duel Competition @ICSE 2011 http://pexforfun.com/icse2011
  • 14. Coding Duels for Automatic Grading @Grad Software Engineering Course http://pexforfun.com/gradsofteng
  • 15. Usage Scenarios of Pex4Fun • Massive Open Online Courses (MOOC): Challenges – Grading, addressed by Pex4Fun – Cheating [Open Challenge] • Course assignments (students/professionals) – E.g., intro programming, software engineering • Student/professional competitions – E.g., coding-duel competition at ICSE 2011 • Assessment of testing/programming/problem solving skills for job applicants – Not just final results of problem solving but also process!
  • 16. Educational Software Engineering develops software engineering (+gaming) technologies for general educational tasks http://pex4fun.com Q & A Thank you! Acknowledgments: NSF grants CCF-0845272, CCF-0915400, CNS-0958235, CNS-1160603, a Microsoft Research SEIF Award, and a Microsoft Research Award.
  • 17. Limitations 16K characters of code (single file / editor window)* Single-threaded only No environment interactions* No non-determinism* Try to avoid floating-point computations Max. 20s total exploration time* * Limitation only applies to pex4fun.com, but not standalone Pex tool

Editor's Notes

  1. http://www.insidehighered.com/news/2012/08/02/conventional-online-universities-consider-strategic-response-moocshttp://conferences.computer.org/cseet/
  2. http://stcolmcilles.ie/maths/library.htmlhttp://www.donationcoder.com/Reviews/http://blog.zintro.com/2013/04/18/will-automated-grading-systems-replace-professors/http://www.meta-guide.com/home/bibliography/google-scholar/intelligent-tutoring-systems-2010http://scratch.mit.edu/projects/1761560/
  3. http://www.knewton.com/blog/knewton/education-technology/2012/02/21/the-gamification-of-education-infographic/http://research.microsoft.com/en-us/projects/confapp/msr2011.aspxhttp://blip.tv/teachers-college-columbia-university/educational-data-mining-predict-the-future-change-the-future-6427568
  4. http://www.insidehighered.com/news/2012/08/02/conventional-online-universities-consider-strategic-response-moocshttp://conferences.computer.org/cseet/