Electromagnetic scattering in multiple particles appears in a lot of applications, including biophysics, solar cell and metamaterial design. Given the property of a single particle, it is often desirable to obtain a composite material with a given electromagnetic response, in which fast algorithm is needed. In this talk, I will talk about numerical algorithms based on integral equations and fast multipole method to rapidly find the scattering of multiple particles in a layered medium and periodic medium. I will also discuss some recent work on the inverse scattering problem for multiple particles and three dimensional scattering from axis-symmetric objects.