Computational Thinking

Content on this page was originally created for On the Cutting Edge: Teaching with Data, Simulations, and Models and is expanded here. Other content is derived from participant presentations, discussions, and breakout groups at the 2015 and 2017 workshops and benefitted from the editing of Risa Madoff, University of North Dakota.

Computational thinking is the thought processes associated with examining a problem and formulating a solution that can be solved by a person or machine. More and more, scientists are turning to machines and programs to tackle complex problems and large datasets, requiring strong computation and programming skills.

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.

Jump down to: Getting Started with MATLAB | Resources

« Back to Teaching Computation in the Sciences


Introducing Students to Computation

Frederik Simon
Click to view
Frederik 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

Computational Thinking
Resources from MathWorks »
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:

Teaching with MATLAB
Click to view
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)


MATLAB: a computing playground
Click to view
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:

Resources

Introductory MATLAB Activities

Community

« Back to Teaching Computation in the Sciences