C programming has been the fundamental subject to a lot of university students for studying programming languages, algorithms, and computer architecture. Currently, we are developing C programming learning assistant s...
详细信息
ISBN:
(纸本)9781665419338
C programming has been the fundamental subject to a lot of university students for studying programming languages, algorithms, and computer architecture. Currently, we are developing C programming learning assistant system (CPLAS) for its self-study by extending our works of JPLAS for Java programming. JPLAS provides the code completion problem (CCP) to offer practical programming exercises. A CCP instance asks the completion of the given source code by filling in the missing elements. The correctness of the answer is marked through string matching by comparing each answer statement with the correct one. In this paper, we present the CCP by extending our works of the element fill-in-blank problem (EFP) in CPLAS. For evaluations, we generated 10 CCP instances and assigned them to 54 undergraduate students in Myanmar and Japan. Their solution results show that the CCP instances are generally suitable for C programming study by novice students, but those on pointer need improvements for better solutions.
Learning to program can be difficult and time consuming. Learners can spend hours trying to figure out why their program doesn't compile or run correctly. Many countries, including the United States, want to train...
详细信息
Learning to program can be difficult and time consuming. Learners can spend hours trying to figure out why their program doesn't compile or run correctly. Many countries, including the United States, want to train thousands of secondary teachers to teach programming. However, busy in-service teachers do not have hours to waste on compiler errors or debugging. They need a more efficient way to learn. One way to reduce learning time is to use a completion task. Parsons problems are a type of code completion problem in which the learner must place blocks of correct, but mixed up, code in the correct order. Parsons problems can also have distractor blocks, which are not needed in a correct solution. Distractor blocks include common syntax errors like a missing colon on a for loop or semantic errors like the wrong condition on a loop. In this dissertation, I conducted three studies to compare the efficiency and effectiveness of solving Parsons problems, fixing code, and writing code. I also tested two forms of adaptation. For the second study, I added intra-problem adaptation, which dynamically makes the current problem easier. For the last study, I added inter-problem adaptation which makes the next problem easier or harder depending on the learner's performance. The studies provided evidence that students can complete Parsons problems significantly faster than fixing or writing code while achieving the same learning gains from pretest to posttest. The studies also provided evidence that adaptation helped more learners successfully solve Parsons problems. These studies were the first to empirically test the efficiency and effectiveness of solving Parsons problems versus fixing and writing code. They were also the first to explore the impact of both intra-problem and inter-problem adaptive Parsons problems. Finding a more efficient and just as effective form of practice could reduce the frustration that many novices feel when learning programming and help prepare thousan
暂无评论