SlideShare a Scribd company logo
1 of 20
SCREAM Lab Presentation
Student: Yu-Han Cheng (程鈺涵)
Adviser: Prof. Alvin W. Y. Su (蘇文鈺 教授)
Date: 2019/06/25
CodeGame : 基於遊戲對戰之程式設計學習平台
CodeGame : A Game-Based Learning
Platform for Programming
Department of Computer Science and Information Engineering,
National Cheng Kung University, Tainan, Taiwan, R.O.C.
SCREAM Lab Presentation
• Introduction
• Implement of CodeGame
• Demonstrations
• Conclusion and Future Work
Outline
2
SCREAM Lab Presentation
• Introduction
– Motivation
– The relative platform nowadays
– Goal
• Implement of CodeGame
• Demonstrations
• Conclusion and Future Work
Outline
3
SCREAM Lab Presentation
Motivation
4
• Programming has become important at the moment.
– Enhance learning motivation for programming
– Provide users resource usage to improve the performance
– Guide beginners to learn basic concepts of AI
SCREAM Lab Presentation
• OpenAI Gym
The Relative Platform Nowadays
5
• Kaggle
• Codecademy • CodinGame
SCREAM Lab Presentation
6
Difference between The Relative Platform Nowadays
OpenAI Gym Kaggle Codecademy CodinGame
1 Game-based
2 Leaderboard
3
Display the
process of code
4
Open source (
user code)
5 ML Environment
6 Save user code
SCREAM Lab Presentation
Goal
7
• Implement an attractive learning platform for programming
– Hold combat game and competitive leaderboard
– Support basic ML environment in server system
– Report resource usage of each user process
SCREAM Lab Presentation
• Introduction
• Implement of CodeGame
– CodeGame Architecture
– Work Flow Overview
– Local Test Server
• Demonstrations
• Conclusion and Future Work
Outline
8
SCREAM Lab Presentation
Local Test
Server
Web
Server Game Server
Code
scheduler
Game
exec
Sub Server
Sub Server
User
Code
Game
Test
1
2 3
CodeGame Architecture
9
SCREAM Lab Presentation
Sub Server
Sub Server
Local Test
Server
User
Code
Game
Test
Web
Server
Game Server
Code
scheduler
Game
exec
Game
exec
Recv
User Code
Recv
User Code
Sub Server
Sub Server
Game
main
10
Pingpong
C
Python
game.py
lib.py + Lib
Work Flow Overview
+ Lib
game_id+
language_id
+
game_id+
language_id
+
game_id+
language_id
+
game_id+
language_id
+
CodeGame
ML
SCREAM Lab Presentation
1. Get game list from web server when loading page
2. Select a game
3. Get language list
4. Get library and the code of game
5. Choose the ML model file(.sav) when using ML code
Local test server
Interface operation
11
1.2 3.4
5
SCREAM Lab Presentation
Local
– Distinguish the different version code of the game
Local test server
Commit message
12
Web
SCREAM Lab Presentation
Model.
Local test server
Machine Learning
13
SCREAM Lab Presentation
– The game will be executed for up to 1000 frames for each test.
Local test server
Test game work
14
SCREAM Lab Presentation
• Introduction
• Implement of CodeGame
• Demonstrations
• Conclusion and Future Work
Outline
15
SCREAM Lab Presentation
Demonstrations
16
New account
– Register
– Email validation
– Login
Upload from local
– Write a code
– Test
– Upload
Train ML model
– Download log
– Tranform log data
– Train a model
Game combat
– Add room
– Enter room
– Select code
– Play
– Replay
Room1 Room2
P1 Erin NN Apple RFC
P2 Official — Erin RFC
log.txt
data_Transform.py
train_NN_RFC.py
GameInfor_test.pickle
RFC_model.sav NN_model.sav
SCREAM Lab Presentation
• Introduction
• Implement of CodeGame
• Demonstrations
• Conclusion and Future Work
Outline
17
SCREAM Lab Presentation
18
Conclusion
Compare with The Relative Platform Nowadays
OpenAI Gym Kaggle Codecademy CodinGame CodeGame
Game-based
Competitive
leaderboard
Display the
progress of code
Open source (
user code)
ML environment
Save user code
Download log
Chat box
scikit-learn library
After competition period
with message
SCREAM Lab Presentation
19
OpenAI Gym Kaggle Codecademy CodinGame
Discussion
Multiple
Language
Tutorial course
Social links
Online Compile
ML
Training Enviro
nment
Notifications
Future Work
CPU GPU
CPU cores 4 2
GB of RAM 17 14
SCREAM Lab Presentation
Thanks for your attention !
20

More Related Content

What's hot

Cypress report
Cypress reportCypress report
Cypress reportAdarsh
 
Sencha Roadshow 2017: What's New in Sencha Test
Sencha Roadshow 2017: What's New in Sencha TestSencha Roadshow 2017: What's New in Sencha Test
Sencha Roadshow 2017: What's New in Sencha TestSencha
 
Learn Key Insights from The State of Web Application Testing Research Report
Learn Key Insights from The State of Web Application Testing Research ReportLearn Key Insights from The State of Web Application Testing Research Report
Learn Key Insights from The State of Web Application Testing Research ReportSencha
 
Syed Maqsood Ali
Syed Maqsood AliSyed Maqsood Ali
Syed Maqsood AliSyed Ali
 
Selenium Training - Eduxfactor-converted.pdf
Selenium Training - Eduxfactor-converted.pdfSelenium Training - Eduxfactor-converted.pdf
Selenium Training - Eduxfactor-converted.pdfAkhilkumar590509
 
Selenium Training - Eduxfactor.pptx
Selenium Training - Eduxfactor.pptxSelenium Training - Eduxfactor.pptx
Selenium Training - Eduxfactor.pptxbasanthbliss99
 
Selenium Training - Eduxfactor-converted.pdf
Selenium Training - Eduxfactor-converted.pdfSelenium Training - Eduxfactor-converted.pdf
Selenium Training - Eduxfactor-converted.pdfbasanthbliss99
 

What's hot (9)

Introduction
IntroductionIntroduction
Introduction
 
Cypress report
Cypress reportCypress report
Cypress report
 
Lecture 21
Lecture 21Lecture 21
Lecture 21
 
Sencha Roadshow 2017: What's New in Sencha Test
Sencha Roadshow 2017: What's New in Sencha TestSencha Roadshow 2017: What's New in Sencha Test
Sencha Roadshow 2017: What's New in Sencha Test
 
Learn Key Insights from The State of Web Application Testing Research Report
Learn Key Insights from The State of Web Application Testing Research ReportLearn Key Insights from The State of Web Application Testing Research Report
Learn Key Insights from The State of Web Application Testing Research Report
 
Syed Maqsood Ali
Syed Maqsood AliSyed Maqsood Ali
Syed Maqsood Ali
 
Selenium Training - Eduxfactor-converted.pdf
Selenium Training - Eduxfactor-converted.pdfSelenium Training - Eduxfactor-converted.pdf
Selenium Training - Eduxfactor-converted.pdf
 
Selenium Training - Eduxfactor.pptx
Selenium Training - Eduxfactor.pptxSelenium Training - Eduxfactor.pptx
Selenium Training - Eduxfactor.pptx
 
Selenium Training - Eduxfactor-converted.pdf
Selenium Training - Eduxfactor-converted.pdfSelenium Training - Eduxfactor-converted.pdf
Selenium Training - Eduxfactor-converted.pdf
 

Similar to CodeGame

SANS_PentestHackfest_2022-PurpleTeam_Cloud_Identity.pptx
SANS_PentestHackfest_2022-PurpleTeam_Cloud_Identity.pptxSANS_PentestHackfest_2022-PurpleTeam_Cloud_Identity.pptx
SANS_PentestHackfest_2022-PurpleTeam_Cloud_Identity.pptxJasonOstrom1
 
Recommendations for Building Machine Learning Software
Recommendations for Building Machine Learning SoftwareRecommendations for Building Machine Learning Software
Recommendations for Building Machine Learning SoftwareJustin Basilico
 
Software Analytics - Achievements and Challenges
Software Analytics - Achievements and ChallengesSoftware Analytics - Achievements and Challenges
Software Analytics - Achievements and ChallengesTao Xie
 
Justin Basilico, Research/ Engineering Manager at Netflix at MLconf SF - 11/1...
Justin Basilico, Research/ Engineering Manager at Netflix at MLconf SF - 11/1...Justin Basilico, Research/ Engineering Manager at Netflix at MLconf SF - 11/1...
Justin Basilico, Research/ Engineering Manager at Netflix at MLconf SF - 11/1...MLconf
 
Simple tweaks to get the most out of your JVM
Simple tweaks to get the most out of your JVMSimple tweaks to get the most out of your JVM
Simple tweaks to get the most out of your JVMJamie Coleman
 
DataMind: An e-learning platform for Data Analysis based on R. RBelgium meetu...
DataMind: An e-learning platform for Data Analysis based on R. RBelgium meetu...DataMind: An e-learning platform for Data Analysis based on R. RBelgium meetu...
DataMind: An e-learning platform for Data Analysis based on R. RBelgium meetu...DataMind-slides
 
Using LLVM to accelerate processing of data in Apache Arrow
Using LLVM to accelerate processing of data in Apache ArrowUsing LLVM to accelerate processing of data in Apache Arrow
Using LLVM to accelerate processing of data in Apache ArrowDataWorks Summit
 
Simple tweaks to get the most out of your jvm
Simple tweaks to get the most out of your jvmSimple tweaks to get the most out of your jvm
Simple tweaks to get the most out of your jvmJamie Coleman
 
Lessons Learned from Building Machine Learning Software at Netflix
Lessons Learned from Building Machine Learning Software at NetflixLessons Learned from Building Machine Learning Software at Netflix
Lessons Learned from Building Machine Learning Software at NetflixJustin Basilico
 
Webinar: Começando seus trabalhos com Machine Learning utilizando ferramentas...
Webinar: Começando seus trabalhos com Machine Learning utilizando ferramentas...Webinar: Começando seus trabalhos com Machine Learning utilizando ferramentas...
Webinar: Começando seus trabalhos com Machine Learning utilizando ferramentas...Embarcados
 
Content Strategy and Developer Engagement for DevPortals
Content Strategy and Developer Engagement for DevPortalsContent Strategy and Developer Engagement for DevPortals
Content Strategy and Developer Engagement for DevPortalsAxway
 
IBM Developer Model Asset eXchange
IBM Developer Model Asset eXchangeIBM Developer Model Asset eXchange
IBM Developer Model Asset eXchangeNick Pentreath
 
Machine Learning Infrastructure
Machine Learning InfrastructureMachine Learning Infrastructure
Machine Learning InfrastructureSigOpt
 
selenium_course_content.pdf
selenium_course_content.pdfselenium_course_content.pdf
selenium_course_content.pdfaswinisowmiya
 
Google cloud Study Jam 2023.pptx
Google cloud Study Jam 2023.pptxGoogle cloud Study Jam 2023.pptx
Google cloud Study Jam 2023.pptxGDSCNiT
 
SpringOne 2016 in a nutshell
SpringOne 2016 in a nutshellSpringOne 2016 in a nutshell
SpringOne 2016 in a nutshellJeroen Resoort
 
Highlights from microsoft ignite 2015
Highlights from microsoft ignite 2015Highlights from microsoft ignite 2015
Highlights from microsoft ignite 2015Kim Frehe
 
The New Era of Code in the Cloud (Bogdan Toporan)
The New Era of Code in the Cloud (Bogdan Toporan)The New Era of Code in the Cloud (Bogdan Toporan)
The New Era of Code in the Cloud (Bogdan Toporan)ITCamp
 
Как да станем софтуерни инженери и да стартираме ИТ бизнес?
Как да станем софтуерни инженери и да стартираме ИТ бизнес?Как да станем софтуерни инженери и да стартираме ИТ бизнес?
Как да станем софтуерни инженери и да стартираме ИТ бизнес?Svetlin Nakov
 

Similar to CodeGame (20)

SANS_PentestHackfest_2022-PurpleTeam_Cloud_Identity.pptx
SANS_PentestHackfest_2022-PurpleTeam_Cloud_Identity.pptxSANS_PentestHackfest_2022-PurpleTeam_Cloud_Identity.pptx
SANS_PentestHackfest_2022-PurpleTeam_Cloud_Identity.pptx
 
Recommendations for Building Machine Learning Software
Recommendations for Building Machine Learning SoftwareRecommendations for Building Machine Learning Software
Recommendations for Building Machine Learning Software
 
Software Analytics - Achievements and Challenges
Software Analytics - Achievements and ChallengesSoftware Analytics - Achievements and Challenges
Software Analytics - Achievements and Challenges
 
Justin Basilico, Research/ Engineering Manager at Netflix at MLconf SF - 11/1...
Justin Basilico, Research/ Engineering Manager at Netflix at MLconf SF - 11/1...Justin Basilico, Research/ Engineering Manager at Netflix at MLconf SF - 11/1...
Justin Basilico, Research/ Engineering Manager at Netflix at MLconf SF - 11/1...
 
Simple tweaks to get the most out of your JVM
Simple tweaks to get the most out of your JVMSimple tweaks to get the most out of your JVM
Simple tweaks to get the most out of your JVM
 
DataMind: An e-learning platform for Data Analysis based on R. RBelgium meetu...
DataMind: An e-learning platform for Data Analysis based on R. RBelgium meetu...DataMind: An e-learning platform for Data Analysis based on R. RBelgium meetu...
DataMind: An e-learning platform for Data Analysis based on R. RBelgium meetu...
 
Using LLVM to accelerate processing of data in Apache Arrow
Using LLVM to accelerate processing of data in Apache ArrowUsing LLVM to accelerate processing of data in Apache Arrow
Using LLVM to accelerate processing of data in Apache Arrow
 
Simple tweaks to get the most out of your jvm
Simple tweaks to get the most out of your jvmSimple tweaks to get the most out of your jvm
Simple tweaks to get the most out of your jvm
 
Build 2019 Recap
Build 2019 RecapBuild 2019 Recap
Build 2019 Recap
 
Lessons Learned from Building Machine Learning Software at Netflix
Lessons Learned from Building Machine Learning Software at NetflixLessons Learned from Building Machine Learning Software at Netflix
Lessons Learned from Building Machine Learning Software at Netflix
 
Webinar: Começando seus trabalhos com Machine Learning utilizando ferramentas...
Webinar: Começando seus trabalhos com Machine Learning utilizando ferramentas...Webinar: Começando seus trabalhos com Machine Learning utilizando ferramentas...
Webinar: Começando seus trabalhos com Machine Learning utilizando ferramentas...
 
Content Strategy and Developer Engagement for DevPortals
Content Strategy and Developer Engagement for DevPortalsContent Strategy and Developer Engagement for DevPortals
Content Strategy and Developer Engagement for DevPortals
 
IBM Developer Model Asset eXchange
IBM Developer Model Asset eXchangeIBM Developer Model Asset eXchange
IBM Developer Model Asset eXchange
 
Machine Learning Infrastructure
Machine Learning InfrastructureMachine Learning Infrastructure
Machine Learning Infrastructure
 
selenium_course_content.pdf
selenium_course_content.pdfselenium_course_content.pdf
selenium_course_content.pdf
 
Google cloud Study Jam 2023.pptx
Google cloud Study Jam 2023.pptxGoogle cloud Study Jam 2023.pptx
Google cloud Study Jam 2023.pptx
 
SpringOne 2016 in a nutshell
SpringOne 2016 in a nutshellSpringOne 2016 in a nutshell
SpringOne 2016 in a nutshell
 
Highlights from microsoft ignite 2015
Highlights from microsoft ignite 2015Highlights from microsoft ignite 2015
Highlights from microsoft ignite 2015
 
The New Era of Code in the Cloud (Bogdan Toporan)
The New Era of Code in the Cloud (Bogdan Toporan)The New Era of Code in the Cloud (Bogdan Toporan)
The New Era of Code in the Cloud (Bogdan Toporan)
 
Как да станем софтуерни инженери и да стартираме ИТ бизнес?
Как да станем софтуерни инженери и да стартираме ИТ бизнес?Как да станем софтуерни инженери и да стартираме ИТ бизнес?
Как да станем софтуерни инженери и да стартираме ИТ бизнес?
 

Recently uploaded

+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceanilsa9823
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 

Recently uploaded (20)

+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 

CodeGame

  • 1. SCREAM Lab Presentation Student: Yu-Han Cheng (程鈺涵) Adviser: Prof. Alvin W. Y. Su (蘇文鈺 教授) Date: 2019/06/25 CodeGame : 基於遊戲對戰之程式設計學習平台 CodeGame : A Game-Based Learning Platform for Programming Department of Computer Science and Information Engineering, National Cheng Kung University, Tainan, Taiwan, R.O.C.
  • 2. SCREAM Lab Presentation • Introduction • Implement of CodeGame • Demonstrations • Conclusion and Future Work Outline 2
  • 3. SCREAM Lab Presentation • Introduction – Motivation – The relative platform nowadays – Goal • Implement of CodeGame • Demonstrations • Conclusion and Future Work Outline 3
  • 4. SCREAM Lab Presentation Motivation 4 • Programming has become important at the moment. – Enhance learning motivation for programming – Provide users resource usage to improve the performance – Guide beginners to learn basic concepts of AI
  • 5. SCREAM Lab Presentation • OpenAI Gym The Relative Platform Nowadays 5 • Kaggle • Codecademy • CodinGame
  • 6. SCREAM Lab Presentation 6 Difference between The Relative Platform Nowadays OpenAI Gym Kaggle Codecademy CodinGame 1 Game-based 2 Leaderboard 3 Display the process of code 4 Open source ( user code) 5 ML Environment 6 Save user code
  • 7. SCREAM Lab Presentation Goal 7 • Implement an attractive learning platform for programming – Hold combat game and competitive leaderboard – Support basic ML environment in server system – Report resource usage of each user process
  • 8. SCREAM Lab Presentation • Introduction • Implement of CodeGame – CodeGame Architecture – Work Flow Overview – Local Test Server • Demonstrations • Conclusion and Future Work Outline 8
  • 9. SCREAM Lab Presentation Local Test Server Web Server Game Server Code scheduler Game exec Sub Server Sub Server User Code Game Test 1 2 3 CodeGame Architecture 9
  • 10. SCREAM Lab Presentation Sub Server Sub Server Local Test Server User Code Game Test Web Server Game Server Code scheduler Game exec Game exec Recv User Code Recv User Code Sub Server Sub Server Game main 10 Pingpong C Python game.py lib.py + Lib Work Flow Overview + Lib game_id+ language_id + game_id+ language_id + game_id+ language_id + game_id+ language_id + CodeGame ML
  • 11. SCREAM Lab Presentation 1. Get game list from web server when loading page 2. Select a game 3. Get language list 4. Get library and the code of game 5. Choose the ML model file(.sav) when using ML code Local test server Interface operation 11 1.2 3.4 5
  • 12. SCREAM Lab Presentation Local – Distinguish the different version code of the game Local test server Commit message 12 Web
  • 13. SCREAM Lab Presentation Model. Local test server Machine Learning 13
  • 14. SCREAM Lab Presentation – The game will be executed for up to 1000 frames for each test. Local test server Test game work 14
  • 15. SCREAM Lab Presentation • Introduction • Implement of CodeGame • Demonstrations • Conclusion and Future Work Outline 15
  • 16. SCREAM Lab Presentation Demonstrations 16 New account – Register – Email validation – Login Upload from local – Write a code – Test – Upload Train ML model – Download log – Tranform log data – Train a model Game combat – Add room – Enter room – Select code – Play – Replay Room1 Room2 P1 Erin NN Apple RFC P2 Official — Erin RFC log.txt data_Transform.py train_NN_RFC.py GameInfor_test.pickle RFC_model.sav NN_model.sav
  • 17. SCREAM Lab Presentation • Introduction • Implement of CodeGame • Demonstrations • Conclusion and Future Work Outline 17
  • 18. SCREAM Lab Presentation 18 Conclusion Compare with The Relative Platform Nowadays OpenAI Gym Kaggle Codecademy CodinGame CodeGame Game-based Competitive leaderboard Display the progress of code Open source ( user code) ML environment Save user code Download log Chat box scikit-learn library After competition period with message
  • 19. SCREAM Lab Presentation 19 OpenAI Gym Kaggle Codecademy CodinGame Discussion Multiple Language Tutorial course Social links Online Compile ML Training Enviro nment Notifications Future Work CPU GPU CPU cores 4 2 GB of RAM 17 14
  • 20. SCREAM Lab Presentation Thanks for your attention ! 20

Editor's Notes

  1. 老師口委實驗室的學姊以及各位同學學弟妹大家好,謝謝各位來參加我的碩士班口試。我是程鈺涵,我的指導教授是蘇文鈺教授。今天要報告的題目是CodeGame : A Game-Based Learning Platform for Programming 中文是 CodeGame : 基於遊戲對戰之程式設計學習平台
  2. 首先這是今天的outline。我們會先簡介開發平台的動機和目的。接著報告平台的架構和運作流程,再來會實際展示平台功能的操作。最後會總結和future work。
  3. 首先是平台的簡介 包括動機緣由, 現今相關的平台介紹,我們的目標
  4. 隨著資訊科技的進步,人工智慧的應用已逐漸成為近代各領域發展的目標,軟工人才需求持續增加, 程式設計的能力成為主流 我們希望 增加大眾學習程式設計的動力 同時 提高優化效能技巧 以及 幫助大家建立學習人工智慧的基礎 https://www.google.com/url?sa=i&source=images&cd=&ved=2ahUKEwjlq_OizubiAhWKHaYKHT83DKUQjRx6BAgBEAU&url=https%3A%2F%2Fairjordanenligen2015.com%2Fexplore%2Fstaircase%2520clipart%2520upstairs%2F&psig=AOvVaw3KRlTPgB2_NE-0HKL-vJOb&ust=1560520491208117 ———————————————————————————————————— 讓使用者了解他的程式碼會如何作用 在pro為主流的趨勢下 順應這些功能的平台是被需要的 因此我們的目標是提供一個以遊戲競賽為基底的程式設計學習平台。 且提供實時反應回櫃給使用者 讓使用者了解他的程式碼會如何作用 整體運作下是否有邏輯差錯, 考慮不周,條件情境缺漏 讓使用者 依據我們的需求開發輕便版的平台,簡單達到我們想要的功能,後面我們會介紹現有的相關平台並沒有一個平台完全擁有我們要的特點 所以我們才會開發這個平台,但是這個平台還有許多需要克服改善的問題,我們後面也會做個簡單的比較
  5. 那我們先來了解一下現有較廣為使用的程設學習平台發展情形 OpenAI Gym 是一個基於遊戲的本機端學習環境,提供測試RL 強化學習演算法的環境 Kaggle 是一個數據建模和分析的競賽平台, 我們可以直接在瀏覽器上編寫程式並執行,介面會顯示目前CPU, RAM和Disk得使用率,不過他並沒有遊戲 Codecademy 是給初學者學習程式的平台,完整的初階教學課程,一步一步代使用者下指令和除錯,也是直接在線上編輯並執行 且給予及時的反饋(協助訂正錯誤) CodinGame 也是遊戲為基底的程式設計學習平台,遊戲做得很完整,但尚未直接提供AI相關環境 ———————— 因此程式設計也向下普及到中小學資訊教育中。目前線上也有不少或者開放性社群持續地開發新的學習平台。 OpenAI 不用花時間去搭建自己的測試環境。Reinforcement Learning 是 Machine Learning 家族的一員,為一種目標導向(goal-oriented)的學習方法,旨在經由與環境互動過程中獲得的各種獎勵或懲罰,學會如何做決策。 Kaggle 部分比賽是公司懸賞的題目,有獎金的, 雖然不是以遊戲為基底 但也吸引大量使用者
  6. 現有平台的幾個特點有: Game-based 增加使用者學習的動力 Competition 製造良性競爭的環境 讓使用者持續優化程式碼追求卓越 Real-time 介面上的畫面呈現 是realtime的由後端server執行的使用者程式碼傳遞驅動到client 而來 OPENAI因為在本機端 沒有server和client的概念 畫面本來就是即時顯示 所以不完全算real time CodinGame 會將每個frame的結果顯示出來,且可以即時暫停重播等 Open source 公開使用者的程式碼為開源碼 kaggle是可以自行選擇是否公開城市碼,我們的平台是計畫賽期結束後再重播畫面可以看到雙方的程式碼(目前遊戲沒有賽期) ( user code) ML Environment ,openAI GYM環境和 kaggle的平台可以支援機器學習的訓練和測試 而我們平台目前是提供python 的 scikit-learn 套件的應用 使用者須在自己的電腦上訓練好模型後上傳至平台 做inference 預測 Save user code 在kaggle上有案提交程式碼他就會紀錄,而我們的平台也是會記錄每份使用者上傳的程式碼,在local端編寫程式碼提交前可以編輯提交訊息 來讓使用者區別不同版本的程式碼 這個提交訊息可以在平台遊戲對戰前選擇程式碼的時候看到
  7. 所以我們的目標為 實作一個吸引人學習程式設計的平台 來實現我們的動機 平台主要的特點會有: 對戰遊戲 和排行榜競爭 予以使用者持續學習的動力 回報執行該份程式碼使用多少CPU和記憶體資源,讓使用者了解效能進而優化程式碼 最後 在我們的平台系統中 支援基本的機器學習環境 ---------------------------------- Game https://www.boomerangtv.co.uk/games Cpu http://udayarumilli.com/monitor-cpu-utilization-io-usage-and-memory-usage-in-sql-server/ ML https://zh-tw.coursera.org/learn/practical-machine-learning 讓使用者了解他的程式碼會如何作用 在pro為主流的趨勢下 順應這些功能的平台是被需要的 因此我們的目標是提供一個以遊戲競賽為基底的程式設計學習平台。 且提供實時反應回櫃給使用者 讓使用者了解他的程式碼會如何作用 整體運作下是否有邏輯差錯, 考慮不周,條件情境缺漏 讓使用者 依據我們的需求開發輕便版的平台,簡單達到我們想要的功能,後面我們會介紹現有的相關平台並沒有一個平台完全擁有我們要的特點 所以我們才會開發這個平台,但是這個平台還有許多需要克服改善的問題,我們後面也會做個簡單的比較
  8. 接下來要說明一下CodeGame平台是如何實現。 首先要報告的是平台的架構 接著做使用案例的介紹 再來藉由時序圖看運作流程,然後會用3D圖看整體架構work flow的概觀 最後會介紹 local test server的使用
  9. Codegame平台的系統架構主要有三大部分。 第一部分是 Local test server ,再來是 Web server 第三部分是 平台後端- game server, 其中第一部份和第二部分有網頁介面作為與使用者互動的窗口,只有第二部分Web server有配置資料庫 使用者在 Local 上傳程式碼到 Webserver存檔, 當使用者操作Codegame介面,開始遊戲對戰,選擇程式碼後 webserver將程式碼傳給第三部分--平台後端,遊戲主要運行的地方,再將遊戲的畫面回傳給 webserver呈現在瀏覽器上 以上就是我們主要實作的部分   至於平台底層的設計,各server之間的連接和資料傳輸 下面會進一步描述實作細節
  10. 首先讓我們看一下OVT的架構。   OVT在PC上主要執行OpenRISC GUI和Central Service,兩者之間以socket連接 OpenRISC GUI作為與使用者互動的窗口,負責發送使用者的request到Central Service並且接受Central Service的回饋   Central Service與底層的平台連接,接受來自GUI發送的請求並且進行相對應的處理   以上就是本人主要實作的部分   至於底層的平台可以是搭載由本實驗室所開發的多核心OpenRISC的FPGA開發板,或者是在同一PC上執行的Or1ksim模擬器,和Central Service之間以Data Transfer Interface連接以進行資料的傳輸   下面會進一步描述本人主要實作的OpenRISC GUI以及central service的用途
  11. login之後會轉到coding畫面, 當轉址到這個頁面的時候 就會去載目前現有的所有遊戲清單 在寫code之前
  12. 我們在 Local 每次提交前 寫下訊息記錄 右邊畫面就是web 備註用的
  13. 這是我們下載的遊戲過程log, 使用者做資料處理後拿去建模 我們取 球和板子的座標為訓練資料 板子每次的移動為目標資料 來訓練模型學習 之後我們就可以將遊戲的球和板子的座標放進模型裡 讓他預測板子移動的單位
  14. Test_game在收到 usercode的連線後 就會開始 check timeout 0.2秒 check 一次 每次都看距離上次更新時間是否超過0.5秒 (若timeout 通知 local server, local server會 kill 並將 iscodeok 設為2)
  15. 我們的demo流程是這樣的 主要展示的功能為用機器學習模型來打遊戲 我們會請學妹從註冊開始建立一個全新的帳號 這個帳號會訓練兩個機器學習的模型 挑選表現比較好的模型上傳 目前 log 3 為之前train的 RFC models
  16. 最後則是結論和future work。
  17. Codegame綜合各平台優點 有的: Game-based 增加使用者學習的動力 Competition 製造良性競爭的環境 讓使用者持續優化程式碼追求卓越 Real-time 介面上的畫面呈現 是realtime的由後端server執行的使用者程式碼傳遞驅動到client 而來 OPENAI因為在本機端 沒有server和client的概念 畫面本來就是即時顯示 所以不完全算real time CodinGame 會將每個frame的結果顯示出來,且可以即時暫停重播等 Open source 公開使用者的程式碼為開源碼 kaggle是可以自行選擇是否公開城市碼,我們的平台是計畫賽期結束後再重播畫面可以看到雙方的程式碼(目前遊戲沒有賽期) ( user code) ML Environment ,openAI GYM環境和 kaggle的平台可以支援機器學習的訓練和測試 而我們平台目前是提供python 的 scikit-learn 套件的應用 使用者須在自己的電腦上訓練好模型後上傳至平台 做inference 預測 Save user code 在kaggle上有案提交程式碼他就會紀錄,而我們的平台也是會記錄每份使用者上傳的程式碼,在local端編寫程式碼提交前可以編輯提交訊息 來讓使用者區別不同版本的程式碼 這個提交訊息可以在平台遊戲對戰前選擇程式碼的時候看到
  18. Online Compile 可以直接在線上攥寫程式碼並執行 Discussion 討論區是共學的重要設計,我們可以藉由大家提供的不同想法中得到啟發, 對於一個學習平台來說是不可或缺的 Notifications 官網訊息通知(限時競賽消息推播或是登上遊戲排行榜通知) Multiple Language 這是codingame支援的語言 非常多種 我們也希望 Tutorial course kaggle有程式語言以外 與ML相關的教程。 codingame有程式碼的教學 ML Training Environment Multiple Social Account 目前這三個廣用的平台都可以用第三方社群帳號登入、收尋社群中也在使用的好友,像是Kaggle就可以在個人檔案頁面放 github Linkin帳號 或是個人網頁的url,平台變成優質人才庫,登上平台的排行榜也是一個能力的展現 可能是企業會參考的指標 因此我們將會把這個特點放進未來規劃裡頭 普遍觀察下來 平台要規模化 要受使用者歡迎不乏具備這七個特點 但現在的平台還在開發階段 初步的把動機願景實現出來,我們還有很多的不足 像是使用者多人要寫ML的東西運算量會很大 我們還在開發階段這件事情成本較高 所以尚未打算讓使用者在平台上開發和訓練ML的模型 還有許多東西都還沒做,之後會酌量增加 ———————————————————————————————————- 負載大量user 使用者多人要寫ML的東西運算量會很大 我們還在開發階段沒辦法支援 使用者可能也比較熟悉自己的環境 這件事情成本較高 目前為非必要 但是這有一個問題 就是我們只提供scikit-learn的套件的應用 所以有版本的規定, 現在的平台還在開發階段 初步的嘗試 並沒有打算提供使用者開發ML的模型 基本的測試和交流 把願景實現出來,還有很多的不足,這個work是新平台的架構 相對不重要的 現在沒有沒關係
  19. 以上就是我的報告,感謝各位的聆聽