Instructor: Eric Autry
Description from Professor Autry:
The goal of this course is to teach the basics of computer programming in a manner targeted at mathematics students. We discuss the fundamental concepts of object orientated programming: memory storage and variable scoping, recursion, objects and classes, and basic data structures. When it comes time to actually practice these concepts, however, we do so through a series of modules drawn from a variety of mathematical topics.
These modules not only give the students a chance to develop their programming skills, but also introduce them to important concepts in numerical analysis. For example, students will program random walks, matrix inversion, several methods for solving ODEs, and genetic algorithms, among others. The course culminates with the students creating their own final project. Examples of past projects include: implementing and testing the ID3 algorithm for decision trees, creating code that use an FFT and filter for smoothing input data, and modifying previous ODE solvers to examine predator prey systems or the dynamics of various versions of the SIR infectious disease model.