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.
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.
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.
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 |
The Academic Honor System of Florida
State University is based on the premise that each student has the responsibility
It will be great if everyone passes this course. Below are a few tips to help make your adventures in computing and C++ fun.