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.