Invariant Based Programming: Basic Approach and Teaching Experiences | AMiner