
ISABELLE TERRY

Programming for Physicists
Today, programming is an essential skill for physics students and is a natural progression on the path to becoming a physicist. At the University of St Andrews, physics students are expected to use programming as an enhancement to their physical and mathematical knowledge, using the specialities of various programming languages. This web-page is a collection of online resources to help in learning the programming languages used as part of the St Andrews Physics Curriculum, leading to eventual mastery.
Python
A very good and detailed Python textbook, suitable for beginner programmers and also gives detailed chapters and examples on advanced Python. Has a Coursera course by the University of Michigan that follows along with the curriculum, with video lectures which can be audited for free.
​
http://do1.dr-chuck.com/pythonlearn/EN_us/pythonlearn.pdf
https://www.coursera.org/specializations/python?
​
A Python textbook more suited to beginners, all beginner knowledge and has a chapter on Web Pages.
​
http://anh.cs.luc.edu/python/hands-on/3.1/Hands-onPythonTutorial.pdf
​
Titled “Python for Absolute Beginners” it goes over all beginner aspects of Python.
​
http://index-of.es/Python/Python%203%20for%20Absolute%20Beginners.pdf
​
A big textbook covering background of how Python works and the essentials of the Python language.
​
https://cfm.ehu.es/ricardo/docs/python/Learning_Python.pdf
​
Another big Python textbook written by a computer scientist, where the first half jumps into the basics of Python and the second half goes into advanced Python techniques.
​
https://www.davekuhlman.org/python_book_01.pdf
​
Google’s Python Class includes written materials, lecture videos, and code exercises aimed to introduce students to Python language.
​
https://developers.google.com/edu/python/?hl=en
​
Online Web-pages that gives tutorials on the basic essentials of Python.
​
https://pymbook.readthedocs.io/en/latest/
​
​
Official Python.org online tutorials on the programming language.
​
https://www.python.org/about/gettingstarted/
​
​
Online help pages for Python concepts that read like a conversation, detailed explanations.
​
https://www.afterhoursprogramming.com/tutorial/python/
​
http://www.alan-g.me.uk/l2p/index.htm
​
Websites that offer practice problems on Python Programming Techniques.
​
https://www.javatpoint.com/python-programs
​
https://www.tutorialgateway.org/python-programming-examples/
​
https://www.sanfoundry.com/python-problems-solutions/
​
https://wiki.python.org/moin/SimplePrograms
​
Mathematica
If new to Wolfram|Alpha and Mathematica, would suggest starting here on the Wolfram|Alpha website with a tour of how the language works and what you can do and create with Mathematica.
​
https://www.wolframalpha.com/tour/
​
Online Video Series by Wolfram|Alpha that explains Mathematica and its basic functions.
​
https://www.wolfram.com/broadcast/screencasts/mathematica/online/
​
The Mathematica Cookbook is a textbook that introduces you to how Mathematica works and some basic tasks you can create with Mathematica.
​
https://math.bme.hu/~jtoth/Mma/Mathematica%20Cookbook.pdf
​
A YouTube video tutorial that introduces the basics of Mathematica with examples, good for beginner programmers as goes over if statements, arrays, etc in Mathematica.
​
https://www.youtube.com/watch?v=Zp1EV7ytSnA
​
An online page that lists many tutorials for Mathematica in many mediums such as book and videos.
​
​
Short Introductory Seminar Notes on Mathematica and its simple uses, good read for building a foundation of Mathematica to then expand on.
​
http://www2.eng.ox.ac.uk/~labejp/Seminar/Mathematica/MathematicaSeminarNotes.pdf
​