Personal computing devices, such as smart-phones and PDAs, are commonplace, bundle several wireless network interfaces, can support compute intensive tasks, and are equipped with powerful means to produce multimedia content. Thus, they provide the resources for what we envision as a human pervasive network: a network formed by user devices, suitable to convey to users rich multimedia content and services according to their interests and needs. Similar to opportunistic networks, where the communication is built on connectivity opportunities, we envisage a network above these resources that joins together features of traditional pervasive networks and opportunistic networks fostering a new computing paradigm: opportunistic computing. In this article we discuss the evolution from opportunistic networking to opportunistic computing; we survey key recent achievements in opportunistic networking, and describe the main concepts and challenges of opportunistic computing. We finally envision further possible scenarios and functionalities to make opportunistic computing a key player in the next-generation Internet.