An introduction to Sobolev spaces with applications in Calculus of Variations and Critical Point Theory