SlideShare a Scribd company logo
Developing Computational Skills
in the Sciences with MATLAB
Presenters: Lisa Kempler, Alain Plattner, Benjamin Bratton, Daniel Zysman
Audience: Science educators
Lisa Alain Benjamin Daniel
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
http://serc.carleton.edu/NAGTWorkshops/data_models/matlab16/index.html
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
Teaching Computation in the Sciences
with MATLAB Workshop (Oct 2016)
• Objectives and process
• Participants
• Outcomes
https://serc.carleton.edu/NAGTWorkshops/data_models/matlab15/participants.htm
he
Participants and Posted Resources
Resource Overview Page:
Teaching with MATLAB
http://serc.carleton.edu/NAGTWorkshops/data_models/toolsheets/MATLAB.html
October 2016 Workshop Outcomes:
Teaching Computation with MATLAB
http://serc.carleton.edu/teaching_computation/index.html
SERC Site Resources:
Teaching Computation with MATLAB
MATLAB page for educators
• http://serc.carleton.edu/NAGTWorkshops/
data_models/toolsheets/MATLAB.html
Workshop resources and outcomes
• http://serc.carleton.edu/
teaching_computation/index.html
• http://serc.carleton.edu/
matlab_computation2016/outcomes.html
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
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
https://github.com/NSGeophysics
Two Matlab / Octave m-file packages
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
On https://github.com/NSGeophysics
https://github.com/NSGeophysics
Seism-O: Simple Seismic Data Simulation
https://github.com/NSGeophysics
https://github.com/NSGeophysics
Seism-O: Simple Seismic Data Simulation
air wave
direct wave
refracted waveReflected wave
V1
V2
V0 = 343 m/s
https://github.com/NSGeophysics
Seism-O: Simple Seismic Data Simulation
air wave
direct wave
refracted waveReflected wave
V1
V2
V0 = 343 m/s
Show simulated arrival times
Simulated arrival times using Seism-O for 1 m geophone spacing
https://github.com/NSGeophysics
Seism-O: Simple Seismic Data Simulation
Simulated arrival times for 1 m geophone spacing Simulated waveforms for 1 m geophone spacing
https://github.com/NSGeophysics
Seism-O: Simple Seismic Data Simulation
Simulated waveforms for 2 m geophone spacing Simulated waveforms for 1 m geophone spacing
https://github.com/NSGeophysics
Seism-O: Simple Seismic Data Simulation
Simulated waveforms for 2 m geophone spacing Simulated waveforms for 1 m geophone spacing
Software and teaching activity on
https://github.com/NSGeophysics/Seism-O/wiki
https://github.com/NSGeophysics
Seism-O: Simple Seismic Data Simulation
GPR-O: GPR data processing & visualization
https://github.com/NSGeophysics
Instructions and software on
https://github.com/NSGeophysics/GPR-O/wiki
- 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
https://alaska.usgs.gov/portal/project.php?project_id=384
https://github.com/NSGeophysics
GPR-O: GPR data processing & visualization
Data: Liu et al. (in prep)
https://github.com/NSGeophysics
GPR-O: GPR data processing & visualization
https://github.com/NSGeophysics
GPR-O: GPR data processing & visualization
Data: Liu et al. (in prep)
https://github.com/NSGeophysics
GPR-O: GPR data processing & visualization
Data: Liu et al. (in prep)
https://github.com/NSGeophysics
Data: Liu et al. (in prep)
GPR-O: GPR data processing & visualization
Tutorial with test data:
https://github.com/NSGeophysics/GPR-O/blob/master/doc/GPR-O.pdf
Raw field data available for example from:
https://alaska.usgs.gov/portal/project.php?project_id=384
https://github.com/NSGeophysics
GPR-O: GPR data processing & visualization
Summary
- Seism-O and GPR-O: Matlab / Octave scripts for seismic data
simulation and ground penetrating radar data processing
- Both available from https://github.com/NSGeophysics
- For near-surface geophysics class or general data simulation,
experimental design, data processing class.
https://github.com/NSGeophysics
Building modular tools for
visualizing computation
Why are computational tools
daunting (for biology graduate students) to use?
Modular problem sets help
students quickly gain proficiency
• Small pieces with
displayed outputs
• Reusable pieces
• Springboard to
independence
Dynamical systems
What do x(t) and y(t) look like?
Dynamical systems
Dynamical systems
Dynamical systems
Dynamical systems
Specific example: Modeling
oscillations of glycolysis in yeast
For multiple versions of the code see
https://github.com/bpbratton/buildingModularVisua
lization_SERC201610
Benefits for modular problems
•Students learn when to take breaks
•Fail (and succeed) quickly
•Encourages code reuse
A principled way to principal
components analysis
Daniel Zysman
April 27, 2017
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.
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.
Tier 1: PCA Toy Example
Toy data: Bivariate Gaussian, unknown covariance to students.
Task: Find directions of maximum variance.
-8 -6 -4 -2 2 4 6 8 10
X1
-6
-4
-2
2
4
6
X2
-8 -6 -4 -2 2 4 6 8 10
X1
-6
-4
-2
2
4
6
X2
-8 -6 -4 -2 2 4 6 8 10
X1
-6
-4
-2
2
4
6
X2
-8 -6 -4 -2 2 4 6 8 10
X1
-6
-4
-2
2
4
6
X2
Rotate
Project
Reveal
Structure
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.
Tier 2: PCA for image classification
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
Teaching activity:
http://serc.carleton.edu/matlab_computation2016/activities/159581.html
MNIST data set
http://yann.lecun.com/exdb/mnist/
Pairwise pixel intensity relations
• There are more than 300000 possible pairwise pixel plots!!!
• Not clear which one to choose.
• Which choice is more informative? Try PCA.
The 9 images that capture most
variance
Projections for classification
• The first two PCs capture ~37% of the total variance.
• The data clusters nicely in this space (linear separability).
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
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.
Join the Community:
Teaching Computation in Sciences with MATLAB
Community
• http://serc.carleton.edu/matlab_computatio
n2016/community.html
Join the Community:
Teaching Computation in Sciences with MATLAB
Community• http://serc.carleton.edu/matlab_computatio
n2016/community.html
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
• Email Rory McFadden (rmcfadden@carleton.edu) if
you are interested in joining the community
SERC Resources:
Teaching Computation with MATLAB
MATLAB page for educators
• http://serc.carleton.edu/NAGTWorkshops/data_models/
toolsheets/MATLAB.html
• And researchers, too
Workshop outcomes
• Teaching Activities
– http://serc.carleton.edu/matlab_computation2016/activities.html
• Pedagogy and computational philosophy
– http://serc.carleton.edu/teaching_computation/index.html
• Community
– http://serc.carleton.edu/matlab_computation2016/community.html

More Related Content

PPTX
Going Smart and Deep on Materials at ALCF
PPTX
Graph Centric Analysis of Road Network Patterns for CBD’s of Metropolitan Cit...
PPTX
AI at Scale for Materials and Chemistry
PPTX
Computing Just What You Need: Online Data Analysis and Reduction at Extreme ...
PDF
Graph neural networks overview
PDF
How might machine learning help advance solar PV research?
PDF
Evaluating Machine Learning Algorithms for Materials Science using the Matben...
PDF
Materials Informatics and Python
Going Smart and Deep on Materials at ALCF
Graph Centric Analysis of Road Network Patterns for CBD’s of Metropolitan Cit...
AI at Scale for Materials and Chemistry
Computing Just What You Need: Online Data Analysis and Reduction at Extreme ...
Graph neural networks overview
How might machine learning help advance solar PV research?
Evaluating Machine Learning Algorithms for Materials Science using the Matben...
Materials Informatics and Python

What's hot (20)

PDF
Automating materials science workflows with pymatgen, FireWorks, and atomate
PDF
Modellbildung, Berechnung und Simulation in Forschung und Lehre
PPTX
How to expand the Galaxy from genes to Earth in six simple steps (and live sm...
PPTX
20191107 deeplearningapproachesfornetworks
PPTX
Accelerating the Experimental Feedback Loop: Data Streams and the Advanced Ph...
PDF
The Status of ML Algorithms for Structure-property Relationships Using Matb...
PDF
The DuraMat Data Hub and Analytics Capability: A Resource for Solar PV Data
PDF
Accelerated Materials Discovery Using Theory, Optimization, and Natural Langu...
PDF
TMS workshop on machine learning in materials science: Intro to deep learning...
PDF
Materials Informatics Overview
DOCX
Mark_Yashar_Resume_Fall_2016
PDF
Overview of DuraMat software tool development
PPTX
Classifying Simulation and Data Intensive Applications and the HPC-Big Data C...
PDF
Software tools for calculating materials properties in high-throughput (pymat...
PDF
ExaLearn Overview - ECP Co-Design Center for Machine Learning
PDF
CV_myashar_2017
PPTX
Visualizing and Clustering Life Science Applications in Parallel 
DOCX
Mark_Yashar_Resume_2017
PDF
DuraMat Data Analytics
PDF
Human Behavior Understanding: From Human-Oriented Analysis to Action Recognit...
Automating materials science workflows with pymatgen, FireWorks, and atomate
Modellbildung, Berechnung und Simulation in Forschung und Lehre
How to expand the Galaxy from genes to Earth in six simple steps (and live sm...
20191107 deeplearningapproachesfornetworks
Accelerating the Experimental Feedback Loop: Data Streams and the Advanced Ph...
The Status of ML Algorithms for Structure-property Relationships Using Matb...
The DuraMat Data Hub and Analytics Capability: A Resource for Solar PV Data
Accelerated Materials Discovery Using Theory, Optimization, and Natural Langu...
TMS workshop on machine learning in materials science: Intro to deep learning...
Materials Informatics Overview
Mark_Yashar_Resume_Fall_2016
Overview of DuraMat software tool development
Classifying Simulation and Data Intensive Applications and the HPC-Big Data C...
Software tools for calculating materials properties in high-throughput (pymat...
ExaLearn Overview - ECP Co-Design Center for Machine Learning
CV_myashar_2017
Visualizing and Clustering Life Science Applications in Parallel 
Mark_Yashar_Resume_2017
DuraMat Data Analytics
Human Behavior Understanding: From Human-Oriented Analysis to Action Recognit...
Ad

Similar to Developing Computational Skills in the Sciences with Matlab Webinar 2017 (20)

PDF
Resonance Introduction at SacPy
PPTX
Teaching with MATLAB
PDF
A Survey Of Computational Physics Introductory Computational Science
PPTX
Computation Teaching Problems
PDF
Python as number crunching code glue
PDF
Workshop on sparse image and signal processing
PPTX
MATLAB for PhD Students Research Guidance
DOC
Cse 7 softcomputing lab
PDF
Number Crunching in Python
PDF
Resources for Teaching Undergraduate Computational Physics
KEY
Data-Intensive Research
PDF
ePOM - Intro to Ocean Data Science - Scientific Computing
PDF
2015 03-28-eb-final
DOCX
Applied Numerical Methodswith MATLAB® for Engineers and .docx
PDF
Book
PDF
Solution Manual for Engineers Guide to MATLAB, 3/E 3rd Edition
PDF
(In)discrete Music
PDF
Data Science - Poster - Kirk Borne - RDAP12
PDF
Scientific Applications with Python
PDF
Numerical Methods in Engineering with MATLAB - Jaan Kiusalaas.pdf
Resonance Introduction at SacPy
Teaching with MATLAB
A Survey Of Computational Physics Introductory Computational Science
Computation Teaching Problems
Python as number crunching code glue
Workshop on sparse image and signal processing
MATLAB for PhD Students Research Guidance
Cse 7 softcomputing lab
Number Crunching in Python
Resources for Teaching Undergraduate Computational Physics
Data-Intensive Research
ePOM - Intro to Ocean Data Science - Scientific Computing
2015 03-28-eb-final
Applied Numerical Methodswith MATLAB® for Engineers and .docx
Book
Solution Manual for Engineers Guide to MATLAB, 3/E 3rd Edition
(In)discrete Music
Data Science - Poster - Kirk Borne - RDAP12
Scientific Applications with Python
Numerical Methods in Engineering with MATLAB - Jaan Kiusalaas.pdf
Ad

More from SERC at Carleton College (20)

PPTX
StatVignette03_Sig.Figs_v04_07_15_2020.pptx
PPTX
StatVignette06_HypTesting.pptx
PPTX
Unit 1 (optional slides)
PPTX
Cretaceous Coatlines and Modern Voting Patterns Presentation
PPTX
Climate and Biomes PPT 2
PPTX
weather tracking ppt
PPTX
Presentation: Unit 1 Introduction to the hydrological cycle
PPTX
StatVignette05_M3_v02_10_21_2020.pptx
PPTX
KSKL chapter 8 PPT
PPTX
KSKL chap 5 PPT
PPTX
KSKL_Chapter 4_ Chem Properties of Soils.pptx
PPTX
Degraded Soil Images.pptx
PPTX
Educators PPT file chapter 7
PPTX
Educators PPT file chapter 2
PPTX
Educators PPT file chapter 6
PPTX
Educators PPT chapter 3
PPTX
Unit 4 background presentation
PPTX
Presentation: Unit 3 background information
PPTX
Presentation: Unit 2 Measuring Groundwater Background Information
PPTX
Introduction to GPS presentation
StatVignette03_Sig.Figs_v04_07_15_2020.pptx
StatVignette06_HypTesting.pptx
Unit 1 (optional slides)
Cretaceous Coatlines and Modern Voting Patterns Presentation
Climate and Biomes PPT 2
weather tracking ppt
Presentation: Unit 1 Introduction to the hydrological cycle
StatVignette05_M3_v02_10_21_2020.pptx
KSKL chapter 8 PPT
KSKL chap 5 PPT
KSKL_Chapter 4_ Chem Properties of Soils.pptx
Degraded Soil Images.pptx
Educators PPT file chapter 7
Educators PPT file chapter 2
Educators PPT file chapter 6
Educators PPT chapter 3
Unit 4 background presentation
Presentation: Unit 3 background information
Presentation: Unit 2 Measuring Groundwater Background Information
Introduction to GPS presentation

Developing Computational Skills in the Sciences with Matlab Webinar 2017

  • 1. Developing Computational Skills in the Sciences with MATLAB Presenters: Lisa Kempler, Alain Plattner, Benjamin Bratton, Daniel Zysman Audience: Science educators Lisa Alain Benjamin Daniel
  • 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 http://serc.carleton.edu/NAGTWorkshops/data_models/matlab16/index.html
  • 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
  • 6. Resource Overview Page: Teaching with MATLAB http://serc.carleton.edu/NAGTWorkshops/data_models/toolsheets/MATLAB.html
  • 7. October 2016 Workshop Outcomes: Teaching Computation with MATLAB http://serc.carleton.edu/teaching_computation/index.html
  • 8. SERC Site Resources: Teaching Computation with MATLAB MATLAB page for educators • http://serc.carleton.edu/NAGTWorkshops/ data_models/toolsheets/MATLAB.html Workshop resources and outcomes • http://serc.carleton.edu/ teaching_computation/index.html • http://serc.carleton.edu/ 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. 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 https://github.com/NSGeophysics
  • 11. Two Matlab / Octave m-file packages 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 On https://github.com/NSGeophysics https://github.com/NSGeophysics
  • 12. Seism-O: Simple Seismic Data Simulation https://github.com/NSGeophysics
  • 14. air wave direct wave refracted waveReflected wave V1 V2 V0 = 343 m/s https://github.com/NSGeophysics Seism-O: Simple Seismic Data Simulation
  • 15. air wave direct wave refracted waveReflected wave V1 V2 V0 = 343 m/s Show simulated arrival times Simulated arrival times using Seism-O for 1 m geophone spacing https://github.com/NSGeophysics Seism-O: Simple Seismic Data Simulation
  • 16. Simulated arrival times for 1 m geophone spacing Simulated waveforms for 1 m geophone spacing https://github.com/NSGeophysics Seism-O: Simple Seismic Data Simulation
  • 17. Simulated waveforms for 2 m geophone spacing Simulated waveforms for 1 m geophone spacing https://github.com/NSGeophysics Seism-O: Simple Seismic Data Simulation
  • 18. Simulated waveforms for 2 m geophone spacing Simulated waveforms for 1 m geophone spacing Software and teaching activity on https://github.com/NSGeophysics/Seism-O/wiki https://github.com/NSGeophysics Seism-O: Simple Seismic Data Simulation
  • 19. GPR-O: GPR data processing & visualization https://github.com/NSGeophysics
  • 20. Instructions and software on https://github.com/NSGeophysics/GPR-O/wiki - 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 https://alaska.usgs.gov/portal/project.php?project_id=384 https://github.com/NSGeophysics GPR-O: GPR data processing & visualization
  • 21. Data: Liu et al. (in prep) https://github.com/NSGeophysics GPR-O: GPR data processing & visualization
  • 22. https://github.com/NSGeophysics GPR-O: GPR data processing & visualization Data: Liu et al. (in prep)
  • 23. https://github.com/NSGeophysics GPR-O: GPR data processing & visualization Data: Liu et al. (in prep)
  • 24. https://github.com/NSGeophysics Data: Liu et al. (in prep) GPR-O: GPR data processing & visualization
  • 25. Tutorial with test data: https://github.com/NSGeophysics/GPR-O/blob/master/doc/GPR-O.pdf Raw field data available for example from: https://alaska.usgs.gov/portal/project.php?project_id=384 https://github.com/NSGeophysics GPR-O: GPR data processing & visualization
  • 26. Summary - Seism-O and GPR-O: Matlab / Octave scripts for seismic data simulation and ground penetrating radar data processing - Both available from https://github.com/NSGeophysics - For near-surface geophysics class or general data simulation, experimental design, data processing class. https://github.com/NSGeophysics
  • 27. Building modular tools for visualizing computation
  • 28. Why are computational tools daunting (for biology graduate students) to use?
  • 29. Modular problem sets help students quickly gain proficiency • Small pieces with displayed outputs • Reusable pieces • Springboard to independence
  • 30. Dynamical systems What do x(t) and y(t) look like?
  • 35. Specific example: Modeling oscillations of glycolysis in yeast For multiple versions of the code see https://github.com/bpbratton/buildingModularVisua lization_SERC201610
  • 36. Benefits for modular problems •Students learn when to take breaks •Fail (and succeed) quickly •Encourages code reuse
  • 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. -8 -6 -4 -2 2 4 6 8 10 X1 -6 -4 -2 2 4 6 X2 -8 -6 -4 -2 2 4 6 8 10 X1 -6 -4 -2 2 4 6 X2 -8 -6 -4 -2 2 4 6 8 10 X1 -6 -4 -2 2 4 6 X2 -8 -6 -4 -2 2 4 6 8 10 X1 -6 -4 -2 2 4 6 X2 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 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 Teaching activity: http://serc.carleton.edu/matlab_computation2016/activities/159581.html MNIST data set http://yann.lecun.com/exdb/mnist/
  • 43. Pairwise pixel intensity relations • There are more than 300000 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 • http://serc.carleton.edu/matlab_computatio n2016/community.html
  • 49. Join the Community: Teaching Computation in Sciences with MATLAB Community• http://serc.carleton.edu/matlab_computatio n2016/community.html
  • 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 • Email Rory McFadden (rmcfadden@carleton.edu) if you are interested in joining the community
  • 51. SERC Resources: Teaching Computation with MATLAB MATLAB page for educators • http://serc.carleton.edu/NAGTWorkshops/data_models/ toolsheets/MATLAB.html • And researchers, too Workshop outcomes • Teaching Activities – http://serc.carleton.edu/matlab_computation2016/activities.html • Pedagogy and computational philosophy – http://serc.carleton.edu/teaching_computation/index.html • Community – http://serc.carleton.edu/matlab_computation2016/community.html

Editor's Notes

  • #29: “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: “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: “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: “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: “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: “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: “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: “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.”