Program Arcade Games With Python And Pygame

Just came across this great resource about Program Arcade Games With Python And Pygame for the Simpson College Spring 2017 CMSC 150 Course, taught by Dr. Craven:

Before getting started...
1: Create a Custom Calculator
2: What is a Computer Language?
3: Quiz Games and If Statements
4: Guessing Games with Random Numbers and Loops
5: Introduction to Graphics
6: Back to Looping
7: Introduction to Lists
8: Introduction to Animation
9: Functions
10: Controllers and Graphics
11: Bitmapped Graphics and Sound
12: Introduction to Classes
13: Introduction to Sprites
14: Libraries and Modules
15: Searching
16: Array-Backed Grids
17: Sorting
18: Exceptions
19: Recursion
20: Formatting
Appendix A: Example code and programs
Appendix B: Sample Tests
Appendix C: Worksheets
Appendix D: Version Control
Appendix E: Wait, What Else Can We Do?

There is also this related Youtube playlist of the same course: