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. A well-known application is to satellite communications, as described in one of the earliest papers on the subject [6]. It is readily seen that if the sender has knowledge of 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 I of the index coding with side-information (ICSI) problem. The encoding function is called the index code of I, 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 I. As this number is hard to compute, bounds approximating it are sought, as are algorithms to compute efficient index codes. [37], often taking a graph-theoretic approach. 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 [10], [34], in which linear combinations of the source data are both requested by and held as users' side-information. This generalization has applications, for example, to relay channels and necessitates algebraic rather than combinatorial methods. The second is the introduction of error-correction in the problem, in which the broadcast channel is subject to noise [11]. 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 analogous to those described in [11], both for the Hamming metric and for rank-metric errors. We describe decoding algorithms for both categories of errors based on those given in [11], [35].