This book is intended for engineering students or practicing engineers who want to learn the finite-difference time-domain (FDTD) method, the most widely used method for electromagnetic simulation. Each chapter contains a concise explanation of an essential concept and instruction on its implementation into computer code. Projects that increase in complexity are included, ranging from simulations in free space to propagation in dispersive media. This third edition utilizes the Python programming language, which is becoming the preferred computer language for the engineering and scientific community.