This course is aimed to give an introduction in the basic molecular simulation techniques: molecular dynamics and Monte Carlo. The idea is to give an understanding of principles underlying these techniques and to use this understanding to optimize a simulation code. The more advanced topics include molecular simulations in the various ensembles (NVE, NVT, NPT, grand canonical, etc), free energy computations, phase equilibria, rare events, configurational-bias Monte Carlo. The morning sessions are lectures introducing the methods and in the afternoons there are computer exercises in which these methods are applied. The course does not assume any previous knowledge in molecular simulations. However, elementary knowledge in thermodynamics and statistical thermodynamics is assumed.The course will follow the structure of the book "Understanding Molecular Simulations" Frenkel and Smit (Academic Press, 2002).