For this class, coupling program termination and correctness is reasonable. In general, however, such an coupling may be wrong; for example, both operating systems and network routers should not terminate, but still need to be correct. Defining correctness criteria for non-terminating programs is a bit tricky, and won't be covered in this class.
This page last modified on 24 January 2006.