Multi-agent systems are advocated as a model for designing complex, distributed engineering systems. Yet the practice of teaching the use of intelligent agents in modeling and simulation of next generation open, dynamic, adaptive, and intelligent engineering applications is still in its infancy. In this paper we present a unified and coherent framework for teaching a graduate level agent-directed simulation course for computer science and engineering students. The framework aims to: (1) promote extending our horizons by introducing multiple dimensions for the use of agents in simulation; (2) emphasize focusing on teaching the theory, methodology, and fundamental principles underlying the agent-based modeling framework, and (3) suggest a shift from a predictive modeling worldview toward a new computational epistemology perspective that advocates exploratory experimentation with agent-based models. Based on these premises, a synopsis of the structure, delivery strategy, and the underlying rationale for the design of the course are presented.