Student engagement with MATLAB and supporting independent learning J A Rossiter University of Sheffield 2010 Department of Automatic Control and Systems Engineering Background It is well reported in the literature that undergraduates can struggle with programming. In the author's experience, these struggles are replicated in student usage of MATLAB, because the basic skill requirement for most problem solving involves some level of programming and thus familiarity with concepts such as files, variable names, functions, inputs and outputs, loops, conditionals, etc. Historical data suggested that even with a lot of support in terms of materials and laboratories, students found MATLAB difficult and, of more concern, did not like it! Clear anecdotal evidence that students wanted to be told an answer to memorise and reproduce whereas requirement Department of Automatic Control was application of knowledge to solve a new problem. 2010 and Systems Engineering Summary 1 It is necessary to challenge, develop and change student expectations of learning to help them progress with MATLAB. Students were not putting effort into understanding (deep learning) and thus not progressing. Department wants students to be confident in use of MATLAB and specifically, capable of or confident in ‘independent learning’ of the MATLAB skills required for new topics in later years. 2010 Department of Automatic Control and Systems Engineering Student Motivation Programming Modelling Industry Integrated MATLAB Curriculum Maths Control Applications 2010 We have not found student motivation to be Department a problem. of Automatic Control and Systems Engineering Overview of concepts used in Sheffield • Encouraging independent learning. • Peer assessment. • Animations (or code) to support learning. • Automated marking and using MATLAB in exams (to be covered by other speakers). 2010 Department of Automatic Control and Systems Engineering Fostering Independent Learning and MATLAB Programming Skills at the Introductory Level 2010 Department of Automatic Control and Systems Engineering Transition issues • University is very different from school. • Although students realise this, they still desire the same form of ‘feedback’ and support that school teachers offered. • This level of individual support and guidance is not possible and consequently many students struggle to adjust. • Usually this is expressed as a feeling that they get too little feedback on their work. School: 5-18 years University: 18+ 2010 Department of Automatic Control and Systems Engineering Independent learning • Engineering graduates need to be confident, independent learners. [This is a further part of the transition issues.] • Typically, students are good at ‘research’ that involves fact finding, but struggle with independent learning which requires new skills. • Students constantly request outside validation: is it right, what mark is that worth, etc ? Able to acquire and validate new knowledge and skills without a tutor and/or apply taught knowledge to solve new problems. N.B. Spoon feeding is used for scenarios where students expect to regurgitate precisely what they have been taught, perhaps just changing the numbers. Department of Automatic Control 2010 and Systems Engineering Cultural change • The current generation of ‘teachers’ largely found that programming came easily. • The logical flow of one command following another fitted nicely with expectations in science and maths. • Computing was a new opportunity and grasped eagerly and so there were few hang ups about grasping concepts. • Computers could still be slow (punch cards!) and we were probably more patient for progress. 2010 Department of Automatic Control and Systems Engineering Programming is hard • The current generation (anecdotal evidence across the globe) find programming much harder and less intuitive. • One can conjecture that this is partially a consequence of them being exposed to GUI/MENU driven interaction with computers. • The concepts of logically building blocks, one line following another, has not been embedded in their education. • Students expect there to be ‘a solution’ that they just need to memorise without understanding. ‘Just tell me how to do it and I will learn it!’ 2010 Department of Automatic Control and Systems Engineering Summary + objectives 11 • How do we help students develop their (independent) learning skills and manage transition? • How do we help students learn programming (problem solving). How do we help students learn MATLAB? (Relies on programming) Programming is best mastered as an independent learning task. 2010 Department of Automatic Control and Systems Engineering REFLECTIONS ON EARLIER APPROACHES TO TEACHING MATLAB IN THE AUTHOR’S DEPARTMENT 2010 Department of Automatic Control and Systems Engineering Independent learning 13 In order to develop student independent learning skills, the approach is integrated across the whole curriculum and not piecemeal. E.g. 1. Essay and peer assessment. 2. New approach to laboratories. 3. Reports requiring synoptic view of experiences and some research. 4. Design and simulate. 5. Learning of MATLAB/programming for problem solving. 2010 Department of Automatic Control and Systems Engineering Evaluation of independent learning 14 1. Most of the activities were considered positive by the students (if you ignore the usual petty complaints from a few). 2. However, the learning of programming (MATLAB) received a significant minority of more consistent complaints. Several students just could not learn this even with good support materials and weekly labs. 3. By contrast, they liked the ‘spoon feeding’ approach taken to teaching C programming, although their skills development was poor. 2010 Department of Automatic Control and Systems Engineering Typical MATLAB Quotes • Also in lectures, more details or handouts should be given on MATLAB instead of struggling on that individually. • The MATLAB needs some helpful explaining [Several] • On the whole good, but I think I would have benefitted more if MATLAB was taught in a more similar fashion to C. • As matter of fact, MATLAB is a very complex software to our 1st year student. I strongly recommend add more lectures about matlab. • A classmate used to complain:"If we suppose to learn matlab by ourselves, Why should I go so far away from home, and spent so much money on education, so that to 'learn by myself' here?" BUT: I think this module is very good for establishing a stand alone approach to learning … . The MATLAB was my favourite part of this module it has given me more confidence as a practising engineer that I have the ability to research and construct my own knowledge onDepartment topics. of Automatic Control 2010 and Systems Engineering Reflections on student perceptions of MATLAB Despite extensive resources in workbook format, weekly laboratories, numerous exemplar files and of course the many MathWorks resources, many students just do not get MATLAB. • Requests to be taught exactly how to solve a problem before being asked to replicate this, or in other words wanting a very prescribed curriculum – you teach and I learn it. • An inability to test their own code using commonsense checks, or in other words a lack of awareness or expectation that they can validate their own learning. • An unwillingness to read the material provided carefully and to go through it methodically; rather they wanted to know ‘the answer’. Department of Automatic Control 2010 and Systems Engineering • A lack of confidence or self-belief. PROPOSALS FOR THE FUTURE 2010 Department of Automatic Control and Systems Engineering Proposal • Strong resistance to give into student requests for a return to spoon feeding approach (which, in our view, does not lead to effective learning anyway). • Clearly some students need more support, but we still want the learning to be student led. • Learning is known to improve the more senses that are activated, e.g. voice, vision, movement, emotion, etc. • There is a lot of work on the potential of animations for encouraging learning. Develop some interactive learning resources which student can access at their own pace! 2010 Department of Automatic Control and Systems Engineering Replacing lectures ? 19 The basic plan was to host some brief lecture like material on the web. • Students often want to ask questions (feedback?) or revisit lecture content when lecturer unavailable. • They can go quickly to specific topic where they are confused. • Resource is available anywhere and anytime. • It allows students to bring lecture into PC lab and thus see lecture and practise on computer simultaneously. Department of Automatic Control 2010 and Systems Engineering Why use powerpoint? 20 • The animation abilities of powerpoint are easy to use. • Software exists that allows lecturers to link up audio with powerpoint animations in an intuitive way, e.g. ARTICULATE. • Staff prepare their powerpoint slide (or slides) with all the animations they might use in a lecture. Then, they record at their desk but as if in a lecture. [No rehearsal so quick] • The software automatically synchronises these two and generates a flash file that runs on the web. 2010 Department of Automatic Control and Systems Engineering Demonstration of lectures 21 Go to the folder HEASEMINARAPRIL4 on the desktop. 1. Run the player.html file and follow the instructions therein. 2. You will need headphones. For more examples, see the website http://controleducation.group.shef.ac.uk/MATLAB_index.htm 2010 Department of Automatic Control and Systems Engineering EXAMPLE 1: LOOPS 2010 Department of Automatic Control and Systems Engineering How does a for loop work? for k=1:6; % ie. k=[1,2,3,4,5,6] Back First k=1 hence do y2(1)=sin(xvalues(1)); Now k=2 hence do to y2(2)=sin(xvalues(2)); start Now k=3 hence do of Now k=4 hence do loop y2(k)=sin(xvalues(k)); Y2(3)=sin(xvalues(3)); y2(4)=sin(xvalues(4)); Now k=5 hence do Now k=6 hence do y2(5)=sin(xvalues(5)); y2(6)=sin(xvalues(6)); end Now k=6 is equal to max of … more code allowed k, continue to next line of code 2010 Department of Automatic Control and Systems Engineering Examples of for loops Open the file week2_for.m Note the call statement has 3 variables. Run in the command window Note values of k are: start, start+step, start+2*step,…,star t+6*step 2010 Department of Automatic Control and Systems Engineering TASKS TASKS 1. Use help week2_loop_for_plotting.m and determine how to run this file and also how it works. 2. Write a function file which takes as its input a vector of arbitrary length and then use a loop to define the output vector whose values are the cubes of the coefficients of the first vector plus one. The syntax could be: output_vector = week2_loop_cube(input_vector) 3. Write a file to compute savings growth over time. For instance, let savings with an interest rate of 5% and annual bonus of £5 grow according to the model: Write a file with syntax Pounds=savings_growth(Pounds_in, interest_rate, annual_bonus,years_invested) The file should also plot savings growth. The intent is that students apply understanding to solve a new problem and should be able to validate their code without help – thus increasing confidence. 2010 Department of Automatic Control and Systems Engineering EXAMPLE 2: DEFINITION OF TRANSFER FUNCTION 2010 Department of Automatic Control and Systems Engineering Laplace transforms Basic tool is tf.m Consider s 2 3s 2 G 3 s 9s 2 27s 27 Numerator coefficients are [1 3 2] Denominator coefficients are [1 9 27 27] tf.m takes vectors of these coefficients. The final result is clear 2010 Department of Automatic Control and Systems Engineering TASK Use MATLAB to define the following transfer functions. Answers are on the next slide. 3s 2 3 G 3 H 2 2 s 12s 48s 64 s 4 2( s 1) s5 K 3 M 2 s 4s s6 2010 Department of Automatic Control and Systems Engineering EVALUATION 2010 Department of Automatic Control and Systems Engineering Student evaluation (year 1) 30 • 88% of the students felt the resources for the module including MATLAB were good or very good. • 63% said: I think this was a good way to help students learn MATLAB in their own time and they were easy to use. • 53% felt the MATLAB delivery with FLASH lectures had helped them improve their independent learning skills substantially and all but one or the remaining students felt it had helped them a little. • 98% of the students agreed that the development of independent learning skills was important and department should require this for some topics and that the overall balance was good. Department of Automatic Control 2010 and Systems Engineering Student evaluation (year 1) 31 The class was split 53:46 in terms of whether the independent learning requirements of MATLAB were right or too much. This is interesting because it is not so consistent with other modules where around 90% of students felt the independent learning requirements were about right (in those cases the learning required was probably closer to the research type work they will have encountered at school). 2010 Department of Automatic Control and Systems Engineering Student evaluation (year 2) 32 The majority of students agreed that independent learning skills are important (less than 20\% disagreed). However, when the question was specific to MATLAB 55\% thought the balance was good and 45\% the opposite. Nevertheless, this was much more favourable than the response for other topics. Student grades: the performance on this laboratory has been good compared to previous years (about 5\% up with student numbers around 180 this is significant) even though the number of questions and the demand has been substantially increased. 2010 Department of Automatic Control and Systems Engineering Student comments (year 2) 33 I think animated MATLAB lectures were a good way to help students learn MATLAB in their own time and they were easy to use. 80\% were positive (15\% knew MATLAB already so did not use) and only 5\% did not think this was a good idea or helpful. 2010 Department of Automatic Control and Systems Engineering Student comments (year 1) 34 • Was very nice and I think more powerpoint slides that are in the format like the ones of matlab should be added for other modules to; • The lectures on boothwood are VERY useful- thank you; • The lectures on Boothwood was helpful • I think that the animated lectures on boothwood were very helpful for independent learning of MATLAB; • I find them easy to use and informative. My own independent attempts at learning MATLAB would probably have taken much longer without these; • The material available for learning MATLAB is really good and improvement on the previous year.Department of Automatic Control 2010 and Systems Engineering Student comments (year 1) continued 35 • It has perfect electronic resources. However, sometimes it is enough to get a slightly different question then you were taught and even if you know what to do, you don't know how to tell it to computer. • The electronic slides by Dr. Rossiter are really helpful--> self study was possible by using them. 2010 Department of Automatic Control and Systems Engineering Conclusions • Although we will not claim students are now highly proficient at problem solving with MATLAB, it is clear that they are much more positive about the expectation that they learn it by themselves. • A key aim of year 1 is to get students to engage with and accept independent learning – we believe introducing these resources has made a good contribution to meeting this aim. 2010 Department of Automatic Control and Systems Engineering PEER MARKING 2010 Department of Automatic Control and Systems Engineering Problem solving with MATLAB (year 1, sem 2) • Students produce code and a partner report demonstrating use of MATLAB to solve and illustrate engineering problems. • Mark schemes very prescriptive between: • Comments, correctness, code easier to run, report structure, efficiency of code, etc. Staff marking 2 weeks Two stage marking later Peer marking 1st Encourage reflection on quality before key submission 2010 Department of Automatic Control and Systems Engineering MATLAB 1. The author’s observations are that students were very actively engaged in the process and certainly making suggestions to each other about what they could improve or where their code did not fully meet the specifications. 2. However, the accuracy of marking of the qualitative aspects and some specific requirements was poor, even with very specific guidance to follow. 3. However, a useful formative process that seemed to encourage some PAL. In general students still struggling with open-ended criteria and independent learning used in this module to reflect some engineering practise; this impacts on marking. 2010 Department of Automatic Control and Systems Engineering ANIMATIONS WITH MATLAB 2010 Department of Automatic Control and Systems Engineering Virtual Laboratories It is well accepted that Laboratories help with motivation (authentic scenarios) and student activity helps learning. Virtual Laboratories have the advantage of been pseudo-authentic but available 24/7. Within MATLAB they are relatively easy to create. Assignments can be based around these to ensure student engagement. 2010 Department of Automatic Control and Systems Engineering Examples of animations I will demonstrate these if the conference facilities allow this. 1. Construction of Bode asymptotes and hence bode plots. animate_bode 2. Cross-over frequencies cross_overfreq(tf(1,[1 2 1 0])) 3. System dynamics (aeroplane landing, house heating, etc.) landingaircraft 2010 Department of Automatic Control and Systems Engineering 2010 Department of Automatic Control and Systems Engineering 2010 Department of Automatic Control and Systems Engineering Overlaytuning output 2010 Department of Automatic Control and Systems Engineering 46 Activity Go to the folder HEASEMINARAPRIL4 on the desktop. 1. Run the player.html file, jump to the later slides and follow the instructions therein. 2. You will need headphones. 2010 Department of Automatic Control and Systems Engineering Student comments On the whole, students are highly appreciative of the way MATLAB has been integrated into the curriculum • Matlab - easy if you use logical steps and the reference material available. • Found it quite difficult at first, but then realised I have to work on my own to really master Matlab; • I think the MATLAB assignment is a very good idea and think it is a shame that the module doesn’t focus more on this. • I find doing something with a pen and paper when MATLAB can do a much better job and quicker fairly tedious, although I do appreciate that some background is required. 2010 Department of Automatic Control and Systems Engineering QUESTIONS 2010 Department of Automatic Control and Systems Engineering