Integrating Components, Contracts, and Reasoning in CS Curricula with RESOLVE: Experiences at Multiple Institutions | IEEE Conference Publication | IEEE Xplore