Understanding Solid-State Electronics: A Self-Teaching Course in Basic Semiconductor Theory (Understanding series)