
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
