Skip to content
Material for my course of Computational Physics (3rd semester, obligatory), in National and Kapodistrian University of Athens
Jupyter Notebook C++
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
examples Delete LinearSysGaussSiedel.ipynb Oct 24, 2019

Computational Physics -- Υπολογιστική Φυσική Y0338

This website provides a cloud-based interactive computing environment, for my undergraduate course (3rd semester, obligatory) of Computational Physics Υπολογιστική Φυσική Υ0338, in National and Kapodistrian University of Athens (2019-2020).

By using this custom made interactive environment, the students are be able to study and practice real implementations of the course's material without having the burden to install manually on their own any software in a private computer. The usage of the present computational environment is optional and is only meant to serve those that find it useful. The students are strongly encouraged to create their own favorite environment (C/C++, FORTRAN, Matlab, Java, R, Mathematica, Python, Julia ... you name it) in their personal computer, once they feel ready to do so.

Launch Interactive Computational Environment (no registration needed)

Click on the launch binder button


to launch an interactive Python3 environment and play with templates and examples of computational algorithms taught in the course. Warning the launching of the interactive environment takes approximately *~0.5-5 minutes, depending on the load, so be patient!

Or if you have a Google account (free registration)

You can use your gmail/android account to open via all code write-ups. In that case you just need to browse the code in


Code examples

The code in CompPhysics/examples is provided for demonstration purposes and is written having in mind three principles:

  • reflect the math forms taught symbolically as-they-appear in the lecture
  • code length should be minimal and take least effort to comprehend
  • assume little, or zero programming skills

That is to say, the code is not always optimized having in mind efficiency of execution. Fine tuning of the execution flow, while important for speed and precision, often obscures transparency at first site. Instead, it is purposefully attempted to just demonstrate the core ideas of the underline algorithms, leaving higher order optimization (which could be problem-specific) to be discussed in class or in homework assigments.

External dependencies

Python packages used in scientific computing and data science are taught through examples. The dependencies are kept to a good minimum:

  • Binder
  • Python 3.7
  • numpy
  • matplotlib
  • jupyter notebooks
  • google colab

About the Author

Konstantinos Theofilatos is an Associate Professor of Physics in National and Kapodistrian University of Athens. This website was created on July 2019 and is updated at best effort basis.

You can’t perform that action at this time.