This article presents an instructional framework for collaborative learning, called CIF and aimed at the analysis level of Bloom's taxonomy, as well as a mobile collaborative tool called MoCAS that supports CIF. MoCAS is aimed at the domain of scope of identifiers in programming learning, which is a topic present in programming courses in engineering studies. The specification and development of MoCAS were explicitly driven by pedagogical goals and by the atomic actions declared in CIF as simple items of collaborative activities. Furthermore, CIF and MoCAS were evaluated in an actual educational context with respect to students' performance and motivation. Students using CIF and MoCAS obtained statistically significant higher grades than students studying in an individual or collaborative basis but not using MoCAS. In addition, we measured statistically significant measures indicating that students instructed with CIF and MoCAS were more motivated than students instructed collaboratively but not using CIF or MoCAS. In addition to CIF andMoCAS, and the evaluation results, the experiences here reported exemplify several software engineering practices: the design of an educational system based on knowledge of the target domain (namely, Bloom's taxonomy) and the evaluation of users' satisfaction (mainly, students' motivation).