
Python Practice Lab
Learn How to Code through Interactive Examples
Princeton University Press
Published on 31. March 2026
Book
Paperback/Softback
160 pages
978-0-691-24360-3 (ISBN)
Description
A guide to learning basic programming by writing fun, working programs that gradually become more complex
This classroom-tested, workbook-style text teaches basic programming by guiding readers to write Python programs that mimic interactive chatbots. Unlike textbooks with opaque examples explained in dry, monotonous code, Python Practice Lab engages readers immediately, with more than thirty motivating and hands-on examples. Readers learn by writing fun, working programs that gradually become more difficult as new concepts are introduced. Most exercises are open ended, promoting creativity in the process of learning. Along with coding practice, the book offers brief introductions to a range of other topics in computer science, including recommendation systems, computer vision, and big data, and relates these subjects to the programming concepts covered in the book. Python Practice Lab will be an essential resource for anyone who wants to learn to program, instructors teaching Python to beginners, and students who want to supplement their coursework by building complete and functional programs.
Uses natural language and text strings rather than math as the main building blocks for learning about program structure
Rewrites code comprehension exercises in equivalent code with inclusive and approachable variables rather than terse, single-letter variables
Challenges readers to write a full program in each chapter
Presents a selection of projects at the end of the book that integrates the concepts introduced in previous chapters
This classroom-tested, workbook-style text teaches basic programming by guiding readers to write Python programs that mimic interactive chatbots. Unlike textbooks with opaque examples explained in dry, monotonous code, Python Practice Lab engages readers immediately, with more than thirty motivating and hands-on examples. Readers learn by writing fun, working programs that gradually become more difficult as new concepts are introduced. Most exercises are open ended, promoting creativity in the process of learning. Along with coding practice, the book offers brief introductions to a range of other topics in computer science, including recommendation systems, computer vision, and big data, and relates these subjects to the programming concepts covered in the book. Python Practice Lab will be an essential resource for anyone who wants to learn to program, instructors teaching Python to beginners, and students who want to supplement their coursework by building complete and functional programs.
Uses natural language and text strings rather than math as the main building blocks for learning about program structure
Rewrites code comprehension exercises in equivalent code with inclusive and approachable variables rather than terse, single-letter variables
Challenges readers to write a full program in each chapter
Presents a selection of projects at the end of the book that integrates the concepts introduced in previous chapters
More details
Language
English
Place of publication
New Jersey
United States
Target group
College/higher education
Product notice
Paperback (trade)
Illustrations
61 b/w illus.
Dimensions
Height: 251 mm
Width: 175 mm
Thickness: 12 mm
Weight
344 gr
ISBN-13
978-0-691-24360-3 (9780691243603)
Copyright in bibliographic data and cover images is held by Nielsen Book Services Limited or by the publishers or by their respective licensors: all rights reserved.
Schweitzer Classification
Other editions
Additional editions

E-Book
03/2026
Princeton University Press
€28.99
Available for download
Persons
Angelica Lim is assistant professor in computing science at Simon Fraser University. An award-winning roboticist and a champion for diversity in computer science, she is the founder of Invent the Future, a summer enrichment program at SFU begun in partnership with the nonprofit AI4ALL. Victor Cheung is lecturer in computing science at Simon Fraser University. An experienced educator teaching a wide range of computer science courses from general introduction to programming to specialized human-centered computing, he is an advocate for improving user experience and user empowerment via user-centered design approaches.