In anticipation of a relatively large project, assign smaller projects that include the programming concepts necessary for the large project.
Use these 5 strategies to give students useful debugging strategies that will help them fix Segmentation Faults.
When teaching null dereferences, show a call that dereferences a null pointer in a debugger to give students a snapshot of what is happening.
Have the class make instructions for a Robot class you created that will bring Chipotle back to the classroom to motivate instructions and method sequencing.
Include a lot of visual examples in intro classes to help students learn by giving concrete visualizations of new, abstract concepts.
Have all functions return something in an intro course to help students understand that functions have a start and an end, even though they are always returning.
Make screen-recordings of the gradings you do by hand so your students can see how you break their code and then learn from your experienced analysis.
Organize your curriculum so that topics introduced at the beginning of the class get covered in assignments during the later part of the course to reinforce material.
Misconception: With conditionals, students may try to compare the memory address of a function to a number, like x < foo, when they intended to compare x with the return value of foo.
Arrange your curriculum so that your students are doing hands-on work as fast as possible to ensure you retain as many students as possible and keep them engaged.
Use Easter eggs and a seed sorter to teach arrays of objects because students find arrays of objects hard and need the additional scaffolding.
Incentivize good behavior for Effort, Participation, and Altruism by awarding a small number of points at the end of the course in order (enough points to bump students up a half a grade) to maintain an good classroom environment.
Spend extra time teaching Big O in intro classes that use Python because the underlying implementation of Python lists is a mystery to students that leads students to believe many operations are constant, O(1), that are not.
Encourage students to learn how to read regular expressions to prepare for when they come across them in their careers.
When students are downloading software to set up local development environments, like MAMP, explain clearly why these tools are necessary to prevent unnecessary struggle during class.