Interface and Application Programming

 languages
   hello world
   C, GCC, C++, GDB, DDD
   .NET, C#, Mono
   Go, Rust
   Java, OpenJDK, IcedTea, Android
   APL, Haskell, Scala
   Processing, Wiring, Arduino, p5.js
   LabVIEW, Simulink, Max, Pd, Scratch, App Inventor, Grasshopper, Firefly
   Bash, Tcl
   Python tutorial, Perl, Ruby
   JavaScript tutorial, Node.js, V8, npm, asm.js, WebAssembly, CoffeeScript
   Node-RED, mods, squidworks

device interfaces
   RS/EIA/TIA 232/422/485, pySerial, serialport, serial
   FTDI, libFTDI, python-ftdi, ftdi
   Firmata
   USB, PyUSB, usb
   IrDA, python-irda
   GPIB, VISA, PyVISA
   MQTT, XMPP, IFTTT, UPnP, Wemo
   socket, dgram net, ws
      hello.mag.45.html hello.mag.45.js video mods

data interfaces
   flat files
   Calc, Sheets
   Pyspread, Pandas
   MySQL, MongoDB

user interfaces
   ncurses
   Tk, Tkinter
      hello.load.45.py
   wxWidgets, wxPython
      panel_png_path.py
   Qt, PyQt
   GTK, PyGTK
   Clutter, PyClutter
   Kivy
   forms
   jQuery, dat.GUI, Bootstrap, Flat UI
   Backbone, Require, Angular, Handlebars, Ember
   Meteor, Babel, React, React Native, Cordova, Ionic, Electron, Blynk, Firebase

graphics
   X Windows
      xline.c, video, ximage.c, video
         $ gcc xline.c -o xline -lm -lX11
   AWT, JFC, Swing
      JavaLine.java, JavaLine.html, video
      JavaImage.java, JavaImage.html, video
   Canvas
      canvasline.html, canvasimage.html
   SVG
      svgline.html
   WebGL
      webglline.html
   Three.js
      threejsline.html, threejsimage.html, threejssurf.html
   OpenGL, GLUT, PyOpenGL
      glimage.c, video, glsurf.c, video
         $ gcc glsurf.c -o glsurf -lm -lGL -lGLU -lglut
      glimage.py, glsurf.py
   RenderMan, cgkit
   VTK, pyvtk, Mayavi
   OpenVDB
   Unity, Unreal, Blender Physics video

audio, video
   SDL, Pygame
   openFrameworks, ofpython
   HTML5
      Web Audio
         audioline.html
      WebRTC
         video.html video
   FauxmoESP

VR/AR/MR/XR
   WebVR THREE.VRController
   ARCore
   Forge
   three.ar.js three.xr.js
   AR.js
   A-Frame

math
   Netlib, BLAS, LINPACK, LAPACK
   MATLAB, Octave
   NumPy, SciPy
   matplotlib, Seaborn
      line.py, video, lines.py, video, image.py, video, surface.py
   Anaconda, IPython, Jupyter
      plot.ipynb plot.html
   R, RPy, ggplot2
   Julia
   Mathematica, SymPy, Sage, Scilab
   Math.js, Science.js, numbers.js
   Plotly Python JavaScript
      plotline.html
   D3, jqPlot, Highcharts, Chart.js, mpld3
   Theano, PyTorch, Keras, TensorFlow, TensorFlow.js
   signal processing, mathematical modeling

performance
   pi.py, numpi.py
      Cython
      Numba
         numbapi.py
   pi.html
      JIT, typed arrays, web workers, file readers
   pi.c
   MPICH Open MPI MVAPICH
      mpipi.c
      mpi4py mpipi2.py
   cudapi.cu
      CUDA, PyCUDA
      OpenCL, PyOpenCL
      GPUMath.js

deploy
   Amazon AWS EC2 Lambda ParallelCluster remote desktop
   Google Cloud
   Microsoft Azure
   DigitalOcean
   Linode
   Heroku
   Docker Kubernetes Auto DevOps

assignment
   individual assignment:
      write an application that interfaces a user with an
         input &/or output device that you made
   group assignment:
      compare as many tool options as possible