The nanoHUB has a nice Introduction to Semiconductor Devices web page/tool that that covers the following topics:
- Crystal structures and lattices
- Band models and structure
- Bulk semiconductors
- PN junctions
- Bipolar Junction transistors
- MOS capacitors
- MOSFETs