I’ll supplement the first entry with these 2 books (examples taken from those books only).
1a. *Use “Invent Computer Games In Python” and “Automate the Boring Stuff in Python”. Both by Al Sweigart as practice of Git (open source) and the “Incremental Hacking Cycle.