Perspective and Reinforcement in a Mathematics Curriculum via Computational Projects
Morgan Fonley, Mathematics and Computer Science, Alma CollegeStudents in my classes are well aware of a gap between the knowledge gained in the curriculum and the practical skills required to put their knowledge to use to solve real-world problems. Although conscious of this weakness, they are not always cognizant of the topics that might help to bridge it, so that they are seemingly helpless to improve their preparation. This is especially evident when students begin research projects during class or in voluntary research programs outside the curriculum.
Over the summer of 2017, I worked with several undergraduate students on a research project. Their first task was to familiarize themselves with Matlab (with which they had no previous experience) with early goals of writing scripts and functions, plotting, and creating models to represent dynamical systems. Early on, they seemed confused that my research would involve so much programming since I am a mathematician (albeit an applied mathematician). After my students felt comfortable with Matlab, they became more engaged in my specific research—creating and evaluating models to represent fluid flow through the subsurface—and discovered that programming and computation is an integral part of hydrological research. By the end of the summer, they had gained not only experience, but perspective about the value of computation. A critical part of their success seems to be the directed nature of their coding; computation served as an instrument to serve their understanding of a complicated problem.
In our mathematics department, we have identified computation as an ability we would like to support. To ensure that our students have exposure and opportunities early, we have required computational labs in our three calculus classes. The labs are written using Maple software, and they offer computational approaches to calculus topics. The students do not appreciate the labs, and the feedback is that they do not see any benefit nor do they improve their understanding of calculus. On the other hand, upper level students who take computer science courses (a requirement for our students with math majors) refer back to the labs, mentioning that they wish they had taken them more seriously at the time. By this point, usually, they are trying to solve more difficult problems, but did not retain the foundational skills which would be advantageous.
I have endeavored to offer additional opportunities for students to improve their computational abilities and to provide more guided project experience by designing with a colleague a course on computational mathematics. The course was entitled An Exploration into Applied Computational Mathematics and ran for several weeks during May of 2017. The course used Matlab in every regard (including class notes using livescripts, daily activities, homework, and a final project). We covered subjects like Vectors and Matrices, Plotting in two and three dimensions, and Euler and Newton's methods, among others. One of our original goals was to use problem-based learning to introduce abstract math topics from an approach of concrete computations. Along the way, we were able to demonstrate some computational shortcomings, which helped to emphasize the importance of a knowledgeable programmer who could recognize and preferably avoid situations in which a computer might offer unexpected or incorrect answers to a problem. Here again, the success of the students seem dependent on their seeing the goal while they simultaneously learn the tools to achieve said goal.
To show that computation can improve understanding of the more abstract topics, students would ideally perform some sort of computation in nearly each course in the math department. While the labs during calculus classes seem to be a good base, I believe students would benefit from reinforcement during their entire undergraduate education. I hope to facilitate that with computational projects in my classes.