Observer based learning control algorithms, to synthesize a controller that would make a dynamical system track an a priori known sequence of output vectors, for linear time invariant systems in discrete time, is revisited. For multi input multi output systems, we show that the associated pole placement problem leads to an asymptotically stable iterative scheme, a result that is not trivial in the case of a non-square system. We introduce an obvious block structure implementation of the ILC algorithm that requires only the first Markov parameter matrix of the system. The closed loop pole locations, we observe through simulations, dictate the transient response of the system during learning process. Large values of the transient response is undesirable, and we show how to clip off such responses, while maintaining eventual convergence of the iteration.