Flipping Matlab programming

Posted in: Case Studies

Project Leader: Dr Philip Shields, Department of Electronic and Electrical Engineering

This is a case study of one of the University's funded pilot Flipping Projects, looking at the motivation for flipping, the methods used, lessons learnt and impact.


The intention of EE10134 is to introduce computer programming to 1st year Electrical Engineering students and give them the skills and expertise to be able to use the MATLAB programming language to solve engineering problems. One of the main challenges with doing this is to create a course that will address the needs of those with little or no experience of programming (~75%) along with those who have taken a computing A-level (~15%), albeit with no knowledge of MATLAB.

Previously this unit has involved a set of 12 lectures, the first 6 simultaneously addressed to 2nd year Mechanical Engineers, and a series of weekly 3-hour lab sessions. Whilst the lectures did not allow any differential instruction, the lab sessions involved extension activities to challenge the most able. Student feedback, both mid- and end-semester, highlighted that the pace of the lecture material was not suitable, with many indicating that it was too fast, and a smaller proportion that it was too slow.

The exam consisted of two questions related to the MATLAB part of the course. In 2013-14 the marks spanned the full range available, with one student receiving the maximum mark. Whilst the inevitable correlation of the exam performance with previous experience was found, it was not perhaps as strong as might have been expected. The greatest concern was that a large number of students scored less than 25% in the exam, despite having achieved between 30-70% in the MATLAB coursework element.

The majority of the intended learning outcomes (ILOs) require a deep level of learning and can be categorised as levels 4-5 of the SOLO taxonomy (Structure of the Observed Learning Outcome) 4. For example, to create computer programmes requires a basic knowledge of the language and the principles of assembling that knowledge into coherent code. Furthermore to debug a programme requires an analysis of incorrect code, an appreciation of the code author’s strategy (for the case when you are debugging someone else’s code), and a highly-refined quality of knowledge.

The exam particularly targeted the intended learning outcomes by asking the students to solve a small coding problem. The poor marks by the majority highlighted the ineffectiveness of the previous course design in achieving these outcomes. Furthermore they suggested that the course catered better for the more able students than the less able.

Flipping the classroom is an alternative form of delivery that potentially allows for a differentiated learning experience for students. Delivering unit material asynchronously via video rather than via lecture would allow students to work at their respective pace. The idea is that the face-to-face lecture time can then be used in a better way than just delivering information, such as tutorial or problem solving sessions, thus demonstrating ‘how to think as a computer programmer’.

By addressing solely the need of the majority of students entering a 1st year programming course it is likely to risk eroding the enthusiasm of the most able students and make the university less attractive to such students, the ones that departments are most competing to attract. Students with more than ‘some’ programming experience previously achieved an average of 7% higher in their overall semester mark (70%) than those with ‘a little’ or ‘none’ (63%).

The flipped classroom

The previous learning activities consisted of 2x 1 hr lectures and 1x 3 hr lab per week. The lectures focused on conveying the basic knowledge about individual commands, and were thus uni-structural in their level of learning. The lab sessions started with testing the student’s uni-structural knowledge, but quickly moved on to the higher levels of applying the basic knowledge by creating programmes that solve a problem. However, not all students reached the problems that tested the higher levels. The lab sessions were ended by a Moodle quiz that assessed the progress and understanding of the students during that lab. Therefore, there was close alignment of the lab sessions to the ILOs, but poor alignment of the lectures.

In order to improve the use of lecture time, during the 2014-15 academic year the basic knowledge of the MATLAB language was distributed prior to the lectures in the form of online videos and copies of the previous lecture notes. The expectation was that the students studied these in their own time using Moodle ‘Learning Checks’ (more Moodle quizzes) to check their understanding. The online videos were developed with the Camtasia software that was bought using the Flipping Project budget. In the end only four were created due to time constraints, but the plan is to create more for subsequent years.

The lecture time then addressed more of the difficult topics that one would encounter in programming and the lectures were also relocated to the new 80-seat computer lecture theatre in the Chancellors Building. This allowed a more interactive learning experience where problems were tackled together in class, the process of problem solving being modelled from the front and there was also now time within the lecture schedule to include the important topic of debugging.

Lessons Learnt

The primary aim of achieving differentiation in the course was difficult to achieve since any lecture format requires the addressing of the whole cohort together. However breaking down the lecture into 5-10 min activities that can allow the students to proceed at different speeds offered a partial solution.

Preparing the pre-sessional videos took a substantial amount of time, but these should be reusable for a number of years and have been made available to students on other courses. One unforeseen issue that was found with using pre-sessional material is that it was difficult to remember in a lecture what topics the students had covered in their own time, having not spent the same time on it as the students.


The graphs below show the MATLAB exam performance of two cohorts. A conventional lecture format was given to the 2013-14 cohort whereas the 2014-15 cohort received the flipped format. Whilst calibrating exams is a difficult task, the intention was to maintain the level as much as possible in order to be able to assess the effectiveness of the flipped approach. The results clearly show improved outcomes overall, with a stark drop of the number of candidates achieving <20%.

matlab graphs

Disappointingly student feedback showed no improvement on the question ‘I find the teaching methods used in this unit are effective in helping me learn’. In 2013-14 this was rated as 3.83, whilst in 2014-15 is rated 3.85.

My opinion is that there was no question that this course should not be flipped. I believe the issues that were encountered during the first implementation were due to inexperience in running this type of course which can only improve over time.

Posted in: Case Studies