Use Python’s map function to introduce students to loops early on, because the map function is an provides an easy transition to loops.
Use visual depictions of programmatic concepts, such as recursion, to improve students’ understanding of the concept and reinforce students’ intuition about the concept.
Have students who are transitioning from Python to Java explore the “From Python to Java” website to show them the differences between the two languages.
Use Python as an introductory language rather than Java or C to allow students to focus on problem-solving more than syntax.
Ask students "do you know in advance how many times you'll need to go through the loop?" when deciding between using a for or a while loop, because this is a good rule of thumb for them to use.
Help students build intuition about recursion in Python by comparing each recursive call to a function call, which may be more intuitive for students in introductory classes.
Ask your students what they need to know about dice to have enough information about the three aspects of a class to create dice objects building off a common game tool to help students get comfortable with making objects.
Teach Processing first and then transition students to Java so they have a transition to a professional level programming language in a relatively seamless manner.