COOP (or CO-OP long hand) is a framework that separates mark-up from processing Logic. It is a mix of Custom Tags that run mark-up side and the controller and Framework API that runs inside a "control object". The control object runs side by side with the mark-up in what I would call code beside. The control object we call a co-processor.
See the WIKI as we will be building docs in there for the 2.0 version of COOP. (We will see if we can get COOP done for CFUnited 2008!)