Bruce Fuda https://2016.pycon-au.org/schedule/125/view_talk Teaching programming has always been a challenge given the lack of experience, understanding and knowledge students in schools generally have about what is involved and what it means to be studying "IT". It hasn't been helped by a lack of robust curriculum in most states and territories in Australia. With the recent endorsement of the Australian Curriculum: Digital Technologies, most states and territories have implementation timelines as early as 2017, and this means that teachers (and those who want to support them in their classrooms) now have an obligation to deliver ambitious, engaging and rigorous learning activities in their classrooms. Having been in the enviable situation of being supported and encouraged to design and implement innovative computer science curricula for students in years 6-12, I'll be sharing the reasons why I choose to use Python as my primary teaching language in high school, and identify the tips, tricks and traps teachers need to watch out for when using it as the basis for learning not just programming skills, but computational thinking more generally. This includes an explanation of the importance of a project-driven approach, and demonstration of the techniques I use and projects my students work on in class.