PHY407H1
Computational Physics
Official description
This is an introduction to scientific computing in physics. Students will be introduced to computational techniques used in a range of physics research areas. By considering select physics topics, students will learn computational methods for function analysis, ODEs, PDEs, eigenvalue problems, nonlinear equations and Monte Carlo techniques. A physicist's "computational survival toolkit" will also be developed to introduce students to topics such as command line programming, bash scripting, debugging, solution visualization, computational efficiency and accuracy. The course is based on python and will involve working on a set of computational labs throughout the semester as well as a final project.
 Prerequisite
 PHY224H1/PHY254H1
 Corequisite
 Any third or fourth year course in Physics.
 Exclusion
 PHY307H1
 Recommended preparation
 n.a.
 Textbook

['"Computational Physics" by Mark Newman']
 Breadth requirement
 BR=5
 Distribution requirement
 DR=SCI
Additional information
This is an introduction to scientific computing in physics. Students will be introduced to computational techniques used in a range of physics research areas. By considering select physics topics, students will learn computational methods for function analysis, ODEs, PDEs, eigenvalue problems, nonlinear equations and Monte Carlo techniques. A physicist's "computational survival toolkit" will also be developed to introduce students to topics such as command line programming, bash scripting, debugging, solution visualization, computational efficiency and accuracy. The course is based on python and will involve working on a set of computational labs throughout the semester as well as a final project.
 course title
 PHY407H1
 session
 fall
 year of study
 4th year
 time and location

12L: LEC0101 and LEC9101: M12, On line Asynchronous 36P: W9  12, On line Asynchronous Flipped Classroom model: Lectures will be prerecorded, and delivered online asynchronously, learning is selfpaced and not reliant on a meeting schedule. I will turn the lecture hour into a tutorial hour. Tutorials are delivered online per the meeting schedule. Students need a Python 3 distribution (as every year) and will need Zoom, Microsoft Teams or Skype Enterprise (haven't decided yet).
 instructor