The real world is complex, messy, and intriguing. Much of the excitement of physics stems from the process of trying to understand complex physical systems. This process involves constructing idealized and simplified models, making appropriate approximations and assumptions, estimating physical quantities, and testing the models to see how well they predict the observed behavior of real systems.
None of this excitement is present in traditional introductory physics courses, in which students work many repetitive, sanitized, unrealistic problems. The students themselves never engage in the process of building and testing models. Most students emerge from the introductory course with the belief that everything they have done is exact, though unrelated to the real world.
We have written a two-volume textbook for the introductory, calculus-based physics course, in which students are engaged in modeling physical systems (http://cil.andrew.cmu.edu/mi.html). A major component is a continual emphasis on the atomic nature of matter, and on macro-micro connections.
Some of the physical modeling involves computer modeling, in which students write programs to model systems that they cannot treat analytically. Students can do computer modeling with real-time 3D output using the VPython programming environment (see http://cil.andrew.cmu.edu/projects/visual).