Wolfram Computation Meets Knowledge

Wolfram Summer School


Ian Johnson

Summer School

Class of 2014


Ian is currently studying engineering and computer science at Saint Paul College in Saint Paul, Minnesota. He plans on transferring to the University of Minnesota after that, pursuing studies in electrical engineering, complex analysis, and physics. He currently works as a computer science work-study at his college, where he tutors other students, as well as works on projects for the Computer Science Department. He is also the president of the local chapter of the ACM club at Saint Paul College, where he is assisting with revising the Intro to Computer Science class curriculum to use the Raspberry Pi as the main tool for learning about computers. After his studies are over, he plans on pursuing a career either in teaching or in embedded electronics. Some of his other passions include coaching high school debate and building robots.

Project: Programming Arduino with Mathematica

The Arduino platform has exploded onto the scene of open hardware, bringing with it the ability for anyone to be able to program their own circuits in minutes, and build projects that would have taken a serious EE or similar science background to accomplish. This has made the Arduino a household item, not just confined to the basements of electronics hobbyists but also finding itself in the hands of artists, scientists, and even professional prototypers. Programming the Arduino has always been a simple experience, but this project hopes to further the simplicity by allowing individuals to not only utilize the Arduino in Mathematica programs, such that Mathematica is enabled to interact with the world even more than it can already. Combined with the strength of the Wolfram Language and the versatility of the Arduino platform, amazing things can be accomplished. This project will seek to not only integrate Arduino functions, such as AnalogRead, AnalogWrite, and such into full-fledged Mathematica programs, but also to enable the uploading of code to an Arduino from Mathematica, using AVRDUDE, AVR-GCC, and other such command line programs. This project will utilize new functions in Mathematica 10, such as DeviceOpen, DeviceRead, and other functions to communicate with the Arduino over a serial connection. In addition to this, it is the hope of this project to utilize the symbolic nature of Mathematica to translate functions such as If, While, Print, etc. directly from Mathematica code automatically to code runnable by the Arduino, which can then be put onto the Arduino, all from inside the Mathematica environment, and without the use of any external programs.

Favorite Outer Totalistic r=1, k=2 2D Cellular Automaton

Rule 81280