SECO is an efficient engineering realization of a coding-decoding scheme designed to use variable redundancy and feedback in a two-way communication system to increase the rate of information transfer between users connected by a channel having a slowly time-varying capacity. The simultaneous achievement of transmission efficiency and extreme reliability is made possible by the use of sequential coding and decoding over a long constraint span. The decoding computer is designed to detect channel errors with very high probability and to correct as many of these as it can, subject to the current channel condition and decoder state. When a detected error cannot be corrected the decoder stops and uses the feedback channel to request retransmission at a lower information rate. If the information rate is correctly matched to the channel noise, then almost all detected errors are corrected and consequently repeats are requested only rarely. If the channel becomes too noisy for the decoder, then a repeat is requested with higher probability and the rate is decreased until a correct match is achieved. Conversely, if the decoder is decoding too easily, it requests an increase in rate. An appropriate strategy selects the correct rate and determines when to make a repeat request. In this paper we concentrate on a description of the encoding and decoding processes and their implementation in a digital machine. Although SECO is intended for ultimate use over real communication channels, for reasons of simplicity we concentrate here upon its use in connection with the idealized Binary Symmetric Channel (BSC).