Textbooks
Learn AI-Assisted Python Programming with GitHub Copilot and ChatGPT
(Daniel Zingaro and Leo Porter) Learn AI-Assisted Python Programming with Copilot and ChatGPT is a beginner’s guide that embraces AI as the future of coding.
Algorithmic thinking: A problem-based introduction
(Daniel Zingaro) This text draws inspiration from coding challenge problems to teach algorithmic thinking: classifying problems, selecting data structures, and implementing appropriate algorithms.
Start Competitive Programming!: Ace the USACO Bronze Competition
(Zachi Baharav and Daniel Zingaro) This book is your jump-start guide into competitive programming!
Learn to code by solving problems: A python-based introduction
(Daniel Zingaro) An introduction to programming that draws inspiration from coding challenges and provides practice not only with Python but also introduces fundamental data structures.
Practical Programming: An Introduction to Computer Science Using Python 3
(Paul Gries, Jennifer Campbell, and Jason Montojo) An introduction to Python programming and problem solving that pairs with a Coursera MOOC.