Define programming language terms independently of computer terminology to make concepts more accessible to students.
Meet with students one-on-one to help them develop a Java class in order to clarify basic concepts and increase their confidence with object-oriented programming.
Allow students to resubmit their first few assignments for the course so they can master basic concepts and be rewarded for their persistence.
Emphasize that Scratch is REAL coding; this lets students know that programming in educational languages like Scratch or Python is valuable even though these languages aren’t commonly used in industry.
Misconception: students think that when you assign a = b, there is no longer anything assigned to b because b empties its contents into a.
Tell your students that they should assume their code has bugs to help decrease their frustration when writing code.
When explaining code to the class, project your code and use a tablet to draw on top of it. Ask students for debugging suggestions to make them more comfortable finding bugs and to show them that all programmers, even you, make mistakes.
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.