Related papers: Learn Physics by Programming in Haskell
This article introduces Newton, a specification language for notating the analytic form, units of measure, and sensor signal properties for physical-object-specific invariants and general physical laws. We designed Newton to provide a means…
The textbook by Doets and van Eijck puts the Haskell programming language systematically to work for presenting a major piece of logic and mathematics. The reader is taken through chapters on basic logic, proof recipes, sets and lists,…
Logic programming languages present clear advantages in terms of declarativeness and conciseness. However, the ideas of logic programming have been met with resistance in other programming communities, and have not generally been adopted by…
Computation is a central aspect of modern science and engineering work, and yet, computational instruction has yet to fully pervade university STEM curricula. In physics, we have begun to integrate computation into our courses in a variety…
Aspects of quantum physics are no longer confined to the upper years of a physics degree. Concepts like superposition or entanglement that were once reserved for second- or third-year undergraduate courses now deserve attention earlier in a…
Education is a goal-oriented field. But if we want to treat education scientifically so we can accumulate, evaluate, and refine what we learn, then we must develop a theoretical framework that is strongly rooted in objective observations…
Experimental data bases are typically very large and high dimensional. To learn from them requires to recognize important features (a pattern), often present at scales different to that of the recorded data. Following the experience…
This book is devoted to an informal discussion of patterns constructed for treating physical problems. Such patterns, when sufficiently formalized, are usually referred as "models", and tents to be applied not only in physics, but conquer…
In order for language models to aid physics research, they must first encode representations of mathematical and natural language discourse which lead to coherent explanations, with correct ordering and relevance of statements. We present a…
Students introduced to programming using a design-based approach and a functional programming language become familiar with first-class functions. They rarely, however, connect first-class functions to objects and object-oriented program…
A core level of basic information for physics is identified, based on an analysis of the characteristics of the parameters space, time, mass and charge. At this level, it is found that certain symmetries operate, which can be used to…
The definition of a reference frame in General Relativity is achieved through the construction of a congruence of time-like world-lines. In this framework, splitting techniques enable us to express physical phenomena in analogy with Special…
The job of a physicist is to describe Nature. General features, hypotheses and theories help to describe physics phenomena at a more abstract, fundamental level, and are sometimes tacitly assigned some sort of real existence; doing so…
In upper-division undergraduate physics courses, it is desirable to give numerical problem-solving exercises integrated naturally into weekly problem sets. I explain a method for doing this that makes use of the built-in class structure of…
This paper shows how to write Maxwell's Equations in Hamilton's Quaternions. The fact that the quaternion product is non-commuting leads to distinct left and right derivatives which must both be included in the theory. A new field component…
Particle physics is a branch of science aiming at discovering the fundamental laws of matter and forces. Graph neural networks are trainable functions which operate on graphs---sets of elements and their pairwise relations---and are a…
Functional languages have provided major benefits to the verification community. Although features such as purity, a strong type system, and computational abstractions can help guide programmers away from costly errors, these can present…
A functional hardware description language enables students to gain a working understanding of computer systems, and to see how the levels of abstraction fit together. By simulating circuits, digital design becomes a living topic, like…
To effectively prepare engineering students requires of formation of a system of fundamental physical knowledge together with the ability to apply them in specific productive activities, both on fundamental and on the profiled-oriented…
Mathematics is the language of science. Fluent and productive use of mathematics requires one to understand the meaning embodied in mathematical symbols, operators, syntax, etc., which can be a difficult task. For instance, in algebraic…