Physics 410: Computational Physics (Fall 2020)


COURSE HOME PAGE (this page): http://laplace.physics.ubc.ca/410/

Instructor: Matthew (Matt) W. Choptuik
Web page: http://laplace.physics.ubc.ca/People/matt/
Home Phone: 604-569-3374
Cell: 778-323-4887
Virtual office hours: By appointment via e-mail
E-mail: choptuik@phas.ubc.ca
TAs: Michael Kinach (mikin@phas.ubc.ca)
         Daniel Wong (danielk@phas.ubc.ca)

SCHEDULE:
  • LECTURES: MWF 11:00-12:00 -- (See Canvas for Zoom Information)
  • TUTORIALS (COMPUTER LABS): 
    • T1A: FRIDAY 12:00-13:00 -- (See Canvas for Zoom Information)
    • T1B: FRIDAY 10:00-11:00 -- (See Canvas for Zoom Information)

  • This web site is the primary source of information for the course.  Canvas will be used for:
    • Course details that need to remain secure (e.g. Zoom information)
    • Recorded lectures (tutorial sessions will not be recorded)
    • Announcements
    • Homework / Project submission
    • Grades
Prerequisites:
  • One of PHYS 312, MATH 257, MATH 316 and one of PHYS 210, EOSC 211, CPSC 110, CPSC 111, APSC 160

COURSE LINKS

Course Summary

This course will provide a survey of techniques from numerical analysis and other areas of computational science with applications to problems in physics.

A list of topics is as follows (in roughly the order we will be covering them):
  • Overview/review of MATLAB
  • Floating point arithmetic and associated error analysis
  • Polynomial interpolation
  • Solution of nonlinear equations (root finding)
  • Finite difference approximation
  • Ordinary differential equations
  • Partial differential equations
  • Monte Carlo methods

Application areas will include: classical dynamics, quantum mechanics and statistical mechanics.

Text, Reference Material, Notes & Help

There is no required or optional text book for the course, but see HERE for a list of references, many of which provide coverage for much of what we will be discussing.  Note that full-text PDF versions of most of these references are available from the UBC library.

The PDFs for Powerpoint or equivalent notes will be posted HERE.  However, it is up to you to take notes when I present them on my tablet via Zoom.  I intend to record all lectures (but, again, not tutorials) and post them to Canvas.

Getting help

You can use the course Piazza to post questions, particularly those that are likely to also be of interest to one or more of your classmates.  Although I will endeavour to answer posts promptly, I encourage all students to post replies as they feel they are able.  However, please do not ask, or supply answers to, questions of the form "How do I do X in homework/project Y?".  That type of query should be minimized as much as possible, and directed to me via e-mail. Note that this does not mean that general discussions about the homework/projects are precluded from Piazza.

You should feel free to e-mail me with questions that you feel should be kept private or, in general, that you are not comfortable in posting on Piazza.

Course Computer Language

The "official" computer language for this course is MATLAB.

MATLAB provides a powerful and convenient programming environment that is tailor-made for numerical calculations of the sort we will be considering.  It is an interpreted language, which makes it well suited for the type of rapid prototyping and interactive experimentation that you will be encouraged to do in the tutorials and homework assignments.

MATLAB is available for you to install on your own computers.  See HERE for details.

My previous experience with this course suggests that it is not a hardship to require that students use MATLAB for their coursework, so this is the official course policy.

Grades: Homework, Projects, Term Paper, Late Work Policy, Submission of Work, Group Work Policy

Your work in this course will consist of two homework assignments, two projects (which can be viewed as advanced homeworks) and a term paper. These will have the following weighting
  • Homework Assignments and Projects: 80%
    • Homework 1: 20 points
    • Project 1: 50 points
    • Homework 2: 30 points
    • Project 2: 50 points
    • Total homework/project: 150 points
  • Term Paper: 20%

You will generally have one week to complete homework assignments and two weeks to finish projects. 

Late work will generally not be accepted unless there are extenuating circumstances.  If you find yourself in the position of needing an extension you must request one from me via an e-mail message as soon as possible and definitely before the due date of the assignment/project.

Each homework/project submission must contain, as a PDF file, a writeup detailing how you completed the assignment, and what the results and conclusions were. This PDF file must be accompanied by the source code files that were used to complete the work.  When preparing and submitting a homework/project, you must:

  1. Place all of the files in your assignment in a single folder.
  2. Zip that folder and then submit the zipped folder through Canvas.

Please use the following naming conventions for your zipped folders.

   homework-<n>.zip
   project-<n>.zip

where <n> is the number of the homework or project.  For example

   homework-2.zip
   project-1.zip

Note that when creating the zip'ed folder you do not need to specify the .zip extension---that will be done automatically. Also, do not use the submission comment feature in Canvas.  If you have information that you wish conveyed to the TAs, include it in your writeup.

IMPORTANT!!

You are welcome to discuss your homework assignments and projects with your fellow students.  However, the work that you submit, including any and all source code, must be your own.

TERM PAPER

Your term paper is to be based on a topic in computational physics, or broadly related area, of your own choosing.  For example, you might report on a sub-branch of computational physics, or on an algorithm that has had a major impact in some field of computational science.  If you are unsure whether what you have in mind is appropriate, simply check with me.  Your paper should be approximately 1500-2000 words in length (not including references), and may contain figures from other sources, provided that proper attribution of these is made. 

Note that your term paper is not to be viewed as another programming exercise analogous to the homework and project assignments. There is no need for any coding for your papers, and, indeed, coding is explicitly discouraged.

Term papers are due Friday, December 11.

Statement Regarding Online Learning for International Students

During this pandemic, the shift to online learning has greatly altered teaching and studying at UBC, including changes to health and safety considerations. Keep in mind that some UBC courses might cover topics that are censored or considered illegal by non-Canadian governments. This may include, but is not limited to, human rights, representative government, defamation, obscenity, gender or sexuality, and historical or current geopolitical controversies. If you are a student living abroad, you will be subject to the laws of your local jurisdiction, and your local authorities might limit your access to course material or take punitive action against you. UBC is strongly committed to academic freedom, but has no control over foreign authorities (please visit http://www.calendar.ubc.ca/vancouver/index.cfm?tree=3,33,86,0 for an articulation of the values of the University conveyed in the Senate Statement on Academic Freedom). Thus, we recognize that students will have legitimate reason to exercise caution in studying certain subjects. If you have concerns regarding your personal situation, consider postponing taking a course with manifest risks, until you are back on campus or reach out to your academic advisor to find substitutecourses. For further information and support, please visit: http://academic.ubc.ca/support-resources/freedom-expression

Selected Dates from the Academic Calendar

  • Monday September 21: Last day for withdrawal from this course without withdrawal standing of "W" recorded on your academic record.
  • Monday, October 12: Thanksgiving Day, University closed.
  • Friday, October 30: Last date for withdrawal from this course with withdrawal standing of "W" recorded on your academic record.
  • Wednesday, November 11: Remembrance Day. University closed. 
  • Thursday, December 3: Last day of classes.
  • Monday, December 7: Examinations begin.
  • Tuesday, December 22: Examinations end.

See the UBC 2020/2021 Calendar and Academic Year [all year] pages for more information