The programming bump in the night, what are we afraid of?
Jeremy Deans, Geography & Geology, University of Southern MississippiWhen learning any new skill, there is apprehension. This seems especially true for skills involving mathematics and programming. I tell my students something my undergraduate advisor told me: "What are you afraid of? They are just numbers." I think this point resonates with many students, as it did with me, as they are intimidated with these topics, which also stems from being afraid to try and fail. Mathematics provides a great opportunity to test assumptions and can provide great insight into many geologic problems. As data sets become larger and finite element modeling increases in usefulness, students need to be at least introduced to these methods so they can employ them as they further their education and careers. Providing more examples and avenues for using mathematics and programming will broaden students' thinking on the usefulness of these techniques, hopefully encouraging them to think and use them more. Additionally, students can experience extreme frustration with programing, but as they work through the problem and the program, they can develop confidence in problem solving techniques and experience the great elation of a program running successfully.
I am in a small program, so I teach a variety of classes from Structural Geology to Geochemistry, with Mineralogy, Petrology, and Field Methods in between. These classes may not lend themselves to teaching the whole course using tools like MATLAB, however, mathematics and MATLAB can be easily integrated for various lab and homework assignments. Our students come from a wide range of backgrounds and educational levels. Most of our students have to take remedial math before they can take calculus. Most of our students have a difficult relationship with math and try their best to steer clear of it. We do not currently require any courses using programming as part of our curriculum, so the only way our students get introduced to programming is through integrating it in our classes. Introducing our students to tools like MATLAB and helping them develop important skills in math and programming will better prepare them and make them more competitive as they continue their education and careers.
In teaching computational skills, I try first to show them the way. If we are not using a computer lab with the program already installed, then this class period usually requires some IT work by me. Once everyone has the program installed, I show them how to use the program and some of the basics. Then we work through a simple example. The simple example is designed to get them used to using the program, but also provide them with a foundation to complete a homework or lab assignment. During this class time, I provide the students with two different colored sticky notes which they place on their monitor depending on whether they need help (red) or are ready to move on to the next item (green). This way, the students can clearly communicate to me what they need and I can survey the class quickly. This will also hopefully mitigate any student meltdowns or getting too far ahead by stopping class, helping them, and then moving on. By being the first to introduce these methods to the students you have to have a high tolerance for questions and frustration from the students. One of the first draw backs is it takes a lot of class time, second you have to solve several IT problems.
Any new skill requires practice, so I try to get the students to practice at home, and if appropriate, to practice in class. I also encourage them to bring questions to office hours or to class for discussion. Lastly, I make sure to continue using programming in all of my classes so the students continue to practice and learn different techniques and applications in different courses.