This course builds up on a previous course into the basics principle of molecular dynamics (Molecular Dynamics, SP 2015). Here we will focus on various advanced techniques in molecular simulations. Some of the subjects covered include Monte Carlo sampling and constant pressure molecular dynamics. We will also discuss the challenges of obtaining proper sampling in molecular simulations and how such challenges can be tackled by employing enhanced sampling algorithms like parallel-tempering and metadynamics. If time permits will we also discuss how to go beyond a classical description of physical system by employing ab initio (i.e. first principle) molecular dynamics. The techniques and algorithms presented will be motived by considering real-life applications of molecular simulations in various fields of physics and chemistry. Small projects and hands-on examples will be carried out during the course using open source software packages.