Open Educational Resources

Document Type


Publication Date

Winter 1-26-2021


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 constraints. Not all projects are created equal: they all assume some degree of proficiency in certain aspects of programming and provide practice in other aspects. For Instructor’s Version, please contact editor of the book Mathieu Sassolas at

Creative Commons License

Creative Commons License
This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 4.0 License. (3044 kB)
Jupyter notebook slides and datasets



To view the content in your browser, please download Adobe Reader or, alternately,
you may Download the file to your hard drive.

NOTE: The latest versions of Adobe Reader do not support viewing PDF files within Firefox on Mac OS and if you are using a modern (Intel) Mac, there is no official plugin for viewing PDF files within the browser window.