About the workshop
The Game of Life is a cellular automaton developed by the mathematician John Conway in 1970. The game involves selecting a set of initial board positions and letting the system evolve based on some very simple rules. The game illustrates how complex behavior can emerge from a very simple system. It provides a great introduction to the concept of emergence as used in generative art systems and artificial life systems. It is very easy to understand and implement. It is a lot of fun to play with and provides endless opportunities for insight. The philosopher, Daniel Dennett, says: “In my opinion, every philosophy student should be held responsible for an intimate acquaintance with the Game of Life. It should be considered an essential tool in every thought- experimenter’s kit, a prodigiously versatile generator of philosophically important examples and thought experiments of admirable clarity and vividness.” You can read more about the Game of Life at https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life.
In this workshop, we will use the Processing programming environment to implement a version of the game. The instructor will lead the class through each step in the process of building the program. This exercise will be perfect for those who have already had an introduction to programming and are looking for an interesting but manageable project. At the end of the workshop, each participant will have a fully-working version of the program. Though most of our time will be spent on programming a version of the Game of Life, we will also explore a bit of the theory of cellular automata, and if time permits, we will explore some of the philosophical implications of the program we have created.
Participants should bring a laptop with Processing installed. The Processing environment is available free at https://www.processing.org/. It will be assumed that all participants have some elementary programming experience. For those who have some experience with other environments, but no experience with Processing, we recommend the Fuse Factory Introduction to Processing for Programmers workshop. If you are unable to attend this workshop, the Getting Started tutorial at https://www.processing.org/tutorials/gettingstarted/ and the Processing Overview tutorial at https://www.processing.org/tutorials/overview/ will provide the basics you need.
About the Instructors
Michael Perkins, Ph.D. is a technologist, musician and philosopher with special interests in discrete mathematics, data science, and algorithmic music and art. He is a graduate of Georgia State University where he studied music and philosophy and The Ohio State University where he studied philosophy and computer science. He completed a Ph.D. in Philosophy at The Ohio State University in 1983. For 35 years, Michael has developed advanced software systems for some of the world’s leading software vendors. He has designed and implemented special-purpose programming languages, data management tools, application generators, cross-platform networking software, and IT systems management software.
Noah Kumar Wotring is a software developer with experience in JavaScript, Ruby, C# and .Net. Upon graduating from the Ohio State University with a B.A. in Strategic Communications, Noah quickly found himself fascinated with software development. Compelled to learn more about this field incredibly foreign to him, he kickstarted his unorthodox journey into programming with the completion of several coding bootcamps. Now a software developer with Prosper Insights and Analytics, Noah works with data management and visualization systems. In his free time, he can be found honing his programming skills by working on a number of web-based applications.