Introduction to Spintronics: Fundamentals and Applications