WOLFRAM NOTEBOOK

Insert New
Slide
Roboto
A
Slide Break Defaults
Cell Actions
Window Options
Start Presentation
Slide
1
of
14
RIT MPS

Apples and Oranges: Teaching Computational Thinking via Colorimetry

Flip Phillips
Skidmore College Rochester Institute of Technology
Join the Conversation #WolframTechConf
Slide
2
of
14

ABSTRACT

In our “Computational Methods for Psychology and Neuroscience” course, we teach undergraduate students the fundamentals of computational thinking (as opposed to traditional “programming”) using a project-based approach. Over the years project topics have ranged from linguistics, video image analysis,
Dynamic[]
driven data collection, analysis and presentation, machine learning, and beyond. Most recently, we chose colorimetry and psychophysics as our project theme. Using the Connected Devices framework and an Arduino for data collection, we build a machine learning model from publicly available hyperspectral data that could reliably discriminate fruit types from simple, low-dimensional spectral scans.

The resulting project was well received by students and covered a broad range of topics that are useful in neuroscience including: procedural programming of the Arduino, basic electronics, sensor based data acquisition, functional programming in Wolfram Language, instrument calibration, analysis, visualization, and machine learning. Here we discuss the various challenges and successes in this 15-week class.
Slide
3
of
14

Biting off more

Computational things in psych/ns have existed since the beginnings
  • Offeri\bng this class at Skidmore since 1998
  • Specialized software (RSVP, NN software, eel, World Building)
    Robots (Lego Logo)
    Python
    Mathematica
  • Analysis & modeling
  • Stimulus synthesis
  • Experiment control
  • Data acquisition
  • Slide
    4
    of
    14

    Psychophysics

    Out[]=
    Basic information
    full name
    Gustav Theodor Fechner
    date of birth
    Sunday, April 19, 1801 (218years ago)
    place of birth
    Bad Muskau,Saxony,Germany
    date of death
    Friday, November 18, 1887 (age: 86years)(131years ago)
    place of death
    Leipzig,Saxony,Germany
    Image
    Out[]=
    Slide
    5
    of
    14

    Previous projects

    More details at my blog at flipphillps.com

    Cartoon Face Recognition

    Rat Behavior Monitoring

    Evolution of a Sensing Creature

    Simulating Visual Systems of Other Animals

    Modeling Prosopagnosia

    Predicting Voter Behavior*

    Simulating an Asteroid Strike*

    Slide
    6
    of
    14

    Spring 2019 Project

    Goals

    Project-based familiarity with ‘computation’
  • Programming
  • Data
  • Hardware
  • situated in psychology & neuroscience.

    Programming

    You do not become a ‘programmer’ nor do you ‘learn a language’ in a single class / semester / year / career.

    Data

    Getting it, manipulating it, looking at it, reasoning about it.

    Hardware

    Controlling it, not throwing it out the window.
    Slide
    7
    of
    14

    Spring 2019 Project - Identifruit™

    Goal

    Teach a program to distinguish fruit from spectral information.

    Phases

    Collect spectral data paired with category data

    Hardware

    Firmware

    Documentation

    Observation

    Teach ML

    Convert scan data to Dataset for training
    Design network
    Iterative vs bulk
    Feedback / status?

    Deployment

    Same hardware
    Status indicator
    Slide
    8
    of
    14

    WL

  • Flipped class
  • EIWL chapters
  • Streaming notebooks or video sharing
  • In-class work recorded with ScreenFlow / Ensemble streaming
  • Charrette code sharing and review
  • Slide
    9
    of
    14

    Hardware

    IO and Calibration

  • Very simple procedural programming in Arduino
  • Basic electronics
  • Mathematica interface to argyll-cms
  • Slide
    10
    of
    14

    AS7262

    Extend code to use AS7262 to measure spectra.

    Sensor

    6 channel I2C device via Device Framework

    Device

    Measurements

    Response

    Classifier

    Slide
    11
    of
    14

    Hyperspectra

    Each pixel has 400 wavelength measurements, 42 fruits inside/outside
    Specim VNIR HS-CL-30-V8E-OEM 376.20 nm to 821.62 nm at ~1nm λ resolution
    The good news
    The bad news
    Slide
    12
    of
    14

    Autoencoder

    Data amplification
    Train autoencoder using AS7262 measurements matched to Gießen measurements.

    400 Channels network adjusted with ambient data

    Cutting the channels (leave 70 to 251)

    Normalize the data

    Network Training

    Test Network with its own data

    Create a new network to associate 6 channel data with the fruit class

    Results

    98 % accuracy!
    Slide
    13
    of
    14

    All together now

    Slide
    14
    of
    14

    Summary

  • A 15 week class for upper level neuroscience and psychology students without programming experience
  • Small teams 2019 one team
  • Built simple photometer, spectrophotometer for acquisition
  • Learned basic Arduino, electronics, and procedural programming concepts
  • Used Mathematica Classifier and ML to do data analysis and modeling
  • Did end-to-end acquisition to prediction
  • Didn’t teach students to:
  • Program
  • Engineer
  • ‘Make’
  • Taught students to:
  • Think
  • RTFM
  • Collaborate
  • Solve
  • Wolfram Cloud

    You are using a browser not supported by the Wolfram Cloud

    Supported browsers include recent versions of Chrome, Edge, Firefox and Safari.


    I understand and wish to continue anyway »

    You are using a browser not supported by the Wolfram Cloud. Supported browsers include recent versions of Chrome, Edge, Firefox and Safari.