Select Projects
Programming is Fun
Programming is Fun is a repository of code examples that are free for use and adaption with attribution (CC BY 4.0). It also has programming-related posts (such as resource suggestions, theory, and walk-throughs). Several languages are represented including C#, UML, Processing, and PHP.
Recent Code Posts
- C# Type Conversion (and Coffee!)Learn what it means to convert data from one type to another in C# (type conversion).
- Debugging Buddy (Rubber Duck Programming)Troubleshoot errors by explaining your code to a non-programmer.
- Debugging Code: Poem Generator (C#)Practice debugging and troubleshooting.
- C# Random FortuneGet a random fortune!
C# Adventure
C# Adventure was created for those with little or no programming experience. It walks through the creation of a text-based adventure game in C#, and along the way teaches programming fundamentals. As a faculty member at an arts and communications school, my experience in teaching programming has shown that many students want to learn in a way that is:
- In context
- Relatable to their interests
- Hands-on
In Context
Topics are introduced in the context of building a project. Many texts and classes will group content in ways that may be overwhelming; while teaching data types books often have an in-depth discussion of all possible data types for a language.
An alternative is introducing a data type "just in time" when it is needed. An adventure game has text shown to the player, and that is a great opportunity to introduce strings. Later when counting how many points a player has, integers are discussed.
Relatable
Projects, assignments, and examples that are interesting to students generally make it easier for them to commit the time needed to learn programming. Practicing more than once a week helps most students learn faster and retain the information better; programming is like learning a musical instrument or a foreign language in that practice is important.
If the topics are relatable students are more inclined to enjoy practicing and have more of an investment in learning the fundamentals. For many students creating a game is more motivating than a calculator or budget application. Games can incorporate calculations and the budgeting of resources, but the investment for students is generally higher if it is framed in something they want to build.
Hands-on Creation
Learning is often more meaningful if students are creating something tangible. Instead of a long lecture or a chapter of text, students are encouraged to switch modes and build. Building an example of the concept being discussed reinforces their understanding of it and provides them with an example to return to later.
Select Past Projects
Pisces
Pisces is a serious game that teaches about the Tragedy of the Commons, sustainability, and ethics. The game was originally designed and built to be played using Excel spreadsheets to track progress and player choices by Dr. Thomas Seager, Senior Sustainability Scientist, Global Institute of Sustainability. Creative technologist Bill Guschwan has taken over the project and the latest version uses twitter as input, leveraging social media to reach a wider audience. Read more...
CCRP
Crisis Communication Response Project (CCRP) led by Alton Miller researched how social media can be effectively used in crisis situations. A prototype social media platform was developed. 2012/2013. Read more...
The Sketchbook Project: 2012, Life Underground
Graphite drawings created for the 2012 Sketchbook Project, and conceptual drawings for an experimental game (being built with Unity). Read more...
Untitled (Mocap Fantasia)
A collaboration with Dr. Joseph Cancellaro that uses motion capture data as the basis for generative work.
Self
Self attempts to create portraits of itself. In preparation I created a large amount of self-portraits in a wide range of media and collected data about myself. The application uses the provided portraits of me as fodder for its own self-portraits. As author of the application, it could be said that the application itself is a reflection of me, and it is appropriate for it to use my images as its starting point. The resulting works take into account what it understands about itself (including parameters and the amount of data it has stored which change each time it is run). Each set of portraits alters the program to the extent that another set of portraits should be made.
CoLab
This application requests submissions from collaborators. When the application is creating its work, it encounters points at which it cannot find appropriate assets. At these points the request for collaborative materials is sent, and factors such as how quickly the collaborator responds and the quality of the submission determine how the application rates that person. Quality of the submissions are evaluated using techniques from several of the previous series (whether or not the image contains meaning, whether or not the image contains consent to create a derivative of it, etc.) . Those with the highest collaboration rating are the first the application turns to when it begins creating the next work.
The Fiction Project: 2011, Storybook: The Ghost in the Garden
Original story and watercolor illustrations. Read more...
bios
Series of portraits created from an application's misguided but perhaps well intentioned algorithmic analysis. Read more...
yen
A series of generative works exploring order and random. Read more...
ent
An application that creates generative work based on its interpretation of meaning it finds in images. Read more...
H.E.L.P.
Part of the team that developed the Hi-rise Evacuation and Learning Platform (H.E.L.P.) that trains office workers how to respond to a hi-rise fire. Developed under a grant from the Department of Defense, Unreal Engine 2 Runtime. Read more...
Education Enterprise Server (™), Versive, L.L.C.
Consultant for the initial concept, information architecture and interaction design (with two other developers), designed and fully developed the interface (all graphics, general layout and composition, and default color scheme), built a dynamic style component allowing quick and easy style/presentation changes, and programmed and developed core components: News, Calendar and Profile (using ASP, SQL, VBScript, XHTML, and CSS).
DAPME/Online
Senior Project Manager and developer for the online version of the "Dictionary for Artists and Performers and Managers and Entrepreneurs, 3rd Edition" by Charles Suber. Built by a team of nine, with ASP, SQL Server 2000, CSS, and XHTML.