Wave propagation in natural or man-made bodies is an important problem in civil engineering, electronic engineering and ocean engineering etc. Common examples of wave problems include earthquake wave modeling, ocean wave modeling, soil- structure interaction, geological prospecting, and acoustic or radio wave diffraction. The Boundary Element Method (BEM) is a widely-used numerical method to solve such problems in both science and engineering fields. However, conventional BEM modeling of wave problems encounters many difficulties. Firstly, the method is expensive since influence matrices are computed at each time step and BEM solutions at every former time step have to be stored. Secondly, if large time steps are used, inaccuracies arise in BEM solutions; but if small time steps are used, computational costs become impractical. Thirdly, the dimensionless space-time ratio must be limited to a narrow range to produce a stable solution. In this thesis, we attack these problems by introducing adaptive schemes and mesh refinement. Instead of using uniform meshes and uniform time steps, error indicators are employed to locate high-gradient areas; then mesh refinement in space-time is used to improve the resolution in those areas only. Another strategy is to introduce the space-time concept to track moving wave fronts. In wave problems, wave fronts move in space-time, and high gradients arise both in space and in time. It is thus inadequate to refine the mesh in space only because there are high gradients in time as well. Hence, besides a locally mesh refinement scheme employed in space, local time stepping is also used to improve the accuracy and efficiency of the algorithm. This adaptive scheme is implemented in the C language and used to solve scalar and electrodynamic 2D and 3D wave propagation problems in a open and closed field. Gradient-based and resolution-based error indicators are employed to locate these moving high-gradient areas. A space mesh refinement scheme and the local time stepping is used to refine the area to achieve higher accuracy. The adaptive BEM solver is 1.4 ~ 1.8 times faster than the conventional BEM solver. It is also more stable than the conventional BEM. We also parallelize the BEM solver to further improve its efficiency. Compared with the non-parallel code, using a 8-processor Linux cluster, a speed-up factor of four is achieved. This suggests that substantial further gains can be obtained if a larger parallel computer is available. July 11. 2007