Course title Computational Physics
Code F133
Status Undergraduate (obligated)
Level Intermediate
Year 3. Semester 6.
Lecturer Dario Hrupec, Assistant Professor; Igor Miklavčić, Lecturer
Course objective
Students should be able to tackle with problems in the physical science using computer and different software as a numerical tool.
Prerequisites Computer Laboratory, I116
Learning outcomes: After successfully completed course, student will be able to

  1. Apply Monte Carlo simulations.
  2. Numerically solve systems of nonlinear equations.
  3. Numerically calculate eigenvalues ​​and eigenvectors of a matrix.
  4. Numerically calculate multiple integrals.
  5. Solve physical problems using modern computational software.
  6. Visualize physical problems and their solutions on a computer.
  7. Use PYTHON programming language.
Teaching activity ECTS Learning outcome Students activity Methods of evaluation Points
min max
Class attendance 4 1-6 Class attendance Evidence list 0 100
Frontal lectures about problem 1 5-7 investigation about problem; writing code; making presentation on computer; oral  presentation in front of peers Oral, after the presentation 0 20
Total 5 0 120
Consultations by appointment
Gained competencies Students will be able to use the computer and different software for simulation, numerical processing and graphical representation of solutions of simple physical problems. They will be able to handle large databases using a scripting language.
Content (Course curriculum)
  1. Stochastic Systems
  • Random walk in one dimension
  • Random walk in two dimensions
  1. Monte Carlo simulation
  • Metropolis algorithm
  • Ising model
  1. Approximate solution of systems of nonlinear equations
  • One equation with one unknown – the real zeros
  • One equation with one unknown – the complex zeros
  • Two equations with two unknowns – the real zeros
  • Two equations with two unknowns – the complex zeros
  1. Eigenvalues of the matrix
  • The largest eigenvalue and associated eigenvector
  • The smallest eigenvalue and associated eigenvector
  • The complex conjugate eigenvalues
  • The roots of the polynomial
  1. Numerical Integration
  • Single integrals
  • Double integrals
  1. Visualization of physical problems
  • 2D models
  • 3D models
  1. Solving the physical problem
  • Basic mathematical operations
  • Using the calculus
  • Using the linear algebra
  1. Visualization of problem solutions
  • Drawing graphs
  1. AWK/shell scripting
  2. Introduction in PHYTON programming language
  • Installation
  • IDLE, Python shell, basics of python programming, “loops”
  • Solving simple physical problem
  • Presentation
Recommended reading David Pine, Introduction to Python for Science and Engineering, CRC Press, 2019.
Eric Ayars, Computational Physics with Python, 2013.
Additional reading Zvonko Glumac, Računalne metode fizike – kratak uvod, 2015.
Instructional methods Lectures (15 hours)
Seminars (45 hours)
Exam formats Each week a student receives a task that needs to be solved and that is evaluated.
The final grade is the arithmetic average of the weekly ratings.
Language Croatian or English (optional)
Quality control and successfulness follow up Student survey.
Permanent contact with students.
Back to Top