  Index coding is a source coding problem in which a broadcaster seeks to meet
the different demands of several users, each of whom is assumed to have some
prior information on the data held by the sender. If the sender knows its
clients' requests and their side-information sets, then the number of packet
transmissions required to satisfy all users' demands can be greatly reduced if
the data is encoded before sending. The collection of side-information indices
as well as the indices of the requested data is described as an instance of the
index coding with side-information (ICSI) problem. The encoding function is
called the index code of the instance, and the number of transmissions employed
by the code is referred to as its length. The main ICSI problem is to determine
the optimal length of an index code for and instance. As this number is hard to
compute, bounds approximating it are sought, as are algorithms to compute
efficient index codes. Two interesting generalizations of the problem that have
appeared in the literature are the subject of this work. The first of these is
the case of index coding with coded side information, in which linear
combinations of the source data are both requested by and held as users'
side-information. The second is the introduction of error-correction in the
problem, in which the broadcast channel is subject to noise.
  In this paper we characterize the optimal length of a scalar or vector linear
index code with coded side information (ICCSI) over a finite field in terms of
a generalized min-rank and give bounds on this number based on constructions of
random codes for an arbitrary instance. We furthermore consider the length of
an optimal error correcting code for an instance of the ICCSI problem and
obtain bounds on this number, both for the Hamming metric and for rank-metric
errors. We describe decoding algorithms for both categories of errors.
