Functional Transformation of Introductory Programming Courses for Non-Computer Majors: From C/C++ to Python
DOI:
https://doi.org/10.54691/8f4kf521Keywords:
Introductory programming course; Python teaching; non-computer majors; reconstruction of teaching content; transformation of teaching methods.Abstract
With the widespread application of Python in data processing and machine learning, an increasing number of non-computer majors are shifting their introductory programming courses from C/C++ to Python. This transition is not merely a change of programming language, but a systematic restructuring of course objectives, teaching content, and instructional approaches. Based on teaching practice and from the perspective of instructors, this study analyzes the transformation of course function from training in program construction to the cultivation of computational tool application ability. It further examines how the course mainline shifts from program implementation mechanisms to data-processing-oriented tasks and application contexts, and how this shift leads to the reorganization of teaching content and the formation of a task-driven instructional model. In addition, the new requirements for teachers' knowledge structure and teaching competence under this transformation are discussed. The results show that the introductory programming course for non-computer majors is evolving from a discipline-oriented foundational course into a computational literacy course aimed at developing general-purpose computing ability. Its core focus is moving from language implementation mechanisms to data processing processes. This instructional reconstruction provides an implementable curriculum form and pedagogical pathway for the reform of introductory programming courses for non-computer majors.
Downloads
References
[1] Wing, J. M. (2006). Computational thinking. Communications of the ACM, 49(3), 33–35. https://doi.org/10.1145/1118178.1118215
[2] Guo, P. . (2014). Python is Now the Most Popular Introductory Teaching Language at Top U.S. Universities. Communications of the ACM, 57(10), 70–77. https://doi.org/10.1145/2632856
[3] Song, T., Huang, T., & Li, X. (2016). Python language: An ideal choice for teaching reform in programming courses. China University Teaching, (2), 42–47.
[4] DIBo & WANG Xiao-dan. (2014). Object-orientedprogrammingcourse teaching based on Python language. ComputerEngineering & Science, 36 (S1), 122-125.
[5] Finzer, W. (2013). The data science education dilemma. Technology Innovations in Statistics Education, 7(2). https://doi.org/10.5070/T572013891
[6] Shulman, L. S. (1986). Those who understand: Knowledge growth in teaching. Educational Researcher, 15(2), 4–14. https://doi.org/10.3102/0013189X01500200
Downloads
Published
Issue
Section
License
Copyright (c) 2026 Frontiers in Science and Engineering

This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.






