Teaching computer programming to science majors by modelling

Yu Tzu Lin*, Martin K.C. Yeh, Hsin Ling Hsieh

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

4 Citations (Scopus)


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.

Original languageEnglish
Pages (from-to)130-144
Number of pages15
JournalComputer Applications in Engineering Education
Issue number1
Publication statusPublished - 2021 Jan


  • STEM education
  • computational thinking
  • programming instruction
  • science education
  • scientific computation

ASJC Scopus subject areas

  • General Computer Science
  • Education
  • General Engineering


Dive into the research topics of 'Teaching computer programming to science majors by modelling'. Together they form a unique fingerprint.

Cite this