# 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, non-linear 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
Co-requisite
Any third or fourth year course in Physics.
Exclusion
PHY307H1
Recommended preparation
n.a.
Textbook
                            ['"Computational Physics" by Mark Newman']

BR=5
Distribution requirement
DR=SCI

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, non-linear 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 pre-recorded, and delivered online asynchronously, learning is self-paced 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

#### Delivery Methods

In Person

A course is considered In Person if it requires attendance at a specific location and time for some or all course activities.*.

* Subject to adjustments imposed by public health requirements for physical distancing.

Online - Synchronous
A course is considered Online Synchronous if online attendance is expected at a specific time for some or all course activities, and attendance at a specific location is not expected for any activities or exams.
Asynchronous
A course is considered Asynchronous if it has no requirement for attendance at a specific time or location for any activities or exams.