FYS4150 – Computational Physics
Schedule, syllabus and examination date
This course gives an introduction to numerical methods for solving problems in physics and chemistry, i.e. methods for solving ordinary and partial differential equations, matrix operations and eigenvalue problems, numerical integration, Monte Carlo methods, and modeling. The course also covers a short and hands-on introduction to programming in C++ and version control with git, and provides training in how to write a scientific report.
After having completed the course:
- you master basic C++ programming for numerical applications, as well as use of git for version control.
- you have basic knowledge of optimization and parallelization of code.
- you can apply a number of numerical methods for eigenvalue problems and matrix operations, ordinary and partial differential equations, integration, and simulation of stochastic systems. Among the methods covered are LU decomposition, the Verlet algorithm, Runge-Kutta methods, the Crank-Nicolson method, Gaussian quadrature, Monte Carlo methods, Markov chains, and the Metropolis algorithm.
- you can account for the strengths and weaknesses of the above numerical methods.
- you have knowledge of applications of numerical methods in different scientific fields.
- you can communicate numerical work through writing a scientific report.
Admission to the course
Students admitted at UiO must apply for courses in Studentweb. Students enrolled in other Master's Degree Programmes can, on application, be admitted to the course if this is cleared by their own study programme.
Nordic citizens and applicants residing in the Nordic countries may apply to take this course as a single course student.
If you are not already enrolled as a student at UiO, please see our information about admission requirements and procedures for international applicants.
Recommended previous knowledge
- INF1000 – Introduction to object-oriented programming (continued) or IN1000 – Introduction to Object-oriented Programming
- INF1100 – Introduction to programming with scientific applications (continued)
- IN1900 – Introduction to Programming with Scientific Applications
- FYS-MEK1110 – Mechanics
- MAT1100 – Calculus
- MAT1110 – Calculus and Linear Algebra
- MAT1120 – Linear Algebra
- 10 credits overlap with FYS3150 – Computational Physics.
The course extends over a full semester with 6 hours of teaching per week:
- 4 hours of lectures
- 2 hours of computer lab sessions
This course has two mandatory assignments that must be approved before the final exam.
- Three home exams which counts 1/3 towards the final grade.
This course has mandatory assignments that must be approved before you can sit the final exam.
It will also be counted as one of the three attempts to sit the exam for this course, if you sit the exam for one of the following courses: FYS3150 – Computational Physics
Language of examination
Subjects taught in English will only offer the exam paper in English. You may write your examination paper in Norwegian, Swedish, Danish or English.
Grades are awarded on a scale from A to F, where A is the best grade and F is a fail. Read more about the grading system.
Resit an examination
Students who can document a valid reason for absence from the regular examination are offered a postponed examination at the beginning of the next semester.
Re-scheduled examinations are not offered to students who withdraw during, or did not pass the original examination.