[IEEE 2013 Learning and Teaching in Computing and Enginering (LaTiCE) - Macau (2013.3.21-2013.3.24)] 2013 Learning and Teaching in Computing and Engineering - Learning Beginning Programming with Cloud-Based Cloze Programming Practices

Download [IEEE 2013 Learning and Teaching in Computing and Enginering (LaTiCE) - Macau (2013.3.21-2013.3.24)] 2013 Learning and Teaching in Computing and Engineering - Learning Beginning Programming with Cloud-Based Cloze Programming Practices

Post on 09-Feb-2017

217 views

Category:

Documents

4 download

TRANSCRIPT

Learning Beginning Programming with Cloud-based Cloze Programming Practices Yu-Jen Lo, Chiung-Chen Lin, Lily Hou, Jane-Dong Wu Computer Curriculum Transformation Taskforce Taipei Municipal Nei-Hu High School Taipei, Taiwan Email: lyj@nhsh.tp.edu.tw Yu-Chi Feng, Greg C. Lee Dept. of Computer Science & Information Engineering National Taiwan Normal University Taipei, Taiwan Email: leeg@csie.ntnu.edu.tw Abstract 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. Keywords: Cloze-based Programming Practices, Cloud-based Programming Practicing System I. INTRODUCTION Computer programming is a fundamental skill for Computer Science majors. Thus, many high schools have offered introductory programming course so students can have a head start. However, it has been well documented that learning to program is not an easy task. From learning about the syntax of a programming language, programming structures and algorithms, to constructing problem solving strategies and writing complete program, students faces very high cognitive load when learning to program [1]. And if the cognitive load is too excessive, then the learning can be inhibited [2]. Thus finding a methodology to reduce this cognitive overload can enable students to become more better and more efficient programmer [1]. In 2001, Garner [3] developed a cloze-based program code restructuring tool (CORT) to help novice programmers reduce their cognitive load. It was found that not only the cognitive load was reduced, but students were more focused on solving the programming task. In the follow-up study [4], it was found that students were also more motivated when utilizing CORT to learn about programming. The above two experiments yielded promising results for reducing student's cognitive load when learning to program. The research reported in this poster build on the above results and expanded the use of cloze programming practices over the entire semester of the introductory programming course. In this research, we have developed 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 entire 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, effectively reducing students cognitive load in completing the program. For example, to have students repetitively practice writing the conditional statement for the for-loop, teachers only need to supply programs containing for-loops and block-out the conditional parts and then ask students to fill-in the missing conditional statements, while students only need to concentrate on writing the conditional statement that controls the loop. In addition, a sample program can be used over and over again. Each time, asking students to complete a gradually larger chunk of the program. 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 poster will encompass the research work as outlined below as well as a demonstration of the working system. II. CLOUD-BASED CLOZE PROGRAMMING SYSTEM Figure 1 depicts the system architecture of the cloud-based cloze programming practice system. The Creator module allow teacher to create a complete program and then create cloze practice tasks by omitting part of the program that is to be practiced. The practice tasks created by different teachers are shared through the Teaching Resource Pool. When practicing, students complete the program and submit 2013 Learning and Teaching in Computing and Engineering978-0-7695-4960-6/13 $26.00 2013 IEEEDOI 10.1109/LaTiCE.2013.182352013 Learning and Teaching in Computing and Engineering978-0-7695-4960-6/13 $26.00 2013 IEEEDOI 10.1109/LaTiCE.2013.18235to the Grader which checks for correctness.snapshot of a cloze practice task. For each given the task description as well as comments to help them complete the programFigure 1. Cloud-based cloze programming practice s Figure 2. Snapshot of a cloze programming p III. TEACHING RESOURCEFor this research, average of 5 cloze pradesigned for each week of classes. By semester, we expect to have over 70 practicedifficulties. IV. EXPERIMENTAL SETUA. Subjects Two sophomore level classes partiexperiment. A total of 60 students, 30 bparticipated. The programming course is betwo senior teachers, one teacher for each two teachers are involved, they collaboratecloze practice exercises. B. Background The students have no prior programmFor many students, this is their first foComputing. The two teachers have taught for many years, so their programming teachabundance. However, this is the firstcollaborating in their teaching and are programming system for the first time. Figure 2 shows task, students are the in-program m. system architecture. ractice task. ES actice tasks were the end of the e tasks of various UP icipated in this oys and 30 girls eing conducted by class. Although e in creating the ming background. formal course in the same course hing experience is t time they are using the cloze C. Procedure The course meets only once a class periods (100 minutes). Theconstruct first followed by cloze The teach-practice process can repeathe class. So students must finish ttime frame. At the end of each semsemester), student will undergo achinclude cloze programming questprogramming tasks. The teacherresults with students achievements V. PRELIMINARYAlthough this research is still onfacts have already been observed. 1. Students are more enthusiastpractices in the class. Compare classes in which they must devemany more students in the clozclass are able to start working onaway. 2. Since more students are capabprogram, we observe there areinteractions in class. Students sdiscuss the task at hand with thei3. Students are more attentive to thwilling to spend time to finish class. Achievement results from the ends in January, will be reported at tVI. CONCLUAt the conference, the teachingprogramming exercises will be on dwill demonstrate the workinprogramming system. Although coidea has not been implemented yfruitful discussion with the conferenREFERENCE [1] D.M. Kennedy and C. McNaught, DMedia, Australian Journal of Educatiopp. 1-22, 1997. [2] J. Sweller and P. Chandler, Evidence Cognition and Instruction, vol. 8, no. 4[3] S. Garner, A tool to support the use olearning of programming, in ProceeScience and Information Technology E343-353, Findland, 2003. [4] S. Garner, The cloze procedure and thProceedings of the Twelfth InternationGranada, Spain, July 11-14, 2005.week, each time for two e teacher would teach a programming practices. at many times throughout their practice in the given mester (we are in the first ievement test, which will tions as well as actual s will compare the end from the past years. Y FINDINGS n going, some interesting tic about programming to students in the regular elop a complete program, ze programming practice n the given problem right ble of completing the more student-to-student seem willing to help and ir peers he task at hand. Most are the tasks given in each current semester, which the conference. USION g material and the cloze display. Furthermore, we ng cloud-based cloze ollaborative programming yet, we look forward to nce attendees. ES Desig Elements for Interactive onal Technology, vol. 13, no. 1, for cognitive load theory, , pp. 351-362, 1991. f part-complete solutions in the edings of the 2003 Informing Education Joint Conference, pp. he learning of programming, in al Conference on Learning, 236236

Recommended

View more >