These lectures given to graduate students in high energy physics, provide an introduction to Monte Carlo methods. After an overview of classical numerical quadrature rules, Monte Carlo integration together with variance-reducing techniques is introduced. A short description on the generation of pseudo-random numbers and quasi-random numbers is given. Finally, methods to generate samples according to a specified distribution are discussed. Among others, we outline the Metropolis algorithm and give an overview of existing algorithms for the generation of the phase space of final state particles in high energy collisions.