Energy and power efficiency is undoubtedly one of the major driving forces of current computer industry, which is relevant for supercomputers on the one hand, as well as for small portable personal electronics and sensors on the other hand. Moreover, the power-wall is a major hurdle in putting existing solutions into practice. For example, artificial intelligence is ready to provide solutions in many domains, but the resource and power demands of the underlying algorithms are way too high for the target application. This huge performance/energy efficiency gap requires new computing paradigms. Approximate Computing (AxC) is emerging as a promising solution to this problem. It has been established to investigate how computing systems can be more energy efficient, faster, and less complex. Intuitively, instead of performing exact computation and, consequently, requiring a high amount of resources, AxC aims to selectively relax the specifications, trading accuracy off for efficiency. It has been demonstrated in the literature the effectiveness of imprecise computation for both software and hardware components implementing inexact algorithms, showing an inherent resiliency to errors. This presentation introduces concepts on AxC. We intend to follow a bottom-up approach: from component, up to application-level. More in detail, we will present existing approximate computing techniques according to three levels: hardware, data and computation.