This document provides an introduction to a course on pervasive computing. It discusses Mark Weiser's original vision of pervasive computing and how critical hardware is now available to begin pursuing this vision. Examples of pervasive computing projects at universities and in industry are provided. The goal of the paper that is the basis of this document is to understand the challenges in computer systems research posed by pervasive computing, by examining its relationship to distributed systems and mobile computing and identifying key research problems.