Teaching computer programming to Mathematics students for the first time is often a ... Maple TA [2] is an online assessment system specifically designed for ...
Using Computer Based Assessment to Enhance Learning of Matlab Skills Philip J. Aston Department of Mathematics University of Surrey Teaching computer programming to Mathematics students for the first time is often a challenging endeavour, as many of them find it very difficult. However, many of our students will use some high level programming environment when they enter employment, so it is important that we teach this essential skill. When I was given the task of teaching Matlab [1] programming to our first year students, I suggested that it be taught in the context of mathematical modelling to provide immediate application. I also decided early on to use computer-based assessment to give students plenty of practice in developing their programming skills. Most Mathematics students have no previous programming experience and find learning to program very difficult, particularly in the early stages. So at the start I tell them that learning Matlab is like learning to drive, which often feels almost impossible at the start but becomes easier with practice. Learning to drive and to program both adhere to the formula: skill + practice = competence + confidence To give students the basic skills in Matlab, I worked with Anna Chuter, a postgraduate student, to produce eight worksheets which range from the basic aspects of Matlab, including symbolic calculations, to some more advanced topics (see Table 1). The example code always contains many comments which explain each step and there are practice exercises on each worksheet. When a new worksheet is given out, students are expected to sit at a computer and work through it. A timetabled lab session each week gives students immediate support. Solutions to the exercises are posted online a week later. Maple TA [2] is an online assessment system specifically designed for mathematics assessment. It was first released in April 2003 and Surrey was one of the first Mathematics Departments in the UK to use it. A vital part of gaining programming skills (or learning to drive) is having lots of practice. So I set practice questions in Maple TA for each of the first six Matlab worksheets. The questions in Maple TA are answered using Matlab, and the answer can be copied and pasted back into Maple TA (see Fig. 1). Algorithmic variables are used in Maple TA to Worksheet 1 2 3 4 5 6 7 8
Topic Introduction to Matlab Vectors, Matrices and Plotting Loops Iterated Maps The if Statement Differential Equations Modelling Data Modelling Data (Continued)
Table 1: Content of the Matlab worksheets.
Figure 1: A question is asked in Maple TA, solved in Matlab, and the answer copied back into Maple TA. randomise the coefficients in the questions, so that the questions are different each time they are attempted. This provides the opportunity for students to gain lots of practice on a specific topic. On completion of the Maple TA exercises, students can check which questions they got right or wrong. Feedback provided for each question includes the Matlab code for solving the problem. This gives students immediate feedback and also aids their learning for questions that they got wrong. Students are offered a lot of help and support, but it is important to ensure that they have gained the basic skills early on. Thus, a test is set in Maple TA based on the first two worksheets which students can take as many times as they like, with algorithmic variables again used so that the questions are different at each attempt. At the end of the test, only the final score is shown, but not which questions were right or wrong. This test does not count towards the module mark but the students are required to pass it with a mark of at least 70% on their best attempt. For most modules where a test is taken only once, a low score confirms that the student knows very little, but the course moves on. However, for this module, it is essential that students gain the basic skills early on, which is achieved by taking this test as many times as is needed to get a high score. This year, five students scored 100% on their first attempt while one student passed on their 13th attempt. Two more worksheets followed with practice exercises available in Maple TA, again with feedback which includes the Matlab code to solve the problem. The first assessed test in Maple TA is based on worksheets 1–4 and counts as 15% of the module mark. At the end of the test, students can immediately see their score and can check which questions they got right or wrong. As with any assessment there were a range of scores but the vast majority of the students passed the test, with three achieving 100%, and so they have made the first essential steps in learning Matlab and acquiring basic programming skills. More worksheets and Maple TA exercises continue the process of giving students programming skills supported by lots of opportunities to practice with feedback. A second Maple TA test, also counting 15%, ensures that they are keeping up with the pace. This module also includes lectures on mathematical modelling. Initially, the two topics are separate, but after a few weeks it is possible to use Matlab to experiment with some of the mathematical models which gives context and purpose to learning Matlab. Thus, the focus shifts away from learning Matlab to using it to investigate the mathematical models.
Two pieces of assessed coursework later in the module give students the opportunity to write longer Matlab code in order to solve modelling problems, building on the foundations of the earlier learning. Individual support is again provided, in this case by office hours and email. With worksheets giving students skills and Maple TA exercises providing practice, students gain confidence and competence in Matlab. This is like walking up a hill – hard work but achievable. Some students have a tendency to do little work during the semester and then cram for the exams. However, for this module, that gives a mountain to climb at the last minute with little support available at that stage. The step by step approach that I have described hopefully avoids this happening. I recently discovered that the University of Bath is using a broadly similar approach to this with their students [3]. In the end of module questionnaire, two student comments were: • “Good use of Maple TA. I think this is probably the best way to consistently give feedback on how we were doing.” • “I enjoyed using Matlab quite a lot, and the assessed tests were a nice way to ease us into assessed work with Matlab.”
Acknowledgements I am grateful for the support of an IMA Education Grant for attendance at the HEA STEM Annual Learning and Teaching Conference 2014 which was held on 30th April–1st May 2014 in Edinburgh, at which this work was presented.
References [1] Matlab: The Language of Technical Computing. http://www.mathworks.co.uk/products/matlab/ [2] Maple TA: Web-based Testing and Assessment for Math Courses. http://www.maplesoft.com/products/mapleta/ [3] J.H. Davenport, D. Wilson, I. Graham, G. Sankaran, A. Spence, J. Blake and S. Kynaston. Interdisciplinary teaching of computing to mathematics students: programming and discrete mathematics. To appear in MSOR Connections.