Python Lesson Rewrite
Novice Lesson
The overarching goal of the novice lesson is to convince students to adopt programming in their everyday work flow. To do that we want to both teach practical data tools and demonstrate the power of writing code (instead of using Excel). Our lesson will include using Pandas to work with data and using Python's control flow features to really make the computer work.
Greg Wilson will be leading the development of the new novice lesson. He'll be looking for help writing, editing, and reviewing the lesson, so keep an eye out for future announcements about that.
Intermediate Lesson
The goal of the intermediate lesson is to get students thinking about programming itself: What are effective ways for organizing code? What does it mean to refactor and abstract code? Along the way we'll teach much of the same Python syntax and data tooling from the novice lesson, but we want students to leave applying a more critical mind to the structure of their code and having a vocabulary for talking about code.
Daisie Huang will be leading the development of the intermediate Python lesson and has already started a discussion in the new python-intermediate repo. Your input would be welcome there (look at the issues).
A Third Lesson?
In our discussion of the Python lessons we identified some additional topics that we think students could benefit from. These won't fit into either the novice or intermediate novice lessons, but maybe a third lesson could pick up some of these:
- Using external packages
- The idea that you can search for packages that already do your thing
- Learning how to read documentation
- Writing importable, documented modules
- Doing code review
- Making CLI scripts