Changing the curriculum for Physics Majors and Engineers, as we can see, the process to prepare people who might be engineers and scientists (except for the computer scientists) need to have some modifications. First of all, the process of training engineers and scientists appears to be modified, the computer scientist students need different approaches, they are building, deploying and maintaining tools. The current approach of attempting to combine engineering and scientists in the training of programming doesn’t help the computer scientists, they have to spend time learning languages like Java and C#, that could be better spent learning and using C++. Engineers, especially Computer Engineers have to spend time not learning the C Language used in controllers (although there are better languages), other engineers and scientists do not spend enough time learning how to implement solutions using high level languages.
Examination of the Mars Climate Orbiter clearly points to the factors that the aerospace engineers could have better served learning how to use tools to test the integration of the MCO, which would have been higher level languages.
System engineering, software engineering is still suffering from lack of focus, although lately there has been a stronger focus on the implementation of improved software engineering at schools like California State University, Fullerton and others. To me it is time that engineers feel comfortable with programming, programming that will solve their problems, not computer scientists.
Of course the problem for the schools is getting the students interested in the programs.
In later blogs, I will be covering the solution of simple physics problems using F#, but for now, I hope to hear from you about how to improve the teaching of programming for engineers and scientists.