"There are 11 chapters, each of which has a selection of exercises at the end. The problems are well written and generally increase in complexity. ... Tailored to the instructor, it provides a good foundation." (David Bellin, Computing Reviews, October, 2015)
Introduction.- The first Python program.- More mathematical power.- The need of flow control.- Loops and problem solving.- Functions and better organizing of code.- Lists, mutability and efficiency.- Solving more complex problems.- Data organization.- More on functions.- More Python syntax.- Customized types.- Summary.
Dr. Yue Zhang is an Assistant Professor at Singapore University of Technology and Design. Before joining SUTD in 2012, he worked as a postdoctoral research assistant at University of Cambridge. Yue Zhang received his DPhil and MSSc degrees from University of Oxford and his BEng degree from Tsinghua University, China. Yue Zhang has been class tutors of programming languages at Oxford and Cambridge and has been teaching and leading computer science courses at SUTD.
This book introduces Python programming language and fundamental concepts in algorithms and computing. Its target audience includes students and engineers with little or no background in programming, who need to master a practical programming language and learn the basic thinking in computer science/programming. The main contents come from lecture notes for engineering students from all disciplines, and has received high ratings. Its materials and ordering have been adjusted repeatedly according to classroom reception. Compared to alternative textbooks in the market, this book introduces the underlying Python implementation of number, string, list, tuple, dict, function, class, instance and module objects in a consistent and easy-to-understand way, making assignment, function definition, function call, mutability and binding environments understandable inside-out. By giving the abstraction of implementation mechanisms, this book builds a solid understanding of the Python programming language.