This study reports the design and implementation of a modelling-based programming instruction for science majors and its effectiveness on programming and science learning. A modelling approach was proposed to provide guidance to students in implementing solutions for scientific problems in computer programming. This modelling approach includes five stages: (1) phenomenon description, (2) data modelling, (3) algorithmic modelling, (4) coding, and (5) verification and debugging. Authentic scenarios for science learning were adopted in teaching materials and problems to inspire students to learn both the scientific and programming aspects of the underneath phenomena. An empirical experiment to examine the effectiveness of the proposed instruction was conducted in a general education course at a university, and the results showed that students who engaged more in the modelling approach performed better in both the program implementation test and their final projects. In addition, students' feedback agreed with what we had expected the modelling approach would benefit students: they could connect abstract, real-world phenomena to programming variables and logic by visualizing the phenomena in simulation and animation. Data modelling and algorithmic modelling also helped them analyze the variables in the problem space and propose a solution before coding. Because the proposed instruction provided opportunities to experience the capability of programming in solving scientific problems, high-programming-performance students also showed a greater interest in exploring science after the class.
All Science Journal Classification (ASJC) codes
- Computer Science(all)