Note: this page is in the process of being updated from a previous year's PHY 301 page, so some material may not be precisely true for this year's class. This notice will be removed when the updating process is complete.

PHY301 - Physics Computations III

All course materials and worksheets will appear here.


  • Prof. Jon Pumplin - Office 3240 BPS Bldg., (517) 355-9200 ext. 2126,

    Course Outline

    This one-credit course is the third of three lab-style courses (PHY102, PHY201, PHY301) designed to teach undergraduate physics students how to use computers to solve physics problems. PHY102 emphasizes the use of Mathematica. PHY201 emphasizes programming in Fortran 90, with occasional use of Mathematica. PHY301 uses C++ , also with some use of Mathematica.

    Course Assessment

  • 75% of your grade will come from your solution to the worksheets. For each worksheet which is not completed by its due date, your grade is reduced by 0.5. If you complete all the worksheets but do not do the lab. exam, you get a 3.0 grade.
  • 25% of your 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 the semester during your regular lab. time. In the exam you will be asked to write simple C++ code and to use Mathematica. Nothing new will be introduced. You will need to know how to use the online help facilities.

    PHY201 and PHY301 meet simultaneously in Room 1240 BPS (Biomedical and Physical Sciences Building).

    There are no lectures: the class is entirely hands-on-keyboard. There are two class sessions, but you may find that you can finish the worksheets ahead of the due dates without attending during all of the scheduled times. Class times:
    3:30pm - 6:30pm Thursday
    4pm - 5pm Friday

    The worksheets

    Worksheet 1 - due Sept 12 at 5pm (3 weeks)
    Worksheet 2 - due Oct 10 at 5pm (4 weeks)
    Worksheet 3 - due Oct 31 at 5pm (3 weeks)
    Worksheet 4 - due Nov 14 at 5pm (2 weeks)
    Worksheet 5 - due Nov 21 at 5pm (1 week)
    Exam - Dec. 4 at 3:30pm

    Reference materials

  • Introduction to Linux Computing in 1240BPS.
  • Introduction to Mathematica (Written by Ellen Lau)

  • Online tutorial.
  • MSU course with a large number of examples that can be used as templates.
  • Online intro to C and C++
  • C++ programming for scientists
  • Lots of online C, C++ and Java (but quite a few dead links)
  • C++ An Introduction to computing, Adams, Leestma, Nyhoff

  • GNU Scientific Library . Free and useful software.
  • Numerical Recipes online. This is a book of numerical methods that are very useful in physics, and the code can used as a model for writing your own C++

  • Introduction to HTML online
  • local html help
  • Graphics programs, including xmgrace
  • Other local help manuals (e.g. Latex and related packages).