Should Computer Science Majors Learn College Physics
China's computer science education is outdated, often including irrelevant subjects like physics, due to historical and systemic inertia.
This issue can be seen as a classic case of historical inertia combined with outdated reforms in the education system. This encapsulates the core of the problem.
Frankly, I find it difficult to tolerate the myriad justifications people offer to defend this situation. It is merely a residual consequence of the glacial pace of educational reform, yet some have framed it as "developing logical thinking" or claimed that "university isn't a training camp." Such arguments are utterly untenable.
In reality, even if computer science majors studied more mathematics instead of physics, it would be far more beneficial.
Computer science fundamentally diverges from traditional engineering disciplines such as civil engineering, mechanical engineering, electronic engineering, and chemical engineering. These traditional fields are rooted in physics, whereas computer science is deeply grounded in mathematics.
Traditional engineering disciplines primarily engage with the physical world. Their foundations lie in natural sciences, particularly physics, and they boast histories spanning decades, if not centuries. The primary focus of these disciplines is the transformation of the physical realm.
Consider this: as a mechanical engineering major, it is inconceivable to bypass the study of mechanics—how else would you design gears? If you are in precision instrumentation, knowledge of optics and electronics is indispensable for designing sensors. For chemical engineering students, quantum mechanics and thermodynamics are fundamental to understanding molecular interactions. Similarly, hydraulic engineering requires mastery of fluid mechanics.
Each traditional engineering discipline is built upon natural sciences like physics, dedicated to leveraging these principles to reshape the material world.
In stark contrast, computer science follows an entirely distinct trajectory. It is a "formal science," entirely man-made, with most of its concepts abstracted directly from mathematics.
Modern computer science theory originated with Alan Turing, whose work on computability theory employed pure mathematical constructs to define the concept of a "computer." These theoretical foundations were later implemented to create various types of computing systems.
Computer science, at its core, studies theoretical frameworks. While engineers apply these frameworks to design chips and systems, the discipline itself focuses on abstract structures and models rather than the tangible, physical world.
Formal sciences—such as mathematics, logic, and computer science—emphasize abstract, logical constructs instead of physical phenomena. They rely on deductive reasoning and logical proofs rather than empirical observation, which aligns computer science closely with mathematics.
For instance, many foundational concepts in computer science, such as Turing machines, operating system models, and the Von Neumann architecture, are mathematical abstractions. These constructs do not exist in nature; they are products of human ingenuity.
Even programming concepts such as functions, pointers, parameters, and operators—or areas like complexity analysis—are rooted in mathematical models. Algorithm design exemplifies this reliance on mathematical abstraction.
So, what justification exists for requiring computer science majors to study physics? Will they be calculating the forces involved in moving servers? Or perhaps determining the melting point of silicon to fabricate CPUs?
Let us be candid: computer science is fundamentally a repository of mathematical abstractions. This alignment with mathematics is entirely unsurprising, given the discipline's origins.
And for those who argue, "We study electronics to design circuits for CPUs," it is crucial to clarify: digital circuits and logic gates are mathematical abstractions as well. The physical implementation of chips falls under the domain of electronic engineering, not computer science. The role of computer science is to provide the models, theories, and blueprints, while other fields handle physical realization.
Furthermore, most computer science graduates today pursue careers in software development. It is unrealistic to assume they are designing CPUs.
In China, computer science was only formalized as a university discipline in the 1980s, following the reinstatement of the national college entrance exams. However, the theoretical foundations of computer science had already been established during World War II. By the time China integrated it into its educational system, we were already lagging behind Western nations by no less than half a century.
During that era, computers were a rarity in China, and expertise in teaching the subject was even scarcer. Lacking domestic models to emulate, we resorted to copying. Since physics was a staple of other STEM fields, it was incorporated into computer science curricula as well.
And yet, we remain entrenched in these antiquated practices. Despite nearly four decades, our approach to computer science education continues to stagnate. For example, certain universities still teach C++ using VC6, a tool that is unequivocally obsolete by contemporary standards.
In conclusion, the shortcomings of computer science education in China can be attributed to historical inertia and outdated reforms. Unlike traditional engineering disciplines rooted in physics, computer science is grounded in mathematics and focuses on abstract models. The inclusion of subjects like physics in the curriculum reflects a failure to adapt to the unique nature and practical demands of this field.