Welcome to the “Introduction to Computers and Programming using Python: A Project-based Approach”. This book is designed to teach basic programming skills to students who are new to the field of computing using a project-based learning approach. It has been designed to give freedom to the instructor, both in format and topics ultimately used throughout the course. While we provide 13 turnkey projects, it is only expected that 3 or 4 are used over the course of a semester, and all projects are provided both as textual instructions (the student version of this OER) and Jupyter Notebooks (one with and one without the solutions). It is up to the instructor to choose the most efficient platform according to the context of the class and technical...