Download presentation
Presentation is loading. Please wait.
Published byMargery Adams Modified over 6 years ago
1
Developing Computational Skills in the Sciences with MATLAB
Lisa Alain Benjamin Daniel Presenters: Lisa Kempler, Alain Plattner, Benjamin Bratton, Daniel Zysman Audience: Science educators
2
The Session Will Give You
Strategies for teaching data analysis, modeling, and computation, in domain-focused courses Resources for teaching computation in Sciences Teaching activities (with code) Tools to address common challenges conveying computational skills in the Sciences with MATLAB Access to a community of peer educators
3
Session Flow Session goals
Tour of MATLAB Resources for Sciences: SERC site 3 professors’ representative Teaching Activities Choice of geophone layout in a simple near-surface seismics setting Alain Plattner, Geophysics California State University – Fresno Building Modular Tools for Visualizing Computation Benjamin Bratton, Biology Princeton University Principal Component Analysis Daniel Zysman, Neuroscience Massachusetts Institute of Technology Q&A
4
Teaching Computation in the Sciences with MATLAB Workshop (Oct 2016)
Objectives and process Participants Outcomes
5
Participants and Posted Resources
he
6
Resource Overview Page: Teaching with MATLAB
7
October 2016 Workshop Outcomes: Teaching Computation with MATLAB
8
SERC Site Resources: Teaching Computation with MATLAB
MATLAB page for educators data_models/toolsheets/MATLAB.html Workshop resources and outcomes teaching_computation/index.html matlab_computation2016/outcomes.html
9
Session Flow Session goals
Tour of MATLAB Resources for Sciences: SERC site 3 professors’ representative Teaching Activities Choice of geophone layout in a simple near-surface seismics setting Alain Plattner, Geophysics California State University – Fresno Building Modular Tools for Visualizing Computation Benjamin Bratton, Biology Princeton University Principal Component Analysis Daniel Zysman, Neuroscience Massachusetts Institute of Technology Q&A
10
California State University Fresno
Examples using Matlab / Octave for Experimental Design and Data Processing in a Near-surface Applied Geophysics Class Alain Plattner California State University Fresno April 27, 2017
11
Two Matlab / Octave m-file packages
On Seism-O: Simulation of applied geophysics seismic data Used for teaching concepts and experimental design GPR-O: Processing and visualization of ground penetrating radar data Used for teaching concepts and effects of data processing
12
Seism-O: Simple Seismic Data Simulation
13
Seism-O: Simple Seismic Data Simulation
14
Seism-O: Simple Seismic Data Simulation
15
Seism-O: Simple Seismic Data Simulation
Show simulated arrival times Simulated arrival times using Seism-O for 1 m geophone spacing
16
Seism-O: Simple Seismic Data Simulation
Simulated arrival times for 1 m geophone spacing Simulated waveforms for 1 m geophone spacing
17
Seism-O: Simple Seismic Data Simulation
Simulated waveforms for 2 m geophone spacing Simulated waveforms for 1 m geophone spacing
18
Seism-O: Simple Seismic Data Simulation
Software and teaching activity on Simulated waveforms for 2 m geophone spacing Simulated waveforms for 1 m geophone spacing
19
GPR-O: GPR data processing & visualization
20
GPR-O: GPR data processing & visualization
Instructions and software on Simple Matlab / Octave scripts Ground penetrating radar basic data processing 2-D profile and depth-slice plots Topography Educational documentation GPR data available for example from
21
GPR-O: GPR data processing & visualization
Data: Liu et al. (in prep)
22
GPR-O: GPR data processing & visualization
Data: Liu et al. (in prep)
23
GPR-O: GPR data processing & visualization
Data: Liu et al. (in prep)
24
GPR-O: GPR data processing & visualization
Data: Liu et al. (in prep)
25
GPR-O: GPR data processing & visualization
Tutorial with test data: Raw field data available for example from:
26
Summary Seism-O and GPR-O: Matlab / Octave scripts for seismic data simulation and ground penetrating radar data processing Both available from For near-surface geophysics class or general data simulation, experimental design, data processing class.
27
Building modular tools for visualizing computation
28
Why are computational tools daunting (for biology graduate students) to use?
“The toolbox can’t find a thing and so it gives an error.” “I don’t know which parameters are important and which ones I’m not supposed to touch.” “I understood the code you showed us in class, but when I go to do the homework problems, I can’t figure out what to write.” “I don’t want to use a tool when I don’t entirely understand the math. What if there’s some important assumption that I’m missing?” “I used these four different packages and one of them gave me the result that I think will make my boss happy, so I must have done something wrong on the other ones.”
29
Modular problem sets help students quickly gain proficiency
Small pieces with displayed outputs Reusable pieces Springboard to independence “The toolbox can’t find a thing and so it gives an error.” “I don’t know which parameters are important and which ones I’m not supposed to touch.” “I understood the code you showed us in class, but when I go to do the homework problems, I can’t figure out what to write.” “I don’t want to use a tool when I don’t entirely understand the math. What if there’s some important assumption that I’m missing?” “I used these four different packages and one of them gave me the result that I think will make my boss happy, so I must have done something wrong on the other ones.”
30
What do x(t) and y(t) look like?
Dynamical systems What do x(t) and y(t) look like? “The toolbox can’t find a thing and so it gives an error.” “I don’t know which parameters are important and which ones I’m not supposed to touch.” “I understood the code you showed us in class, but when I go to do the homework problems, I can’t figure out what to write.” “I don’t want to use a tool when I don’t entirely understand the math. What if there’s some important assumption that I’m missing?” “I used these four different packages and one of them gave me the result that I think will make my boss happy, so I must have done something wrong on the other ones.”
31
Dynamical systems “The toolbox can’t find a thing and so it gives an error.” “I don’t know which parameters are important and which ones I’m not supposed to touch.” “I understood the code you showed us in class, but when I go to do the homework problems, I can’t figure out what to write.” “I don’t want to use a tool when I don’t entirely understand the math. What if there’s some important assumption that I’m missing?” “I used these four different packages and one of them gave me the result that I think will make my boss happy, so I must have done something wrong on the other ones.”
32
Dynamical systems “The toolbox can’t find a thing and so it gives an error.” “I don’t know which parameters are important and which ones I’m not supposed to touch.” “I understood the code you showed us in class, but when I go to do the homework problems, I can’t figure out what to write.” “I don’t want to use a tool when I don’t entirely understand the math. What if there’s some important assumption that I’m missing?” “I used these four different packages and one of them gave me the result that I think will make my boss happy, so I must have done something wrong on the other ones.”
33
Dynamical systems “The toolbox can’t find a thing and so it gives an error.” “I don’t know which parameters are important and which ones I’m not supposed to touch.” “I understood the code you showed us in class, but when I go to do the homework problems, I can’t figure out what to write.” “I don’t want to use a tool when I don’t entirely understand the math. What if there’s some important assumption that I’m missing?” “I used these four different packages and one of them gave me the result that I think will make my boss happy, so I must have done something wrong on the other ones.”
34
Dynamical systems “The toolbox can’t find a thing and so it gives an error.” “I don’t know which parameters are important and which ones I’m not supposed to touch.” “I understood the code you showed us in class, but when I go to do the homework problems, I can’t figure out what to write.” “I don’t want to use a tool when I don’t entirely understand the math. What if there’s some important assumption that I’m missing?” “I used these four different packages and one of them gave me the result that I think will make my boss happy, so I must have done something wrong on the other ones.”
35
Specific example: Modeling oscillations of glycolysis in yeast
For multiple versions of the code see lization_SERC201610
36
Benefits for modular problems
Students learn when to take breaks Fail (and succeed) quickly Encourages code reuse “The toolbox can’t find a thing and so it gives an error.” “I don’t know which parameters are important and which ones I’m not supposed to touch.” “I understood the code you showed us in class, but when I go to do the homework problems, I can’t figure out what to write.” “I don’t want to use a tool when I don’t entirely understand the math. What if there’s some important assumption that I’m missing?” “I used these four different packages and one of them gave me the result that I think will make my boss happy, so I must have done something wrong on the other ones.”
37
A principled way to principal components analysis
Daniel Zysman April 27, 2017
38
Teaching scientific computing in Brain & Cog sciences
The challenge is to deal with students motivation, preparedness and interest: How to effectively break the ice. How to cope with inertia. We need to make it interesting, relevant and transferable.
39
A two tier approach Tier 1:
Learn the basics of data visualization and modelling via toy examples. Build it step by step. Tier 2: Apply the fundamentals to fun and relevant problems. Photos: Mandana Sassanfar, Quantitative Methods Workshop, CBMM, MIT.
40
Tier 1: PCA Toy Example Toy data: Bivariate Gaussian, unknown covariance to students. Task: Find directions of maximum variance. Rotate Project Reveal Structure
41
Take home messages: Rotations and Projections
Data variability and its geometry Matrix duality: to represent data to transform data Challenge activity: make a dataset, ask fellow student to reveal underlying structure.
42
Tier 2: PCA for image classification
Teaching activity: 28 by 28 pixels 8-bit gray scale images These images live in a 784 dimensional space Task: classify digits one from seven using PCA Revisit: rotations projections MNIST data set
43
Pairwise pixel intensity relations
There are more than possible pairwise pixel plots!!! Not clear which one to choose. Which choice is more informative? Try PCA.
44
The 9 images that capture most variance
45
Projections for classification
The first two PCs capture ~37% of the total variance. The data clusters nicely in this space (linear separability).
46
Learning outcomes PCA reveals underlying structure in the data.
It aids in visualization and classification tasks. Provides a chance to address short comes, assumptions and pitfalls. Emphasize the different role of matrices: To store data To transform data
47
Student’s feedback The two tier approach:
Keep students engaged and motivated to learn, while being challenged. Improves confidence and competency to transfer what they have learned to broader contexts.
48
Join the Community: Teaching Computation in Sciences with MATLAB Community
49
Join the Community: Teaching Computation in Sciences with MATLAB Community
50
Future Community Sessions on Teaching with MATLAB
Earth Educators’ Rendezvous, July 17-21, 2017 Early Bird Registration deadline is May 1st! Mark your calendars! Teaching Computation with MATLAB in the Sciences Workshop October 15-17, 2017 Carleton College, Northfield, MN Rory McFadden if you are interested in joining the community
51
SERC Resources: Teaching Computation with MATLAB
MATLAB page for educators toolsheets/MATLAB.html And researchers, too Workshop outcomes Teaching Activities Pedagogy and computational philosophy Community
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.