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


This study reports the design and implementation of 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: (a) phenomenon description, (b) data modelling, (c) algorithmic modelling, (d) coding and (e) verification and debugging. Authentic scenarios for science learning were adopted in teaching materials and problems to inspire students to learning both the scientific and programming aspects underneath the 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 projecbenefits of the modelling-based instructionts. 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 analyse the variables in problem space and propose a solution before coding. As 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 statusAccepted/In press - 2020


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

ASJC Scopus subject areas

  • Computer Science(all)
  • Education
  • Engineering(all)


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

Cite this