Piaget's classic work on how children learn showed that when learners engage in critical discussions with peers who have ideas that conflict with their own, that contributes effectively to their developing deep understanding of the concepts involved. Building on this foundation, we have developed a novel and powerful approach to collaborative learning that exploits the power of online technologies to enable engineering -more generally, STEM-students to develop thorough understanding of technical topics through collaborative learning. Our approach, as we show, has a number of important advantages over most approaches to face-to-face collaborative learning. We have implemented a prototype web app, CONSIDER, based on our approach and used it in two Computer Science and Engineering courses: a graduate level theory of programming languages course, and an undergrad principles of programming languages course. It was very well received, with 15 out of 22 students in the grad course, and 13 out of 21 students in the undergrad course indicating, in a post-discussion survey, that the approach provided them a better opportunity to learn compared in-class discussions. We present a summary of the survey results, along with the theoretical underpinnings of the approach and some details of the prototype implementation. We also present our design for the next set of experiments with the CONSIDER tool.