CFD has become an indispensable design tool in many industries, especially in aerospace, automobile, micro-electronics, mechanical and chemical industries. The yearly worldwide revenue in CFD software is estimated to be in the hundreds of millions of dollars. In many industries, undergraduate students with CFD skills are highly sought after.
Iowa State University has been a pioneer in CFD research and education for over 4 decades. One of the most popular CFD text books was written by ISU faculty (Tannehill, Anderson and Pletcher). ISU's aerospace engineering education has always a strong emphasis on CFD fundamentals and computer programming. A basic CFD course has been taught as a senior elective for many decades, and has been a very popular one.
There is another paradigm in CFD education, maybe to reduce the cost at the undergraduate level. In this paradigm, students are taught how to use a particular commercial CFD software. The course is then centered around one CFD tool. The students learn "push button" CFD without having to learn how to program any computer languages. This paradigm has even been adopted by some PhD programs. In fact, I was told by a friend in the industry that he interviewed a PhD in CFD, who does not know what the Navier-Stokes equations are!
I would like to know whether our way of teaching CFD is out of dated. Do leave a comment if you have an opinion. In addition, do you have a preference on which language should be taught, Fortran, c, C++, ...?