Learning MATLAB in the Inverted Classroom

University courses have retained the same basic structure for hundreds of years. That structure fol-lows an easily identifiable work flow: 1. Students come to a class meeting during which a lecture is given. Students take notes and oc-casionally ask questions. 2. Following the lecture, learners are assigned work to be completed outside of class. This usually takes the form of homework, test preparation, or writing papers. 3. The outside-of-class work is submitted or as-sessed in class. The cycle then repeats. Learning theorists would note that parts 1 and 2 correspond roughly to two stages of learning. The first stage, known as transmission, involves learners acquiring new information and placing it into their conscious minds. The second stage is known as as-similation. During assimilation, learners take what they have acquired during transmission and assimi-late it into their pre-existing cognitive structures for making sense of information. We generally do not consider a student to have learned a concept until the student can demonstrate successful assimilation of that concept through tasks that demand more than basic recall of information. In the traditional classroom structure described above, class meetings are devoted to transmission, and assimilation is delegated to outside-of-class work such as homework. Assimilation targets the most complex cognitive tasks, as measured by ru-brics such as Bloom's Taxonomy[2], associated with a given concept. Therefore, this is the point where students would benefit most from the presence and coaching of an expert learner, namely the instructor. But since the tasks are done outside of class, this is precisely the moment when instructor guidance is least readily available. Conversely, transmission -- hearing and taking notes -- is far simpler than assimilation and therefore  less needful of help from an expert, but it is the time when the instructor is most fully available. Further-more, the “live” element of a lecture makes even transmission difficult for some learners. Many would benefit from the ability to pause, rewind, and replay lectures to view the information again. It is also the case that the length of a lecture often ex-ceeds the attention span of the audience many times over, and if a lecture must be 50 minutes long or longer, the ability to watch only parts of it at a time would be helpful. In computing instruction, the issues described above are particularly acute. The amount of factual information in an introductory programming course is low relative to introductory courses in other disci-plines, and the amount of assimilation of those basic ideas that is required is relatively high. It is difficult to learn to program by merely watching a lecture on how to program. The difficulty lies in implementing the concepts of programming, and students in the traditional classroom are largely left to figure this out on their own.