SlideShare ist ein Scribd-Unternehmen logo
1 von 30
https://www.codehunt.com

Teaching and Learning
Programming and
Software Engineering
via Interactive Gaming

http://pex4fun.com

Tao Xie
University of Illinois at Urbana-Champaign
In collaboration with Nikolai Tillmann, Jonathan de Halleux, and Judith Bishop
(Microsoft Research)
Related Papers/Resources: https://sites.google.com/site/asergrp/projects/ese
Testing Tool  Educational Gaming

Support

Dynamic Symbolic Execution (Pex)
http://research.microsoft.com/pex/

Pex for Fun:
Interactive Gaming for
Teaching and Learning

https://www.codehunt.com
http://pex4fun.com
Agenda
Background
Coding Duels
Educational Platform

Experiences
Conclusion
Agenda
Background
Coding Duels
Educational Platform

Experiences
Conclusion
Background
Dynamic Symbolic Execution (DSE)
aka. Concolic Testing
[Godefroid et al. 05][Sen et al. 05][Tillmann et al. 08]

Instrument code to explore feasible paths

http://research.microsoft.com/pex/
http://research.microsoft.com/pex/
Dynamic Symbolic Execution in Pex
Choose next path
Solve

void CoverMe(int[] a)
{
if (a == null) return;
if (a.Length > 0)
if (a[0] == 1234567890)
throw new Exception("bug");
}

F

F

a.Length>0

a==null

Execute&Monitor

Constraints to solve

Input

Observed constraints

a!=null

null
{}

a==null
a!=null &&
!(a.Length>0)
a==null &&
a.Length>0 &&
a[0]!=1234567890
a==null &&
a.Length>0 &&
a[0]==1234567890

a!=null &&
a.Length>0
a!=null &&
a.Length>0 &&
a[0]==123456890

T

T

{0}

{123…}

Done: There is no path left.

a[0]==123…

F

T

http://pex4fun.com/HowDoesPexWork
Coding Duels

1,463,179

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
For more info, see our ICSE 2013 SEE paper:
http://web.engr.illinois.edu/~taoxie/publications/icse13see-pex4fun.pdf
Behind the Scene of Pex for Fun
behavior

Secret Impl ==
Secret Implementation
class Secret {
public static int Puzzle(int x) {
if (x <= 0) return 1;
return x * Puzzle(x-1);
}
}

class Test {
public static void Driver(int x) {
if (Secret.Puzzle(x) != Player.Puzzle(x))
throw new Exception(“Mismatch”);
}
}

Player Impl

Player Implementation

class Player {
public static int Puzzle(int x) {
return x;
}
}

10
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
Agenda
Background
Coding Duels
Educational Platform

Experiences
Conclusion
Teaching and Learning
Skills Being Trained
Induction
Problem solving/debugging
Program understanding/programming
Testing
Specification writing
Coding Duels for Course Assignments
@Grad Software Engineering Course

Observed Benefits
• Automatic Grading
• Real-time Feedback (for Both Students and Teachers)
• Fun Learning Experiences
http://pexforfun.com/gradsofteng
Coding Duel Competition

@ICSE 2011

http://pexforfun.com/icse2011
Example User Feedback
Released since 2010

“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.”

X

“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.”
“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!”
Usage Scenarios of Pex4Fun
• Massive Open Online Courses (MOOC)
• Course assignments (students/professionals)
• Student/professional competitions

• Assessment of testing, programming,
problem solving skills for job applicants
Code Hunt: Resigned As Game
https://www.codehunt.com/
End-User Programming
On Mobile Devices

TouchDevelop:
Bring your own devices,
program anywhere,
run immediately on devices

V.S.

https://www.touchdevelop.com/

21
TouchDevelop

https://www.touchdevelop.com/

22
TouchDevelop

https://www.touchdevelop.com/

23
TouchDevelop

https://www.touchdevelop.com/

24
TouchDevelop

https://www.touchdevelop.com/

25
TouchDevelop cont.
• Simple script language
– No user-defined type
– No class inheritance

Full-fledged platform for
• Rich API support
EUP on Mobile Devices

– Easy access to various sensors and resources

• Powerful cloud services
– Download/publish scripts
– Store information of entities (e.g., scripts, users)
– Answer queries
https://www.touchdevelop.com/

26
Rapid Increase of TouchDevelop Popularity
Oct 2013 vs. 17322 scripts Feb 2013

27
Summary: Testing Tool Educational Gaming

Support

DSE/Pex

Pex for Fun:

Interactive Gaming for
Teaching and Learning
https://www.touchdevelop.com/

https://www.codehunt.com
http://pex4fun.com
Testing Tool  Educational Gaming
http://research.microsoft.com/pex/

http://pex4fun.com

Support

Q&A
Thank you!
Contact: taoxie@illinois.edu
http://www.cs.illinois.edu/homes/taoxie/
Related Papers/Resources: https://sites.google.com/site/asergrp/projects/ese
Summary: Testing Tool Educational Gaming

Support

DSE/Pex

Pex for Fun:

Interactive Gaming for
Teaching and Learning
https://www.touchdevelop.com/

https://www.codehunt.com
http://pex4fun.com

Weitere ähnliche Inhalte

Ähnlich wie Teaching and Learning Programming and Software Engineering via Interactive Gaming

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 ProgrammingTao Xie
 
Digital manipulatives todd_final
Digital manipulatives todd_finalDigital manipulatives todd_final
Digital manipulatives todd_finaljanon672002
 
Mobile Teaching: some competition and challenge
Mobile Teaching: some competition and challengeMobile Teaching: some competition and challenge
Mobile Teaching: some competition and challengeKate Alifanova
 
Presentation for elearning_from_diane_and_barry_wout_video[1]
Presentation for elearning_from_diane_and_barry_wout_video[1]Presentation for elearning_from_diane_and_barry_wout_video[1]
Presentation for elearning_from_diane_and_barry_wout_video[1]elearningassignment
 
Teaching Kids Programming
Teaching Kids ProgrammingTeaching Kids Programming
Teaching Kids ProgrammingSarah Phelps
 
H5P content types 22.2.18
H5P content types 22.2.18H5P content types 22.2.18
H5P content types 22.2.18Matleena Laakso
 
20 Apps in 60 Minutes (for Educators)
20 Apps in 60 Minutes (for Educators)20 Apps in 60 Minutes (for Educators)
20 Apps in 60 Minutes (for Educators)Lindsay O'Neill
 
Smartphones wikis and games for education
Smartphones wikis and games for educationSmartphones wikis and games for education
Smartphones wikis and games for educationJean-Claude Bradley
 
Integrating Technology & Marzano's Instructional Strategies
Integrating Technology & Marzano's Instructional StrategiesIntegrating Technology & Marzano's Instructional Strategies
Integrating Technology & Marzano's Instructional StrategiesJayme Linton
 
LeXMizzou August2017
LeXMizzou August2017LeXMizzou August2017
LeXMizzou August2017Isa Jahnke
 
Presentation Title
Presentation TitlePresentation Title
Presentation TitleVideoguy
 
Educational Technology - May 2008
Educational Technology - May 2008Educational Technology - May 2008
Educational Technology - May 2008Adam Bellow
 

Ähnlich wie Teaching and Learning Programming and Software Engineering via Interactive Gaming (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
 
Digital manipulatives todd_final
Digital manipulatives todd_finalDigital manipulatives todd_final
Digital manipulatives todd_final
 
Mobile Teaching: some competition and challenge
Mobile Teaching: some competition and challengeMobile Teaching: some competition and challenge
Mobile Teaching: some competition and challenge
 
Presentation for elearning_from_diane_and_barry_wout_video[1]
Presentation for elearning_from_diane_and_barry_wout_video[1]Presentation for elearning_from_diane_and_barry_wout_video[1]
Presentation for elearning_from_diane_and_barry_wout_video[1]
 
Teaching Kids Programming
Teaching Kids ProgrammingTeaching Kids Programming
Teaching Kids Programming
 
H5P content types 22.2.18
H5P content types 22.2.18H5P content types 22.2.18
H5P content types 22.2.18
 
20 Apps in 60 Minutes (for Educators)
20 Apps in 60 Minutes (for Educators)20 Apps in 60 Minutes (for Educators)
20 Apps in 60 Minutes (for Educators)
 
Smartphones wikis and games for education
Smartphones wikis and games for educationSmartphones wikis and games for education
Smartphones wikis and games for education
 
FLOSS Case Studies
FLOSS Case StudiesFLOSS Case Studies
FLOSS Case Studies
 
Tech & hyis
Tech & hyisTech & hyis
Tech & hyis
 
Integrating Technology & Marzano's Instructional Strategies
Integrating Technology & Marzano's Instructional StrategiesIntegrating Technology & Marzano's Instructional Strategies
Integrating Technology & Marzano's Instructional Strategies
 
iVet VOC1 session 2, Vygotsky
iVet VOC1 session 2, Vygotsky iVet VOC1 session 2, Vygotsky
iVet VOC1 session 2, Vygotsky
 
Applying learning analytics in serious games
Applying learning analytics in serious games Applying learning analytics in serious games
Applying learning analytics in serious games
 
612 lessonplan2013
612 lessonplan2013612 lessonplan2013
612 lessonplan2013
 
mooc14-OriginsOfModernMOOC
mooc14-OriginsOfModernMOOCmooc14-OriginsOfModernMOOC
mooc14-OriginsOfModernMOOC
 
LeXMizzou August2017
LeXMizzou August2017LeXMizzou August2017
LeXMizzou August2017
 
Up to date roadshow pres
Up to date roadshow presUp to date roadshow pres
Up to date roadshow pres
 
Presentation Title
Presentation TitlePresentation Title
Presentation Title
 
Educational Technology - May 2008
Educational Technology - May 2008Educational Technology - May 2008
Educational Technology - May 2008
 
See12.ppt
See12.pptSee12.ppt
See12.ppt
 

Mehr von 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 EngineeringTao 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 AlliesTao 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 ResearchTao 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 EngineeringTao 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 SecurityTao Xie
 
Planning and Executing Practice-Impactful Research
Planning and Executing Practice-Impactful ResearchPlanning and Executing Practice-Impactful Research
Planning and Executing Practice-Impactful ResearchTao 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 EngineeringTao 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
 
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 PracticeTao Xie
 
Common Technical Writing Issues
Common Technical Writing IssuesCommon Technical Writing Issues
Common Technical Writing IssuesTao 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 EnckTao 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 PracticeTao Xie
 
User Expectations in Mobile App Security
User Expectations in Mobile App SecurityUser Expectations in Mobile App Security
User Expectations in Mobile App SecurityTao Xie
 
Impact-Driven Research on Software Engineering Tooling
Impact-Driven Research on Software Engineering ToolingImpact-Driven Research on Software Engineering Tooling
Impact-Driven Research on Software Engineering ToolingTao Xie
 

Mehr von 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)
 
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
 
Impact-Driven Research on Software Engineering Tooling
Impact-Driven Research on Software Engineering ToolingImpact-Driven Research on Software Engineering Tooling
Impact-Driven Research on Software Engineering Tooling
 

Kürzlich hochgeladen

Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991RKavithamani
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingTechSoup
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentInMediaRes1
 
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Celine George
 
Micromeritics - Fundamental and Derived Properties of Powders
Micromeritics - Fundamental and Derived Properties of PowdersMicromeritics - Fundamental and Derived Properties of Powders
Micromeritics - Fundamental and Derived Properties of PowdersChitralekhaTherkar
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon AUnboundStockton
 
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting DataJhengPantaleon
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
MENTAL STATUS EXAMINATION format.docx
MENTAL     STATUS EXAMINATION format.docxMENTAL     STATUS EXAMINATION format.docx
MENTAL STATUS EXAMINATION format.docxPoojaSen20
 
Concept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfConcept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfUmakantAnnand
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsanshu789521
 
PSYCHIATRIC History collection FORMAT.pptx
PSYCHIATRIC   History collection FORMAT.pptxPSYCHIATRIC   History collection FORMAT.pptx
PSYCHIATRIC History collection FORMAT.pptxPoojaSen20
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAssociation for Project Management
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionSafetyChain Software
 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppCeline George
 

Kürzlich hochgeladen (20)

Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media Component
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
 
Micromeritics - Fundamental and Derived Properties of Powders
Micromeritics - Fundamental and Derived Properties of PowdersMicromeritics - Fundamental and Derived Properties of Powders
Micromeritics - Fundamental and Derived Properties of Powders
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon A
 
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
MENTAL STATUS EXAMINATION format.docx
MENTAL     STATUS EXAMINATION format.docxMENTAL     STATUS EXAMINATION format.docx
MENTAL STATUS EXAMINATION format.docx
 
Concept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfConcept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.Compdf
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha elections
 
PSYCHIATRIC History collection FORMAT.pptx
PSYCHIATRIC   History collection FORMAT.pptxPSYCHIATRIC   History collection FORMAT.pptx
PSYCHIATRIC History collection FORMAT.pptx
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory Inspection
 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website App
 

Teaching and Learning Programming and Software Engineering via Interactive Gaming

  • 1. https://www.codehunt.com Teaching and Learning Programming and Software Engineering via Interactive Gaming http://pex4fun.com Tao Xie University of Illinois at Urbana-Champaign In collaboration with Nikolai Tillmann, Jonathan de Halleux, and Judith Bishop (Microsoft Research) Related Papers/Resources: https://sites.google.com/site/asergrp/projects/ese
  • 2. Testing Tool  Educational Gaming Support Dynamic Symbolic Execution (Pex) http://research.microsoft.com/pex/ Pex for Fun: Interactive Gaming for Teaching and Learning https://www.codehunt.com http://pex4fun.com
  • 5. Background Dynamic Symbolic Execution (DSE) aka. Concolic Testing [Godefroid et al. 05][Sen et al. 05][Tillmann et al. 08] Instrument code to explore feasible paths http://research.microsoft.com/pex/
  • 7. Dynamic Symbolic Execution in Pex Choose next path Solve void CoverMe(int[] a) { if (a == null) return; if (a.Length > 0) if (a[0] == 1234567890) throw new Exception("bug"); } F F a.Length>0 a==null Execute&Monitor Constraints to solve Input Observed constraints a!=null null {} a==null a!=null && !(a.Length>0) a==null && a.Length>0 && a[0]!=1234567890 a==null && a.Length>0 && a[0]==1234567890 a!=null && a.Length>0 a!=null && a.Length>0 && a[0]==123456890 T T {0} {123…} Done: There is no path left. a[0]==123… F T http://pex4fun.com/HowDoesPexWork
  • 9. Coding Duels Pex computes “semantic diff” in cloud secret reference implementation vs. code written in browser You win when Pex finds no differences For more info, see our ICSE 2013 SEE paper: http://web.engr.illinois.edu/~taoxie/publications/icse13see-pex4fun.pdf
  • 10. Behind the Scene of Pex for Fun behavior Secret Impl == Secret Implementation class Secret { public static int Puzzle(int x) { if (x <= 0) return 1; return x * Puzzle(x-1); } } class Test { public static void Driver(int x) { if (Secret.Puzzle(x) != Player.Puzzle(x)) throw new Exception(“Mismatch”); } } Player Impl Player Implementation class Player { public static int Puzzle(int x) { return x; } } 10
  • 11. Coding Duels Fun and Engaging Iterative gameplay Adaptive Personalized No cheating Clear winning criterion
  • 12. Social Experience Community High score lists, leaderboard Live feed http://pex4fun.com/Community.aspx http://pex4fun.com/Livefeed.aspx
  • 15. Skills Being Trained Induction Problem solving/debugging Program understanding/programming Testing Specification writing
  • 16. Coding Duels for Course Assignments @Grad Software Engineering Course Observed Benefits • Automatic Grading • Real-time Feedback (for Both Students and Teachers) • Fun Learning Experiences http://pexforfun.com/gradsofteng
  • 17. Coding Duel Competition @ICSE 2011 http://pexforfun.com/icse2011
  • 18. Example User Feedback Released since 2010 “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.” X “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.” “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!”
  • 19. Usage Scenarios of Pex4Fun • Massive Open Online Courses (MOOC) • Course assignments (students/professionals) • Student/professional competitions • Assessment of testing, programming, problem solving skills for job applicants
  • 20. Code Hunt: Resigned As Game https://www.codehunt.com/
  • 21. End-User Programming On Mobile Devices TouchDevelop: Bring your own devices, program anywhere, run immediately on devices V.S. https://www.touchdevelop.com/ 21
  • 26. TouchDevelop cont. • Simple script language – No user-defined type – No class inheritance Full-fledged platform for • Rich API support EUP on Mobile Devices – Easy access to various sensors and resources • Powerful cloud services – Download/publish scripts – Store information of entities (e.g., scripts, users) – Answer queries https://www.touchdevelop.com/ 26
  • 27. Rapid Increase of TouchDevelop Popularity Oct 2013 vs. 17322 scripts Feb 2013 27
  • 28. Summary: Testing Tool Educational Gaming Support DSE/Pex Pex for Fun: Interactive Gaming for Teaching and Learning https://www.touchdevelop.com/ https://www.codehunt.com http://pex4fun.com
  • 29. Testing Tool  Educational Gaming http://research.microsoft.com/pex/ http://pex4fun.com Support Q&A Thank you! Contact: taoxie@illinois.edu http://www.cs.illinois.edu/homes/taoxie/ Related Papers/Resources: https://sites.google.com/site/asergrp/projects/ese
  • 30. Summary: Testing Tool Educational Gaming Support DSE/Pex Pex for Fun: Interactive Gaming for Teaching and Learning https://www.touchdevelop.com/ https://www.codehunt.com http://pex4fun.com