Learning Beginning Programming with Cloud-Based Cloze Programming Practices - Yu-Jen Lo; Chiung-Chen Lin; Hou, L.; Jane-Dong Wu; Yu-Chi Feng; Lee, G. C. (2013 Learning and Teaching in Computing and Engineering (LaTiCE), 2013)
There is a trend in Taiwan to offer computer programming as an elective course for all high school students. Although students seem to be quite enthusiastic about learning to program at the beginning of the course, students' enthusiasm quickly dissipated when the practice program becomes too complex for them to bear. To help students learn better, we have implemented a cloud-based cloze programming practicing system. The system allows teacher to upload a program and then block out part of the program that is intended for students to practice. The blocked out code can be as simple as a variable declaration or as complex as a complete function. In the extreme case, the entire program could be blocked out, meaning students have to write the complete program. Therefore, teachers can have students practice a particular aspect of programming by supplying multiple programs and block out the same part of the program for students to fill-in. Students can submit their completed program online and the system will automatically compile and execute the program with pre-assigned input data. Any compiler time error, execution time error, or incorrect output would be reported back to the students for debugging. The on-going teaching experiment has the teachers teach programming as usual, but prepare cloze programming tasks for students to practice. Many such cloze programming exercises of various difficulties have also been developed.