Many researchers have stressed the importance of argumentation in STEM education to enable students to develop deep understanding. This work has mostly been at the K-12 level, but argumentation is even more important for undergraduates in computing and engineering. Not only will argumentation help students master the concepts, it will also better prepare them for their professional careers where they can expect to engage in vigorous arguments about trade-offs in various possible approaches to addressing problems in their projects. Prior research has shown that some key requirements must be met to ensure that argumentation is most productive: The argumentation must be in small groups of 4–5 students each; each group must include students with different approaches to the topic; and the instructor should not participate in the discussion. The last requirement may seem surprising but it is critical since, otherwise, the students are likely to simply accept what the instructor says and the goal of helping them achieve deep understanding will be compromised. But there are challenging issues that must be addressed if argumentation is to be widely used in computing/engineering courses. First, how would faculty find time in their already packed courses to accommodate small-group argumentation to any serious extent? Second, wouldn’t the most vocal students dominate such discussions while others stay in the background? Third, wouldn’t preconceived biases some may harbor concerning the abilities of others seriously affect the discussions? Etc. We have developed a highly innovative approach and online system, CONSIDER, to address these and other problems. A CONSIDER discussion starts with the instructor posting, on the system, a suitable problem. Each student then submits her individual answer by a specified deadline. Next, the instructor uses the system to form groups based on these submissions and the discussion begins. The discussion may be customized in various ways: the discussion may be specified to be anonymous with students in each group being labeled S1, S2, S3, S4 or they may know each other’s identities; the discussion may be organized in a series of rounds with each student making one submission in each round and the other students not seeing the submission until the start of the next round or it may be organized in a more forum-like manner with each submission becoming available to the group as soon as it is made; etc. In each case, the student is required to explicitly specify whether she agrees or disagrees with the positions of the others in the group. We have used CONSIDER in some junior-level courses in computing and the results were quite positive as were student reactions. In this paper, we present the results from a current junior-level course on programming language principles, summarize the lessons learned, and ideas for improvements. We also summarize online argumentation systems developed by some other researchers. One important difference is that whereas these other researchers focus on developing students’ argumentation abilities, we focus on using argumentation to help students master computing/engineering concepts and approaches.