Elementary Mechanics Using Python: A Modern Course Combining Analytical and Numerical Techniques by Anders Malthe-Sorenssen
This book - specifically developed as a novel textbook on elementary classical mechanics - shows how analytical and numerical methods can be seamlessly integrated to solve physics problems. This approach allows students to solve more advanced and applied problems at an earlier stage and equips them to deal with real-world examples well beyond the typical special cases treated in standard textbooks.
Another advantage of this approach is that students are brought closer to the way physics is actually discovered and applied, as they are introduced right from the start to a more exploratory way of understanding phenomena and of developing their physical concepts.
While not a requirement, it is advantageous for the reader to have some prior knowledge of scientific programming with a scripting-type language. This edition of the book uses Python, and a chapter devoted to the basics of scientific programming with Python is included. A parallel edition using Matlab instead of Python is also available.
Last but not least, each chapter is accompanied by an extensive set of course-tested exercises and solutions.