Optoelectronics and Photonics: Principles and Practices