Physics 329: Introduction to Computational Physics - W (Fall 1998)

Schedule: Mon, Wed, Fri, 11:00 - 12:00 PM --- RLM 5.122 --- Unique # 56025

Instructor: Matthew (Matt) W. Choptuik
Office: RLM 9.208A --- Office Hours: Tue, Thu 10:00-11:30 and by appointment
Office Phone: 471-1541 --- Home Phone: 472-4665
WWW Home Page:

The Final Exam will be held in RLM 6.116, Fri. Dec 11, 2-5 pm.
See the News page for unofficial final grades.

  • Syllabus
  • News (last update Mon. Dec 14, 2:10pm)
  • Course Topics
  • Course Notes
  • Suggested References
  • Course Related Software
  • Course Resources
  • Homework Schedule, Problem Sets and Keys
  • Suggested Term Projects and Utilities (including source for 'libp329f.a' functions)
  • Student Pages
  • Computer Access Info: [Center for Relativity Unix], [Physics Dept. Unix], [PMCL]
  • Undergraduate Writing Center

    Course Overview

    This course will provide an introduction to techniques and applications in computational physics. Topics to be covered include: Unix fundamentals; symbolic & numeric computation and programming with Maple; scientific programming using Fortran 77; basic numerical analysis; simulation of lattice and particle systems; random numbers and Monte Carlo techniques. There will be a significant programming component in virtually all stages of the course: tutorials with the instructor will be provided for those of you requiring additional help with programming. See below for a concise syllabus and the Course Topics page for a more detailed description of course coverage.

    Text: Due to the significant diversity in topics to be covered, there is no required text for the course. For testing purposes, you will be responsible only for material covered in lectures and homework assignments. I will distribute some class notes when appropriate, but you will usually be responsible for taking notes in class. The optional text, Numerical Recipes (2nd edition), by Press et al is particularly recommended for those of you who anticipate doing further numerical work. Note, however, that the full text of the book is available on-line. Also note that there are distinct Fortran 77 and C versions of the book: choose the one which you feel will suit you best. See the Suggested References web page for texts and other references pertinent to the course, and the Course Resources web page for a collection of on-line reference/instructional material.

    Grades: Homework, Term Projects and Tests

    Your mark in this course will be determined on the basis of your performance on six homework assignments, a term project, and three one-hour tests, with the following weighting: Final marks will be subject to small adjustments based on overall class performance.

    Students registered for the course on a pass/fail basis will be assigned a grade according to the official university policy on this matter---i.e. an effective grade of D or higher will result in CR.


    There will be a total of three tests: two in-class and one in the final exam period: Your best 2 out of 3 test scores count equally towards your final grade. Note that attendance at the final exam is mandatory and although it is scheduled for 3 hours, it should take you no longer than 1 hour to complete. There will be no make-up tests under any circumstances. Each test will focus on material from the preceding third of the course. All tests will be closed-book.


    See the syllabus below for scheduled homework due dates. Homework will be assigned at least a week before it is due and late homework is subject to 5% devaluation per each full day it is late. As the course progresses, the Homework Schedule web page will contain information concerning current and past assignments. Each homework will contribute roughly equal weight to your final mark but I will discount your worst mark.

    Term Papers

    Either individually or in consultation with the instructor, each student must choose a topic for a term paper in some area of computational physics. A list of suggested topics will be posted by Friday, September 18 and a one-page outline of your selected project is due Wednesday, October 28 at the latest. All topics must be approved by the instructor. Even if the bulk of the project involves programming, the term paper per se must be prepared in the style of a technical paper or a scientific essay. You are free to submit preliminary drafts of your paper to the instructor for critique; such pre-assessment will not affect your final grade on the paper. You are encouraged to use LaTeX (or TeX) mathematical typesetting software to prepare your papers. Suggested paper length is 15-20 pages double spaced, including figures, graphs and source code listings. Note that the project need not involve programming: for example, a critical essay on the impact of computation on a particular sub-field of physics is a viable option. Term projects are due on December 4 (the last class day): late projects will be devalued 5% per full day late. Note that the services of the Undergraduate Writing Center are available for your use, should you feel your writing skills could use some improvement.

    Computer Access

    All students will be provided with accounts on the Physics Dept. public Unix systems located in the Graduate Computer Lab, RLM 3.118. You will be sharing the facility with a lot of graduate students, so getting an open seat in the Lab on demand, particularly during peak hours, may become difficult. You should promptly report serious difficulties in getting access to a machine to the instructor so that alternative arrangements can be made. You will be also be given remote access to Center for Relativity Unix machines, and you will be encouraged to use these machines for C and Fortran programming. To the extent possible, physical access to Relativity machines will also be provided. If you have a home computer and a modem, you are encouraged to contact the Physics Dept. Computer Group for information regarding access to campus systems via home machines. Finally, you will also be able to use the machines in the Physics Microcomputer Lab (PMCL) (RLM 7.306), to access the various Unix machines in the Graduate Computer Lab and Center for Relativity. It is your responsibility to get an IF (Individually Funded) Account, if you do not yet have one, so that you can use the machines in the PMCL. You can get an IF account on-line by clicking here. Contact the instructor if you encounter any problems.


    As mentioned above, individual or small-group tutorial sessions may be arranged at mutually agreeable times for those of you who require additional help, particularly with the programming aspects of the course. Although I will try to detect when supplementary instruction is required, please contact me (e-mail preferred) if and when you think you could use a session or two.

    Other Help

    You should also feel free to contact me via e-mail (preferred) or phone if you have quick questions, or if you are having difficulty getting something to work. Perhaps most importantly, you should strive to develop the ability to make effective use of the available documentation for the software you are using (on-line help, man pages, Web resources, etc.). On-line help tends to be extensive these days (particularly for systems such as Maple) and a little time invested in learning how to extract the information you are looking for usually pays off.


    Due Monday Wednesday Friday

    August 26
    August 28

    August 31
    September 2
    September 4
    September 9
    September 11
    H2 September 14
    September 16
    Scientific Programming
    September 18
    Scientific Programming

    September 21
    Scientific Programming
    September 23
    Scientific Programming
    September 25
    Scientific Programming
    September 28
    Scientific Programming
    September 30
    Scientific Programming
    October 2
    Test 1

    October 5
    Soln of Linear Systems
    October 7
    Soln of Linear Systems
    October 9
    Soln of Linear Systems

    October 12
    Finite Difference Methods
    October 14
    Finite Difference Methods
    October 16
    Finite Difference Methods
    H4 October 19
    Finite Difference Methods
    October 21
    Finite Difference Methods
    October 23
    Finite Difference Methods

    October 26
    Finite Difference Methods
    October 28
    Finite Difference Methods
    October 30
    Finite Difference Methods

    November 2
    Non-linear Equations
    November 4
    Non-linear Equations
    November 6
    Non-linear Equations
    H5 November 9
    Test 2
    November 11
    Non-linear Equations
    November 13
    Solution of ODEs

    November 16
    Solution of ODEs
    November 18
    Solution of ODEs
    November 20
    Solution of ODEs

    November 23
    Solution of ODEs
    November 25
    Solution of ODEs

    H6 November 30
    Monte Carlo Methods
    December 2
    Monte Carlo Methods
    December 4
    Course Evaluation

    Syllabus Notes

    Other Important Dates

    See the UT calendar for more information