There are a lot of hurdles to overcome when learning your first programming language - What does this error mean? What's the difference between a for loop and a while loop? How does pass-by-reference evaluation work? What are classes? How do I even begin to turn this task into a working program?
Python is widely used as a language for learning to program, and for good reasons, but there are still plenty of ways that students can get stuck, both in learning the language, and in learning more abstract programming concepts.
This talk will present a number of challenges frequently faced by beginner students in a university course which teaches students Python from the ground up, and how the course material was redesigned both to make it easier for students to learn, but also to ensure that students encountered all of the necessary challenges so that they'd have something to learn.