University introductory programming courses are part of the curricula of many engineering and sciences programs. These courses provide a set of programming exercises for students. However, for many novice students, it is very difficult to learn. In particular, these students often get stuck and frustrated when attempting to solve programming exercises. One way to assist beginning programmers to overcome difficulties in learning to program is to use intelligent tutoring systems (itss) for programming, which can provide students with personalized hints of students solving process in programming exercises. Many itss for programming that offer programming exercises provide automated feedback on student programs. In spite of the proven effectiveness of itss for, not many itss for programming are utilized in real classrooms. Because of interoperability issues, itss for programming are difficult to build in current educational platforms without additional work. This disadvantage is significant because itss for programming require considerable time and resources for their implementation. In this research work, the paper presents both a soft and technical interoperability of programming exercises. With regard to the soft interoperability of programming exercises, the paper discusses on a classification of programming exercises. With regard to the technical interoperability of programming exercises, this paper presents a framework that addresses the content and communication interoperability issues typically found in the domain of programming. 2019 Ijstr.