Building Comfort With MATLAB Wendy Thomas Associate Professor of Bioengineering University of Washington
My Teaching Experience Bioen 201 (2008 – 2010) sophomore core: intro to mathematical programming (5 weeks) and circuits (5 weeks) Bioen 485/585 (2004 – 2016) senior + graduate elective: computational differential equation modeling for bioengineering Bioen 503 (2010 – 2013) graduate core: systems bioengineering (analytic and computational systems models) Disclaimer: All my classes teach scientific computing in disciplinary context, not disciplinary content enhanced by computing
Keys to Building Comfort With MATLAB SOFTWARE SUPPORT hands-on support in front of the computer (lab, class or office hours with laptops or in computer lab) Peer tutoring/workshops are great! tutorials (linked online or made just for the course, but should get student from ground zero to the first assignment) Practice
Keys to Building Comfort With MATLAB Each activity requires: MOTIVATION Task should be easier to perform in MATLAB than in common alternatives (calculator, EXCEL), even at this stage of experience. Task should relate to something of value (course content or common experiences) LIMITED LEARNING OBJECTIVES Identify a limited set of computing concepts and MATLAB tools that are easy to learn at this stage of experience Don’t let students spend hours on something unrelated to the objectives. Jump start by providing needed resources such as: Pseudo-code activity to help design algorithm sample commented code for related problem Tutorial-like part 1 followed by independent part 2
Comfort With What? Key scientific computing skills: INTRODUCTORY SKILLS: Arrays & algebra Scripts & functions, Plots Flow control Basic input/output Intermediate Skills: Use documentation to learn new skills Debugging More input and output common functions: fminsearch, ODEs, statistics, visualization tools, etc, Advanced skills: Algorithm design Data structures (e.g. Structures(1).awesome) GUI design Advanced visualization tools Reliability tools (version control, visual checks of analysis, etc.) One lesson One course While I use many of these in my research, I have not taught them
Set Expectations Designing algorithms … Debugging Test hypotheses to divide and conquer Much more efficient than experiments to teach logic Move from cook book labs to independent thinking
Lesson 1 Motivation: MATLAB is easier and more reliable for moderately complex calculations and for plotting functions. Learning Objectives: command line and scripts Simple syntax Arrays Plot command Maybe: Input (load) Activity examples: plot how an algebraic expression changes with one or more parameter values to explore an equation from class Plot and analyze data from a wet lab Plot and analyze a provided data set
Lesson 2 Motivation: MATLAB helps with data analysis Learning Objectives: Input and output data Flow control Look up and call functions Activity Process long data set obtained in a lab to make calculations. Long time series data are great for this. My class: calculate viscoelastic properties of material from repeated stress cycle data.
Lesson 3 Motivation: MATLAB provides flexible fitting of models to data Learning Objectives: Write functions fminsearch Activity Test hypotheses to relate experimental data to concepts in class. My class: drug delivery nanoparticles