The University of Florida Department of Mechanical and Aerospace Engineering recently created a new senior technical elective in the field of computational fluid dynamics. The main objectives of the class are learning the process of computational fluid dynamics, skepticism, a course project that uses a popular commercial solver, and a course project that involves programming a simplified computational fluid dynamics code. The course covers introductory material, history, grid generation, numerics, equations of motion, boundary conditions, solvers, turbulence models, visualization, and a number of special topics. Skepticism is enforced throughout the course and forces students to justify the validity of their approach and question numerically generated results. Students in the class undertake a course project to predict a fundamental flow-field and compare predictions with excellent measurements from the open literature. They must also create a simplified computational fluid dynamics code to predict turbulent boundary layer flow. Students have integrated these lessons within student groups across the University of Florida. The emphasis of the course is on skepticism and increasing integration with the curriculum and student group activities. We present the class philosophy for teaching undergraduate computational fluid dynamics and the outcomes of the newly developed course.