Initial Publication Date: January 19, 2018

Workshop Synthesis

At the 2017 workshop, Developing Competency in Teaching Computation using MATLAB, faculty participants who teach computation across the STEM disciplines gathered to share their teaching activities and strategies and to discuss their pedagogical approaches. The overarching focus was on teaching computation and quantitative thinking using MATLAB more effectively. Participants came to the workshop because they know that computation and modeling are increasingly important skills that students in STEM must possess to be successful in their fields after graduation; however, there are challenges that can make effective incorporation of computation into the curriculum difficult. Here, we present some of the motivations, common challenges, and best practices discussed by participants of the 2017 workshop. The synthesis is not meant to be an exhaustive treatment of these topics; rather, it is a summary of the key ideas from workshop presentations and discussions.


Why use MATLAB to teach computation at the undergraduate level:

Computation and modeling are core to many STEM fields. Using MATLAB to teach computation and modeling exposes students to a powerful tool for research and discovery, particularly because it has functionality to combine exploration of domain concepts with interactive computation, as well as more formal programming. Thus, it enhances students' conceptual understanding of important topics while building their computation skills; provides our undergraduate students with the skills and knowledge to be well prepared for a diverse set of careers; and demonstrates how professionals engage with our own work, which often includes open-ended questions, creative thinking, and collaboration.

Common challenges encountered in teaching computation:

2017 workshop participants all agreed that teaching computation to undergraduate STEM students is essential. However, they also agreed that there are some inherent challenges in doing so, including pedagogical, technical, and institutional challenges. Most of these challenges can be addressed by means of the strategies and approaches articulated by workshop participants.

  • Examples of pedagogical challenges:
    • Computation and programming have a "high activation energy." These techniques are unfamiliar to most students, making it difficult for the students to get started.
    • A single course using MATLAB is not enough to familiarize students with computation and programming.
    • Students come in with a wide range of prior experience in computation and programming. Students' lack of familiarity with concepts such as "what is an algorithm" can increase resistance to learning and decrease engagement.
    • It's difficult to incorporate computation without turning a course into a "coding" class.
  • Examples of technical challenges:
    • In order to use MATLAB on a regular basis for a course, students need access to hardware (computers, devices) and software (MATLAB, toolboxes). These requirements can create issues of equity due to their costs.
    • Class size and room layout can limit how students interact with instructors, technology, and each other.
  • Examples of institutional challenges:
    • Lack of departmental and institutional support for teaching computation and modeling, with or without MATLAB, can exacerbate the pedagogical and technological challenges. Conversely, departmental and institutional support can mitigate these challenges significantly.

Approaches and strategies to develop students' competence in computation:

2017 workshop participants shared their most effective teaching activities and strategies for teaching computation using MATLAB. These include:

  • Use evidence-based pedagogies and practices to enhance student learning.
    • Set learning goals in your courses that include both computation tools and problem solving skills.
    • Develop student confidence and skills by building on familiar tools such as calculators and Excel.
    • Provide scaffolding for students through strategies such as skeleton codes, instructional videos, group coding, or code libraries.
    • Use peer-to-peer support and group work. When carefully constructed, teams and groups can positively impact student learning and engagement.
  • Increase student interest, engagement, and experience.
    • Using MATLAB throughout the curriculum gives students skills they can practice and develop over several years. Through this they achieve more than they would in a single course.
    • Implementing capstone projects where students need to incorporate MATLAB provides a goal outside of individual courses.
    • Use new and exciting tools that change the ways instructors can teach (and students can use) MATLAB, such as Live Script for code generation and manipulation.
    • Use real-world datasets as hooks to get students engaged and inspired.
  • Increase the engagement of colleagues, departments, and institutions by showing the value of MATLAB in student learning and our own work.
    • Share resources from outside of our departments. Recognize that finding resources is the first (and a frequently difficult and time-consuming) step.
    • Build on student capacity by using them as MATLAB "consultants" for faculty who want to incorporate MATLAB into courses.
    • Strengthen connections with colleagues in Mathematics and Computer Science. Using the language of Math allows students to see how useful MATLAB can be across all the STEM disciplines.
    • Showcase what students are capable of doing - to colleagues and other students.
      • We can inspire both of these groups by sharing what students have accomplished.