The Impact of Different Teaching Approaches and Languages on Student Learning of Introductory Programming Concepts
Learning to program, especially in the object oriented paradigm, is a difficult undertaking for many students. As a result, computing educators have tried a variety of instructional methods to assist beginning programmers. These include developing approaches geared specifically toward novices and experimenting with different introductory programming languages. However, determining the effectiveness of these interventions poses a problem. The research presented here developed an instrument to assess student learning of fundamental and object oriented programming concepts, then used that instrument to investigate the impact of different teaching approaches and languages on university students' ability to learn those concepts. Extensive data analysis showed that the instrument performed well overall. Reliability of the assessment tool was statistically satisfactory and content validity was supported by intrinsic characteristics, question response analysis, and expert review. Preliminary support for construct validity was provided through exploratory factor analysis. Three components that at least partly represented the construct "understanding of fundamental programming concepts" were identified: methods and functions, mathematical and logical expressions, and control structures. Analysis revealed significant differences in student performance based on instructional language and approach. The analyses showed differences on the overall score and questions involving assignment, mathematical and logical expressions, and code completion. Instructional language and approach did not appear to affect student performance on questions addressing object oriented concepts.
ACM Trans. Comput. Educ.