simulation and design objectives to understand the potential applications of simulation as way to solve real-world problems to understand pseudo random numbers and their application in monte carlo simulations to understand and be able to apply top-down and spiral design techniques in writing complex programs to understand unit-testing and be able to apply this technique in the implementation and debugging of complex programs simulating racquetball you may not realize itbut you have reached significant milestone in the journey to becoming computer scientist you now have all the tools to write programs that solve interesting problems by interestingi mean problems that would be difficult or impossible to solve without the ability to write and implement computer algorithms you are probably not yet ready to write the next great killer applicationbut you can do some nontrivial computing one particularly powerful technique for solving real-world problems is simulation computers can model real-world processes to provide otherwise unobtainable information computer simulation is used every day to perform myriad tasks such as predicting the weatherdesigning aircraftcreating special effects for moviesand entertaining video game playersto name just few most of these applications require extremely complex programsbut even relatively modest simulations can sometimes shed light on knotty problems in this we are going to develop simple simulation of the game of racquetball along the wayyou will learn some important design and implementation strategies that will help you in tackling your own problems