Classroom-tested by tens of thousands of students, this new edition of the bestselling intro to programming book is for anyone who wants to understand computer science. Learn about design, algorithms, testing, and debugging. Discover the fundamentals of programming with Python 3.6--a language that's used in millions of devices. Write programs to solve real-world problems, and come away with everything you need to produce quality code. This edition has been updated to use the new language features in Python 3.6.
Paul Gries has been teaching in the Department of Computer Science at the University of Toronto for more than 15 years. During his time at UofT, Paul has won numerous teaching awards, has co-authored two textbooks, has been a leader in departmental curriculum design and renewal, and with Jennifer Campbell, got to teach Python to tens of thousands of students in a MOOC.Jennifer Campbell is a teaching stream professor in Computer Science at the University of Toronto. In 2014, she received the Faculty of Arts and Science Outstanding Teaching Award. Jen engages in computer science education research, studying student experiences, factors for success, and the effectiveness of various course formats, including flipped and online courses.Jason Montojo is a veteran software developer with 19 years of professional experience. He specializes in applied software archaeology and has mentored dozens of students as part of the Google Summer of Code and Software Carpentry programs.