In order to make these educational materials useful to a wide range of people, we have organized them in a problem driven, modular format, with each module as interactive as possible. These modules can be logically grouped into courses, with the first course targeted towards freshmen and sophomores. The computational topics in each "course" are introduced and developed in the context of specific problems and examples drawn from a wide variety of relevant fields. The modules are contributed by scientists and educators from universities and research labs all over the country. A list of contributors is available.