We created and field-tested in-class activities that target mathematical underpinnings of algorithms such as proofs of correctness, design of counterexamples for incorrect algorithms, and design of (correct) new algorithms. These challenging topics are difficult for the students to grasp, and this issue is further exacerbated by students’ varied mathematical background and classes with large enrollments. Active learning has become very popular in introductory courses, but materials for algorithms appear to be lacking. We are aware of existing activities that ask students to trace a standard algorithm, which helps them to understand how that algorithm works, but often not why. Our activities target the ``why'' aspect: the algorithmic critical thinking. We deployed our activities in two classes: a large class of 108 students and a small honors section of 8 students. We describe our activities, the rationale behind them, and our impressions and students’ feedback related to these activities.