Students who learn computational thinking and the skills to take advantage of programs such as MATLAB can take control of their data, explore models, and output results with a complete understanding of what happened. While most students do not become programmers, it is important for them to understand how computation and modeling contribute to scientific problem solving. With a little understanding and groundwork, a non-programmer can know enough to ask probing questions about programming output. Educators can ensure the development of these skills by exposing students to computation and programming through focused, scaffolded, and contextualized assignments that allow them to explore problems and the tools scientists use to solve them.
Introducing Students to ComputationFrederik Simons (Princeton University) presented his approach to introducing students to MATLAB at the 2015 Workshop: Hello Earth! A grounded introduction to MATLAB. Simons focuses on building programming skills and uses many engaged pedagogies including teaching with data and incorporating research-like experiences. His methods launch students into utilizing many MATLAB features and thinking like an expert.
Download a PDF of the presentation (Acrobat (PDF) 3.7MB Oct19 15)
Other approaches discussed at the workshop included:
- Producing simple plots
- Illustrating that the program produces things they are familiar with
- Exploring the anatomy of a program - what is it?
- Assigning variables/using command line
- Scripts, functions
- Diagramming - coding with intention
- Creating visual representations of finding a solution to a problem
- Metacognitive opportunities
- Reflection about a problem, such as calculations, correlations, spatial and temporal scales, dimensionality, conversion, functionality, and error
- Written diaries recording and reflecting on code, syntax, and programming
Getting Started with MATLAB
During the 2016 and 2017 workshops on teaching computation with MATLAB, Paul Kassebaum (MathWorks) discussed the value of computational thinking and tools to get students started with MATLAB. He also discussed resources on the MathWorks website that can be useful for implementing computation using MATLAB in your courses.
Paul Kassebaum's Presentations:In his 2016 presentation, Teaching with MATLAB, Paul discussed ways to incorporate and improve the use MATLAB teaching. He covers course content, pedagogical methods, course structure, materials and implementation, and faculty development and support.
Download the presentation (PowerPoint 2007 (.pptx) 9.2MB Oct25 16)
In his 2017 presentation, MATLAB: A computing playground for science students, Paul showed how MATLAB can be used as a "computing playground" where students are able to interactively build code, run simulations, solve problems numerically or analytically, extract, analyze, and visualize experimental data, model, and simulate phenomena to build intuition, express and simulate equations to test hypotheses, simulate analytical models to test predictions.
Download the presentation (PowerPoint 2007 (.pptx) 5.5MB Nov20 17)
MathWorks resources for teaching and learning:
- MATLAB Academy and Onramp: Free interactive, self-paced online learning
- MATLAB Central: MATLAB community for sharing code and expertise
- MathWorks Blog : Learn from the MATLAB experts
- Computational Thinking Resources from MathWorks
Introductory MATLAB Activities
- Using Autocorrelation and Cross-correlation to Explore Links Between River Discharge and Regional Climate, Peter Adams (University of Florida). Students learn to write an efficient MATLAB script to load data, conduct analyses, and plot the results, followed by "publishing" their code.
- Curve Fitting Exercise in MATLAB, Wendy Thomas (University of Washington). Students program using MATLAB to compare the fit of several models to an experimental data set.
- Volume of Oceans, and Sea-Level Variations, Charly Bank (University of Toronto). In addition to advancing their computing skills, they also need to consider the limitations of their model and are asked to compose a scientific paper.
- Isostasy and crustal thickness, Audrey Huerta (Central Washington University). Students learn to manipulate and code algebraic equations.
- Scalar diffusion, Nimish Pujara (University of California - Berkeley). This problem set provides the students the chance to cement their understanding of scalar diffusion in a quiescent fluid. It is a useful first assignment that covers the basics of the physics and computations.
- Introduction to MATLAB for Geomorphology, Risa Madoff (University of North Dakota). MATLAB is used to expose beginning students to using computer programming and mathematical concepts to quantify hillslope elevation change over time.
- Global Warming: A Zonal Energy Balance Model and Tracking Groundwater Pollution, Victor Padron (Normandale Community College). Students develop basic skills in programming and scientific computing by writing their own MATLAB code with graphical representation of the solutions.
- Introduction to MATLAB for Oceanographic Data, Anna Pfeiffer-Herbert, Stockton University. Students explore scalar and vector time series and profile data commonly used in the field of Oceanography using data sets from publicly available sources or that they collected in local waters.
- Join the Teaching Computation in the Sciences Using MATLAB community to discuss ideas and ask experts questions