Many problems of fundamental and practical importance have multiple scale solutions. The direct numerical solution of multiple scale problems is difficult to obtain even with modern supercomputers. The major difficulty of direct solutions is due to disparity of scales. From an engineering perspective, it is often sufficient to predict macroscopic properties of the multiple-scale systems, such as the effective conductivity, elastic moduli, permeability, and eddy diffusivity. Therefore, it is desirable to develop a method that captures the small scale effect on the large scales, but does not require resolving all the small scale features. The purpose of this lecture note is to review some recent advances in developing multiscale finite element (finite volume) methods for flow and transport in strongly heterogeneous porous media. Extra effort is made in developing a multiscale computational method that can be potentially used for practical multiscale for problems with a large range of nonseparable scales. Some recent theoretical and computational developments in designing global upscaling methods will be reviewed. The lectures can be roughly divided into four parts. In part 1, we review some homogenization theory for elliptic and hyperbolic equations. This homogenization theory provides a guideline for designing effective multiscale methods. In part 2, we review some recent developments of multiscale finite element (finite volume) methods. We also discuss the issue of upscaling one-phase, two-phase flows through heterogeneous porous media and the use of limited global information in multiscale finite element (volume) methods. In part 4, we will consider multiscale simulations of two-phase flow immiscible flows using a flow-based adaptive coordinate, and introduce a theoretical framework which enables us to perform global upscaling for heterogeneous media with long range connectivity.