PHY102 - Physics Computations I

Maintained by Simon Billinge, Phil Duxbury
All course materials, worksheets and solutions will be posted here.


  • Prof Simon Billinge- Rm 4268BPS, 355-9200x2202,
  • Prof Phil Duxbury - Rm 4260BPS, 355-9200x2301,
  • Teaching assistants

  • Andy Jones (
  • Radu Cojocaru (
  • Worksheets

    All worksheets should be completed in class and handed to a TA. In the event that you cannot complete the worksheet in time, you must get it either to Prof. Billinge, Duxbury or Andy by 5pm on the "due" date posted below for it to be counted towards your grade. It should be printed or attached to an email.

    Worksheet 1, week of Jan 19th, due Jan 26th (pdf)
    Worksheet 2, week of Jan 26th, due Feb 2nd (pdf)
    Worksheet 3, week of Feb 2nd, due Feb 9th (pdf)
    Worksheet 4, week of Feb 9th due Feb 16th (pdf)
    Worksheet 5, week of Feb 16th, due Feb 23rd (pdf)
    Worksheet 6, week of Feb 23rd, due Mar 1st (pdf)
    Worksheet 7, week of March 1st,  due  Mar 15th (pdf)
    March 8th - 12th Spring Break!
    Worksheet 8, week of March 15th, due Mar 22nd (pdf)
    Worksheet 9, week of  Mar 22nd, due March 29th (pdf)
    Worksheet 10, week of Mar 29th, due April 5th (pdf)
    Worksheet 11, week of April 5th, due April 12th (pdf)
    Worksheet 12, week of April 12th, due April 19th (pdf)
    Mock Exam,  week of April 19th, Mock Exam
    Exam week of April 26th

    Course Outline

    Physicists use mathematics as a tool to model the universe.  Think of computers as our power-tools.  This course, and the two subsequent one credit classes in physics computations (PHY102, PHY201, PHY301 ), are designed to teach you how to use these tools effectively and safely.

    These power-tools allow us to study problems which are not tractable using analytic mathematics (the usual kind).  As with all power-tools, they can also be used as labor saving devices to help solve problems that do have analytic solutions (i.e., homework problems!).  This course (PHY102) concentrates on the use of Mathematica.  Mathematica solves mathematical problems and it includes a versatile graphical interface which allows you to visualize the solutions as well.  Mathematica can find solutions to algebraic equations, it can do calculus and it can evaluate equations numerically.  It is a very powerful and useful general purpose program. It is quirky to learn, but if you spend the time to "get over the hump" and to become comfortable using it, it will be the gift that keeps on giving throughout your undergraduate career and beyond. You are therefore encouraged to get access to a computer with mathematica to practice and use it outside of class-time. This is the only way to get really over that hump! Student versions of mathematica are available to buy at the computer store. There is also an inexpensive MSU site-license if there is a university owned computer you have access to.

    During PHY102 you will apply Mathematica to general physics problems. Some of the problems are drawn from material covered in PHY183 and/or PHY193H. The power of mathematica allows more complex problems to be solved than is possible using pen and paper. In addition to the algebraically solvable problems typically assigned in courses, you will also solve more complex problems numerically. Examples include the non-linear pendulum, motion in a gravitational field and chaos in simple maps. A weekly worksheet forms the core of the course.  You should set aside at least 2-3 hours per week to work through the worksheet.  You are required to attend one lab session per week in Room 1240, Bio-medical Physical Sciences Building, that will be staffed by a TA.  Normally the completed worksheets will be handed in at the end of this session. 

    Lab. Schedule - Room 1240 BPS

    Tuesdays 10:30 am -1:30 pm:
    Michael Geelhoed
    Christopher Gonyea
    Daniel Obrien
    Bryan Nolan
    Ramesh Bolneni

    Christopher Mensinger

    Tuesdays 5-8 pm:
    Nur Abdhamid
    David Asselin
    Charles Kirkpatrick
    Hayes Merritt
    Joe Upton
    Yoshitaro Takaesu

    You should set aside at least 2 hours per week to work through the weekly worksheet, though more may be required.

    Course Assessment

  • 75% of the course grade will come from your attendance at the labs and solution to the weekly worksheets. For each worksheet which is not completed and handed in on time your grade is reduced by 0.5. If you complete all the worksheets and attend all the labs you get a 3.0 grade.  Missed labs without a valid reason will result in a warning followed by a reduction in grade of 0.5 for each subsequent missed lab. Worksheets not completed in class will be accepted up until 5pm on the Monday following the week when the worksheet was assigned.  Printed copies of the worksheet should be delivered to Prof Billinge or Prof Duxbury's office (put it under the door if they are not there) or hand to the TA.  Under special circumstances an extension can be granted if arrangements are made with Prof. Billinge of Prof. Duxbury BEFORE the deadline passes.  Situations like these will be handled on a case by case basis but worksheets won't be accepted after the deadline if you have not obtained prior permission.  Remember, your course grade-point drops by 0.5 for each worksheet not completed and handed in on time!  Beyond the worksheets, there will be no homework assignments for the course.
  • 25% of the course grade will come from a one hour practical exam at the end of the semester. This exam will be held in the last week of semester during your regular lab time. In the exam you will be asked to perform mathematica functions you have used in the worksheets during the semester. Nothing new will be introduced. You will need to know how to use the online help facility.
  • Lab. Exam

    The lab. exam is intended to test how well you know mathematica. If you know the basic commands well and work efficiently, you will finish in the allocated 1 hr. That is, it is a timed test. You will be given a test exam as worksheet 12 which will be similar to the final exam. The test exam grading procedure is as follows (these are added to your worksheets' grade):

    Less than two questions complete -> 0.0
    Between two and four questions complete -> 0.5
    Four or more questions complete -> 1.0

    The lab. exam will be scheduled during your usual assigned lab slot.

    The exam will be straightforward but timed. Successful students are those who have practiced enough so as to not run into problems with puzzling 'bugs' and "mathematic moments". Develop good programming practices early in the semester and you can avoid many of these hassles.


  • There is no required text but you will only benefit from this course if you can get access to a computer with Mathematica installed where you can practice.
  • Recommended text: The Mathematica Book, by Stephen Wolfram (Cambridge).  This is a very comprehensive book written by the author/inventor of Mathematica.  It is primarily a reference book.  The most recent version (5th edition) is available online in its entirety and is included in electronic form as part of the extensive online help in the Mathematica program itself so there is not really any need to buy it.
  • Recommended text: There are various Mathematica books written by scientists and engineers which are not so pedagogical and more focussed on how Mathematica can be used to solve science problems.  One example is Mathematica for Scientists and Engineers by Richard Gass (Prentice Hall).   Another is Mathematica for Physics by  Robert L. Zimmerman and Fredrick I. Olness (Addison-Wesley).  There are numerous other ones.  Mostly they come with floppy discs or CD's containing examples so you don't have to type them in by hand.
  • Helpfiles for PHY102

    Mathematica has an awesomely powerful (and therefore non-trivial to use) online help built in.  Part of the course will be to learn how to use this help effectively and you are encouraged and expected to use the help whenever and wherever possible so you get comfortable and quick at using it.  This may prove to be important in the timed exam and will pay big dividends as you use Mathematica later.
  • Getting started with Linux:  Linux is the operating system on these computers.  For those of you who haven't heard of it it is a free operating system for PCs that was developed first by Linus Torvalds, a Finnish student (not much else to do in the winter up there than write new operating systems), then by an international community of free software freaks.  It can be downloaded for free from the internet and there is a lot of free software being developed by people all over the world.  Check out and to get a taste of what it is all about. These days it is making its way into the mainstream and many commercial concerns use it for web-servers and the like. Computers can also be bought from DELL and other mainstream suppliers with linux preloaded. It is basically a form of UNIX for PCs.  If you are not familiar with unix then the "PHY102 Linux Help" might help.  Modern versions of linux look a lot like Microsoft windows which means that it is easier to get started with unix/linux these days.
  • Starting mathematica: (a) in a terminal window (click on the "screen" icon at the bottom of the screen to get a terminal window) type "mathematica" and hit return (b) using the mouse, click on the "foot" at the bottom of the screen then holding the mouse button down slide the mouse to select "programs" -> "applications" -> "wolfram mathematica"
  • Getting Started: This is a Mathematica "notebook" with information about basic Mathematica usage and some pitfalls to avoid. Download the file and save it locally. Start Mathematica then load this notebook by mouse-clicking on file->open.  This notebook contains useful hints and examples of common mistakes of first-time Mathematica users.  The most common mistakes are tiny tiny syntax errors that cause the program to go crazy.    Some syntax errors result in errors so you know there is a problem.  Others do not result in errors but the program calculates some meaningless or incorrect expression and proudly presents you with lots of garbage on the screen.  Another thing that can trip you up is that Mathematica has a very long memory.  If you define a variable (e.g., y=Sin[x]) Mathematica will remember forever, or until you explicitly redefine or clear the definition, that y is sin(x).  If, half an hour later, you use "x" in some other context it can lead to some very interesting, unexpected and perplexing results.  The "getting started" notebook tells how to deal with this.  You will save yourself a lot of time in the long run by going through it.
  • Also try Introduction to Mathematica (Written by Ellen Lau)

  • 1240 BPS:
    The computers in BPS1240 can be used for your classwork but remember that other classes use the lab and outside of our regular lab-times you are a guest.  If another instructor needs the computer or is lecturing you may be asked to leave. Needless to say these computers are subject to the Physics Department and the University acceptable use policies:
    Please do not use the computers and the printer in 1240BPS for things not related to your PHY102 classwork.

    Office Hours
    by appointment. Please contact Prof. Duxbury or Prof. Billinge by email or phone.