Teaching Scientific Computing vs Numerical Analysis

For reasons that mostly boil down to staffing, we’re considering some revisions to our scientific computing course offerings at the undergraduate level. One way forward is to retire the one-semester survey course, and encourage students to take a somewhat more advanced course that is a natural part of a two-semester sequence offered jointly with math. But nothing is ever that simple, and I spent far more time than I intended this week chasing down the implications of such a change and putting them into a memo for the people involved in these courses.

One of the interesting questions that arises really boils down to philosophy: how much should an introductory course on numerical analysis focus on the mathematical properties of different methods, and how much should it focus on the intelligent application of those methods to problems drawn from application areas? Or, more tersely, what’s the right balance between numerical analysis and scientific computing in an introductory class?

I think the group that usually teaches these classes more-or-less agrees that we should motivate our students by connecting numerical methods to the problems where they are used. The traditional examples drawn from physics are one interesting source, but I think it’s exciting how many other places require large-scale computations with continuous mathematical models, too: the analysis of social networks, the design of movie recommendation systems, the processing of medical images, and the rendering of graphics for games and movies. Of course, the real issue is that all of these applications involve knowledge beyond the understanding of numerical methods, and it can be hard to balance the desire for something realistic with the need to have projects with a reasonable scope.

I suppose these issues aren’t unique to scientific computing. They just happen to be issues I’m thinking of in that context at the moment.

Comments

blog comments powered by Disqus
Fork me on GitHub