Semiconductor Optoelectronic Devices: Introduction to Physics and Simulation