Reverse-Engineering WOGL

Today, we will continue with WOGL, but with a new goal: we want to figure out how WOGL works and then document it (i.e. write down an explanation of what it does).

Remember, WOGL does not come with documentation or instructions, and your nefarious instructor is keeping its inner working secret for now. The only way to figure out how to work is by experiment, a process we call reverse engineering.

Have a quick chat with some other students. Have you figured out anything about WOGL so far? Do you have any theories about how it works, what it does, etc.?

You might be completely lost. That’s fine. Remember: your goal so far has been to make some cool pictures.

Briefly share your thoughts, then jump in.

Use this new link to play with WOGL today:

This enabled one additional feature that was not available in the previous class: there is now a debugger. What is that? Explore for yourself and find out: expand the Debugging panel in the lower left, and figure out what the controls do.

As you go, keep comparing notes with other students.

Using the tools you have — the debugger, the example programs I gave you, your own notes, your own wits, the preceptors’ help, and your fellow students — start to conduct experiments to reverse engineer WOGL.

I recommend exploring in the following order:

  • Start with only uppercase English letters first, no punctuation and no spaces.
  • Once you have some / many of them figured out (this will take a while!), move on to lowercase letters.
  • Now figure out what spaces do when the separate words.
  • Punctuation is a whole separate adventure. Get some solid work done on the items above first.

As you work:

  • Keep sharing your findings with fellow students. Our goal is to build shared understanding as a whole class.
  • Keep experimenting for yourself.
  • Help other students make the discoveries you made by talking them through your experiments, not just telling them what you think the answer is.
  • As you start to understand the big picture of WOGL, start thinking about how you might structure documentation for it.
  • Remember: making cool pictures is always part of the goal in this class. If you find something cool, save it! Record what you did to get it, so that you can get it back!