Think like a developer: build classes, objects, handle files, and manage errors
Model real-world things as classes and objects
Extend classes and make objects behave differently
Read and write files, handle errors gracefully with try/except