This paper presents a description of a course redesign to incorporate active and cooperative learning techniques into an Introduction to Programming course (CS1) in a systematic way that addresses all aspects of the course: delivery, management, and assessment. The primary goals of the experience were to improve student learning in CS1 and help students develop a support system. By increasing their competence and confidence, and helping them establish a working relationship with their peers, we sought to improve their persistence and performance in the program. We thus focus on student performance and retention through the follow-up class (CS2) as taught at Sam Houston State University. The results are encouraging. We observed that 70% of those students that had the Active Learning experience in CS1 end up getting a passing grade in CS2, with only 10% withdrawing (dropping or resigning), in contrast to a 44% passing rate and 25% withdrawal rate among those that took a regular CS1 class.