Premium
Teaching computer programming to science majors by modelling
Author(s) -
Lin YuTzu,
Yeh Martin K.C.,
Hsieh HsinLing
Publication year - 2021
Publication title -
computer applications in engineering education
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.478
H-Index - 29
eISSN - 1099-0542
pISSN - 1061-3773
DOI - 10.1002/cae.22247
Subject(s) - computer science , debugging , animation , coding (social sciences) , class (philosophy) , mathematics education , computer programming , software engineering , programming language , artificial intelligence , statistics , computer graphics (images) , mathematics
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.