National Science Foundation logo         Texas A&M Engineering logo
Intelligent Tutoring System for CNC Programming

G-code is the language used to control computer numerical control (CNC) machines. Although most CAD/CAM software can generate G-code based on a design and machine tools needed, the ability to understand G-code is valuable, especially when a machining job does not run smoothly. Intelligent tutoring systems (ITS) have been shown to be successful in helping students to learn programming. However, G-code is different from general purpose computer programming languages. CNC programming also requires that students master many hardware-related facts and concepts—such as cutting speed and feed rate, and tools for several types of drilling.

A Web-based ITS for CNC programming called CNC-Tutor was built. Two algorithms utilizing a data-driven approach were developed to generate proper hints and feedback during students’ problem-solving process. The approach is based on finding past submissions that are most like a student’s solution. The similarity is measured using a “behavior & machine state distance” metric. A third algorithm called CNC interpreter was developed to understand user’s CNC code and mark the error codes. The system was evaluated by 93 undergraduate students. Results suggest that the design is instructionally effective, and that students’ subjective impressions of the system were positive. It also appears that CNC Tutor‘s explanations and feedback are a good fit for active, visual learners. Future enhancements may include use of video and/or simulations.

 

For more information about how this system was developed and evaluated, please refer to the paper below.


Li, Q. and Hsieh, S., An Intelligent Tutoring System for Computer Numerical Control Programming, International Journal of Engineering Education, 35(1), January 2019, pp. 252-261,  

For security reasons, the tutor is currently available only via the TAMU intranet.

Return to Dr. Hsieh's Home Page  


The CNC Tutor was developed as part of a National Science Foundation project funded under Grant No. 1304843. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author and do not necessarily reflect the views of the National Science Foundation.

Last updated on November 25, 2019 by Sheng-Jen ("Tony") Hsieh