Learn to develop and practice hands-on computer science projects that effectively teach problem-solving through abstraction. This session introduces foundational concepts developed by John DeNero and UC Berkeley faculty for their introductory CS course (CS61A), combined with practical strategies for classroom integration and validation from industry partners. Facilitated using Python, this workshop is designed for CS educators comfortable with or highly interested in function design and object-oriented implementation. Participants should bring a laptop equipped with a development environment (such as VSCode), though paper algorithms are also welcome.