Cracking the code: An evidence-based approach to teaching Python in an undergraduate earth science setting