Welcome to the University of Toronto Computational Physics website! We have created this site to help you get started on using computers to help you learn and solve problems in physics. The material is primarily intended for lower-year students enrolled in physics major and specialist courses at the University of Toronto, but anyone should feel free to browse and learn.
The purpose of this website is to help you, a "typical" U of T Physics student, start doing physics on a computer with the Python programming language.
We'll assume that you don't have much background, but if you do you'll be able to fly through some of the material.
This website won't teach how to become an expert programmer. High-quality programming skills are valuable and will make your life easier if you get into big projects, but here we are aiming to get you comfortable with using computers in physics:
- For challenging math calculations.
- To model and analyze physical systems.
- To work with experimental and field data.
We want these skills to become part of the toolkit you use every day to do work in physics. In our tutorial materials, and in most of our courses, we emphasizes short programs that teach you a lot about physics.
Here are some important parts of this website:
- Installing Python shows you how to set up Python on your computer at home or your laptop.
- We have a four part tutorial to get you started.
- Tutorial Part 1: intro Python and programming concepts like scripts, variables, and integrated development environments.
- Tutorial Part 2: functions and modules, with a focus on the numpy module.
- Tutorial Part 3: logicals and statements, if blocks and while loops
- Tutorial Part 4: lists, numpy arrays, and for loops.
- Physics with VPython: intro to the visual module of Python, for doing 3d simulations of physical systems. Lots of fun!
- Physics with Pylab: intro to plotting and numerical analysis with Python.
- Data Analysis with Pylab and Scipy: Python packages for data analysis and visualization.
- Python Reference: Summary of commands and concepts for doing your Python related coursework.
- Fun with Strings: How to manipulate strings, and provides insights into how Python works under the hood.
- Numerical Integration: Important concepts in solving ordinary differential equations on the computer.
- Functions and Modules: How to use and create code packages.
- Questions and Solutions: for practice with concepts covered in the website.
Suggested Study Path for 1st and 2nd Year Physics
- 1st year physics (PHY151/152): Tutorial Part 1, Part of Tutorial Part 2, Part of Tutorial Part 3, Part of Tutorial Part 4, Physics with VPython
- 2nd year lecture courses (PHY254): Tutorial Part 1, Tutorial Part 2, Tutorial Part 3, Physics with VPython, Tutorial Part 4, Physics with Pylab
- 2nd year practicals (PHY224): Tutorial Part 1, Tutorial Part 2, Tutorial Part 3, Tutorial Part 4, Physics with Pylab, Data Analysis with Pylab and Scipy, Numerical Integration, Functions and Modules, Fun with Strings
The computation.physics.utoronto.ca site content is Copyright 2009-2016 Department of Physics, University of Toronto.