Sentic computing is a multi-disciplinary approach to sentiment analysis at the crossroads between affective computing and commonsense computing, which exploits both computer and social sciences to better recognize, interpret, and process opinions and sentiments over the Web. In the last ten years, many different models (such as the Hourglass of Emotions and Sentic Patterns), resources (such as AffectiveSpace and SenticNet), algorithms (such as Sentic LDA and Sentic LSTM), and applications (such as Sentic PROMs and Sentic Album) have been developed under the umbrella of sentic computing. In this paper, we review all such models, resources, algorithms, and applications together with the key shifts and tasks introduced by sentic computing in the context of affective computing and sentiment analysis. We also discuss future directions in these fields.