Computational Physics Laboratory PHZ4151C/PHZ5156C
  Spring 2008

  Class Meetings: HCB 0308, Tuesday and Thursday from 2:00 to 3:15 PM

  Office Hours: Wednesday 4:00 - 5:00 PM or upon appointment

  Course Text: David Yevick, A First Course in Computational Physics and Object-Oriented Programming with C++

Syllabus

Computers originally developed to solve numerically intensive physics problems, have become an essential tool for modern physics. Basic computing skills in physics include problem solving using numerical solutions to differential equations, numerical integration, Monte Carlo, partial differential equations, linear algebra, distributed processing, hypothesis fitting, and statistical data analysis.

Objective

This course introduces students to the use of computers to solve physics problems and provides instruction in both computing and numerical methods. Focus is placed on using software tools which are currently being employed by major research efforts. In addition, the course also provides instruction in computational techniques and software development skills, and practice in using network and software development tools including parallel batch processing systems, code management systems, debuggers and optimizers, auto documentation generators, and web utilities.

This course is designed and intended for physics majors. It is based on developing computer programs in a Linux/Unix environment using the C/C++ programing language. Each student receives a computer account on the Physics Department scientific computing cluster, a Linux cluster consisting of over 120 CPU's. Additional, computing resources for the course include individual computing lab workstations which students utilized to connect to the Physics Department computing cluster.

Expectations

It is expected that you will attend class, read the text, and ASK QUESTIONS. The instructor will cover the important material and use a variety of materials for presentations and strive to ANSWER QUESTIONS.

Course Grading

The course uses a combined lecture plus laboratory format. Students work at computer stations to complete exercises and projects that teach computational techniques and provide direct hands-on experience using software tools. Students are graded based upon the successful completion of homework assignments, in-class exercises, and scientific programing projects. Homework assignments are expected to be completed and turned in for grading. Computing exercises and scientific programing projects are to be posted on the student's comphy course website. Course websites are create and maintained by each student. Your final grade for the course will be based on performance in computing projects (70%) and homework assignments (30%).

Grades will be posted using the FSU Blackboard system, where you need to have an active account. Please make sure that you can login to Blackboard (http://campus.fsu.edu) and can access the link to the course PHZ4151C or PHZ5156C.

The topics covered in this course include:

Project Topic(s)

Introduction to Linux/Unix

C++ Programing Basics

Program Development and Programming Tools

Numerical Limits in Computing

Finding Roots of Equations

Code Management Techniques

Numerical Differentiation

Numerical Integration

Multidimensional & Monte Carlo Integration

Numerical Eigenvalues & Eigenvectors

Analyzing Data Sets

Introduction to Batch & Parallel Computing

Fourier Analysis


Academic Honor Code

Students are expected to uphold the Academic Honor Code published in The Florida State University Bulletin and the Student Handbook. The first paragraph is:

The Academic Honor System of Florida State University is based on the premise that each student has the responsibility

  • (1) to uphold the highest standards of academic integrity in the student's own work,

  • (2) to refuse to tolerate violations of academic integrity in the University community,

  • (3) to foster a high sense of integrity and social responsibility on the part of the University community.

Academic Accommodation

Students with disabilities needing academic accommodations should:
  • Register with and provide documentation to the Student Disability Resource Center (SDRC) in Kellum Hall (644-9566).
  • Bring a letter to the instructor from SDRC indicating you need academic accommodations and what they are.
Do this within the first week of class. We will work with you for any special needs that you may require.

For more information on this, see the Resource Center's web site.

Some Sensible Advice

It will be great if everyone passes this course. Below are a few tips to help make your adventures in computing and C++ fun.

  • To gain confidence on physics concepts, practice the easier problems first.
  • Attend all lecture/laboratory classes.
  • Use the textbook. You paid good money for it! Try to find time to look over a chapter before it is covered in class.
  • Come and talk to me if you need extra help.
  • Find a study partner. We strongly encourage students to study and learn together.
  • Finally, don't give up or sit for hours trying to understand the homework. Come and discuss your solution with me. Often you will be much closer than you think to being able to solve a problem.
  • Good luck and I hope you enjoy the course!