  We consider the standard broadcast setup with a single server broadcasting
information to a number of clients, each of which contains local storage
(called cache) of some size, which can store some parts of the available files
at the server. The centralized coded caching framework, consists of a caching
phase and a delivery phase, both of which are carefully designed in order to
use the cache and the channel together optimally. In prior literature, various
combinatorial structures have been used to construct coded caching schemes. One
of the chief drawbacks of many of these existing constructions is the large
subpacketization level, which denotes the number of times a file should be
split for the schemes to provide coding gain. In this work, using a new binary
matrix model, we present several novel constructions for coded caching based on
the various types of combinatorial designs and their $q$-analogs, which are
also called subspace designs. While most of the schemes constructed in this
work (based on existing designs) have a high cache requirement, they provide a
rate that is either constant or decreasing, and moreover require competitively
small levels of subpacketization, which is an extremely important feature in
practical applications of coded caching. We also apply our constructions to the
distributed computing framework of MapReduce, which consists of three phases,
the Map phase, the Shuffle phase and the Reduce phase. Using our binary matrix
framework, we present a new simple generic coded data shuffling scheme.
Employing our designs-based constructions in conjunction with this new
shuffling scheme, we obtain new coded computing schemes which have low file
complexity, with marginally higher communication load compared to the optimal
scheme for equivalent parameters. We show that our schemes can neatly extend to
the scenario with full and partial stragglers also.
