  We consider the decoding of linear and array codes from errors when we are
only allowed to download a part of the codeword. More specifically, suppose
that we have encoded $k$ data symbols using an $(n,k)$ code with code length
$n$ and dimension $k.$ During storage, some of the codeword coordinates might
be corrupted by errors. We aim to recover the original data by reading the
corrupted codeword with a limit on the transmitting bandwidth, namely, we can
only download an $\alpha$ proportion of the corrupted codeword. For a given
$\alpha,$ our objective is to design a code and a decoding scheme such that we
can recover the original data from the largest possible number of errors. A
naive scheme is to read $\alpha n$ coordinates of the codeword. This method
used in conjunction with MDS codes guarantees recovery from any $\lfloor(\alpha
n-k)/2\rfloor$ errors. In this paper we show that we can instead read an
$\alpha$ proportion from each of the codeword's coordinates. For a
well-designed MDS code, this method can guarantee recovery from $\lfloor
(n-k/\alpha)/2 \rfloor$ errors, which is $1/\alpha$ times more than the naive
method, and is also the maximum number of errors that an $(n,k)$ code can
correct by downloading only an $\alpha$ proportion of the codeword. We present
two families of such optimal constructions and decoding schemes. One is a
Reed-Solomon code with evaluation points in a subfield and the other is based
on Folded Reed-Solomon codes. We further show that both code constructions
attain asymptotically optimal list decoding radius when downloading only a part
of the corrupted codeword. We also construct an ensemble of random codes that
with high probability approaches the upper bound on the number of correctable
errors when the decoder downloads an $\alpha$ proportion of the corrupted
codeword.
