The emergence of cloud computing has been dramatically changing the landscape of services for modern computer applications. Offloading computation to the cloud effectively expands the usability of mobile terminals beyond their physical limits, and also greatly extends their battery charging intervals through potential energy savings. In this article, we present an overview of computation offloading in mobile cloud computing. We identify the key issues in developing new applications that effectively leverage cloud resources for computation-intensive modules, or migrating such modules in existing applications to the mobile cloud. We then analyze two representative applications in detail from both the macro and micro perspectives, cloud-assisted distributed interactive mobile applications and cloud-assisted motion estimation for mobile video compression, to illustrate the unique challenges, benefit, and implementation of computation offloading in mobile cloud computing. We finally summarize the lessons learned and present potential future avenues.