This paper presents a new iterative learning control (ILC) scheme for linear discrete time systems. In this scheme, the input of the controlled system is modified by applying a semi-sliding window algorithm, with a maximum length of n +1, on the tracking errors obtained from the previous iteration (n is the order of the controlled system). The convergence of the presented ILC is analyzed. It is shown that, if its learning gains are chosen proportional to the denominator coefficients of the system transfer function, then its monotonic convergence condition is independent of the time duration of the iterations and depends only on the numerator coefficients of the system transfer function. The application of the presented ILC to control second-order systems is described in detail. Numerical examples are added to illustrate the results.