The second edition of this introductory text includes an expanded treatment of collisions, agent-based models, and insight into underlying system dynamics. Lab assignments are accessible and carefully sequenced for maximum impact. Students are able to write their own code in building solutions and Python is used to minimize any language barrier for beginners.
Problems involving visualization are emphasized throughout with interactive graphics, image files, and plots of generated data. This text aims to establish a core learning experience around which any number of other learning objectives could be included. The text is presented in eight chapters where each chapter contains three problems and each problem develops five specific lab assignments, plus additional questions and discussion. This approach seeks to leverage the immediate feedback provided by the computer to help students as they work toward writing code creatively.
All labs will scale to available hardware and free software could be used for the entire course, if desired. Lab assignments have been used since 2011 at the #1 ranked U.S. high school. It is an ideal textbook for high school courses that prepare students for advanced placement tests.
Problems involving visualization are emphasized throughout with interactive graphics, image files, and plots of generated data. This text aims to establish a core learning experience around which any number of other learning objectives could be included. The text is presented in eight chapters where each chapter contains three problems and each problem develops five specific lab assignments, plus additional questions and discussion. This approach seeks to leverage the immediate feedback provided by the computer to help students as they work toward writing code creatively.
All labs will scale to available hardware and free software could be used for the entire course, if desired. Lab assignments have been used since 2011 at the #1 ranked U.S. high school. It is an ideal textbook for high school courses that prepare students for advanced placement tests.
From the reviews:
"There are many graphs and pseudocode listings in C++, Python, Fortran, Java, and other programming languages. ... Teachers could use these to teach students the basics only, or they could add methodology to show students how to address a specific problem. Readers will find many numerical analysis examples that make the book friendlier to tactile learners who absorb knowledge by exploring the physical world around them. ... high school students studying engineering, future graphic designers, and students ... will benefit from reading this book." (Jolanta Mizera-Pietraszko, ACM Computing Reviews, June, 2012)
"There are many graphs and pseudocode listings in C++, Python, Fortran, Java, and other programming languages. ... Teachers could use these to teach students the basics only, or they could add methodology to show students how to address a specific problem. Readers will find many numerical analysis examples that make the book friendlier to tactile learners who absorb knowledge by exploring the physical world around them. ... high school students studying engineering, future graphic designers, and students ... will benefit from reading this book." (Jolanta Mizera-Pietraszko, ACM Computing Reviews, June, 2012)