Inspired by compressive sensing principles, we propose novel error control coding techniques for communication systems. The information bits are encoded in the support and the non-zero entries of a sparse signal. By selecting a dictionary matrix with suitable dimensions, the codeword for transmission is obtained by multiplying the dictionary matrix with the sparse signal. Specifically, the codewords are obtained from the sparse linear combinations of the columns of the dictionary matrix. At the decoder, we employ variations of greedy sparse signal recovery algorithms. Using Gold code sequences and mutually unbiased bases from quantum information theory as dictionary matrices, we study the block error rate (BLER) performance of the proposed scheme in the AWGN channel. Our results show that the proposed scheme has a comparable and competitive performance with respect to the several widely used linear codes, for very small to moderate block lengths. In addition, our coding scheme extends straightforwardly to multi-user scenarios such as multiple access channel, broadcast channel, and interference channel. In these multi-user channels, if the users are grouped such that they have similar channel gains and noise levels, the overall BLER performance of our proposed scheme will coincide with an equivalent single-user scenario.