Computational physics is taking its place alongside the traditional disciplines of theoretical and experimental physics as a third paradigm for doing physics. It permits simulation, visualisation, and modelling of situations which are normally avoided either because of the difficulty of physical study or the complexity of the mathematical tools required. This approach requires the student to learn and understand many details of a procedural programming language such as Basic, Pascal, Fortran or C. Although learning procedural programming is very useful, it can detract from the desired goal of teaching computation. This course uses computer algebra, to help students explore a wide variety of phenomena taken from a range of disciplines. This gives them a deeper understanding of these topics and helps elucidate a large number of computational techniques, both numerical and symbolic.
Visualization is a key to the understanding of many of the topics presented.
Where possible, interconnections between methods from different disciplines is highlighted. The students are required to do visualization and interpretation. The student solutions to the exam illustrates how the students do visualization, interpretation, and experimentation. The project uses our Department's third year computing laboratory. Students submit their solutions to each assignment in the form of annotated Mathematica Notebooks.