Optoelectronics and Photonics : Principles and Practices