This SBIR Phase I project would result in the development of an intelligent automated tutoring system for teaching coding to K-12 students. Millions of 6-14 year old students in the U.S. have an interest in learning how to mod ("modify") popular video games, but lack the necessary skillset: coding. Coding is a highly valuable STEM subject, but is not currently a core subject in U.S. schools. Because the U.S. is not producing enough skilled workers in computing fields, there will be 56,000 jobs that go unfilled by U.S. workers every year. This project aims to expose millions of students to coding in the next 5 years by making modding accessible to them. In order to teach millions of students at scale, this project will develop a complex automated tutoring system which intelligently guides students through their coding education, detects and helps students when they run into errors, and provides students with a near-endless supply of puzzles and educational content. This project plans to tackle ongoing problems in the field of computer science education. The automated tutoring system developed through this project will be a foundation for automated tutoring systems that teach other STEM subjects.
The main technical innovation of this project is a browser-based IDE for writing code and executing it within the runtime environment of video games. This inherently gamified coding environment opens new doors in computer science education. Around this coding environment, an automated tutoring system is being built. This project aims to tackle several problems in computer science education. These problems include: (1) a stealth assessment system that identifies when a student does not understand a coding concept and that guides the student towards understanding, (2) a novice-friendly error detection and reporting system that points students to the part of their code where the error originated, (3) an automated Stack Overflow-like resource for novice programmers that suggests possible solutions when the novice encounters an error, (4) a random puzzle generator that creates a near-endless supply of coding educational content for different skill levels, (5) tutorials and puzzles that gamify the transition from a visual programming language to a syntactically complex programming language, and (6) teacher tools and APIs that allow teachers to integrate the software into their classrooms. By solving these problems in computer science education, this project aims to make an effective coding education tool that scales.