Programmers coming from art, design, filmmaking, music, writing, education, or business fields frequently have little background in the mathematics and physics. Although today's software programs make it easier to become proficient at programming without having a solid foundation in these disciplines, sooner or later all programmers and developers will run into problems that they will need mathematics or physics to solve. This book provides a simple but thorough grounding in the mathematics and physics topics that programmers need to know to write programs, using a non-language specific approach. Each chapter includes exercise sets for additional practice of the techniques learned, or for use as a textbook. The companion CD-ROM provides demo examples of the mathematical and physical principles discussed in the book, with source code in several different languages (C++, Lingo, and Java).