Using simulation and collaboration in CS1 and CS2

In this paper we describe the main approach used in our institutions' basic programming courses. The difficulties we experienced in these courses led us to develop tools that, in our view, help students. We created and use animation-based algorithm tools, program simulation tools and problem solving collaboration support tools. The integration of these tools, plus the addition of some other new approaches, gives us a powerful environment that provides a higher level of support to our students.