Highlight the basic syntax and semantics of Ruby on Rails without referencing complex external concepts like closures and blocks to enhance beginning students learning to code them quickly.
Have students act out diagrams they create of the stack and heap to extend this common drawing exercise and help them strengthen their mental models.
Use Clock as an example of an abstract class because ALL clocks have the same mechanism for keeping time, a necessary property for an Abstract Class, to provide students with a strong real-world mental model for abstract classes.
Demo visualizations of code executing online, using tools like Python Tutor, and on paper before having students practice visualizing code execution in the same way to better learn how code executes.
Have students trace loops with break statements to reinforce the behavior of break because tracing is a powerful and straight-forward exercise.
Use 20 Questions as a way to introduce binary to help motivate the way binary works in an engaging and interactive activity.
Explain the “discards qualifiers” error in C++ using the metaphor of a contractor who has signed a contract not to change instance variables, but then attempts to use subcontractor who hasn’t agreed to the same terms or signed the appropriate forms.
Use group discussion to help students figure out boundary cases for removing duplicate adjacent elements on their own so that they get to discuss a variety of test cases in depth before focusing on the code.