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.
- Educators should be intentional about when, why, and how students are grouped. They can use resources such as Comprehensive Assessment for Team-Member Effectiveness (CATME) and StrengthsQuest to create effective teams.
- Princess Imoukhuede discussed how she uses CATME and StrengthsQuest to enhance student learning and engagement in her presentation on the design of BIOE 201: Conservation Principles in Bioengineering (PowerPoint 2007 (.pptx) 21MB Oct17 17)
- 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.
- Marie Lopez del Puerto discussed how she and her colleagues at the University of St. Thomas have incorporated computation throughout their curriculum in her keynote presentation on the importance of teaching and learning computational thinking in the sciences (PowerPoint 2007 (.pptx) 10.1MB Oct14 17).
- 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.
- Paul Kassebaum shared how students can use MATLAB as a computing playground (PowerPoint 2007 (.pptx) 5.5MB Oct13 17).
- Use real-world datasets as hooks to get students engaged and inspired.
- Greg Hancock discussed how he teaches the basics of MATLAB while also incorporating data into his class (PowerPoint 2007 (.pptx) 19.7MB Oct16 17).
- 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.
- Activities and essays from the 2017 MATLAB workshop.
- Activities, essays, and courses drawn from the 2015, 2016, and 2017 workshops.
- 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.