Tag: programming

  • Genuary 2024

    Genuary 2024

    I’m currently working on a new online edition of an undergraduate course I first developed in 2014. The course is the second in a sequence of two introductory programming courses for non-majors. Our emphasis is on programming as a creative medium for art and design, so it’s only natural that we initially used Processing as…

  • Genuary 2023

    Genuary 2023

    I haven’t written anything on this site for a long time. That seems particularly unconscionable after a such a consequential year. And while the medium of blogging continues to decline in popularity, it still seems to hold some value for me as a means of disseminating ideas (just this morning I approved an enthusiastic comment…

  • I’m teaching a first-year programming course this fall. It’s a new online-native offering of an existing course, which I’ve been developing over the past couple of years (I hope to write more about this later). Early in the course I introduce Boolean values and conditional evaluation (we use the language Racket in this course, and…

  • Escher-like Spiral Tilings

    Escher-like Spiral Tilings

    The artist M.C. Escher drew many lovely tilings, which he called “regular divisions of the plane”. He worked hard to ensure that his tilings were of lifelike animal forms such as birds and fish. He filled notebooks with hand-drawn sketches of tilings, many of which later found their way into his woodcuts. If you’d like…

  • The Tactile libraries

    The Tactile libraries

    I developed a new open-source software library for manipulating isohedral tilings, based on the work I did on this topic during my PhD. The library is available in C++ and Javascript, and I offer a few fun automated and interactive demo programs that anybody can use to play with isohedral tilings.

  • Heesch Numbers, Part 3: Bamboo Shoots and Ice Cream Cones

    This is the third post in a planned series of four about Heesch numbers. In the first post, I introduced some of the basic ideas behind Heesch numbers; if you’re not familiar with the topic, you may want to read it before coming back here. The second post was about Heesch numbers of simple polyforms…

  • Heesch Numbers, Part 2: Polyforms

    In the first post in this series, I introduced the concept of a shape’s Heesch number. In brief, if a shape doesn’t tile the plane, its Heesch number is a measure of the maximum number of times you can surround the shape with layers of copies of itself. (Shapes that do tile are defined to have…

  • Interwoven Islamic geometric patterns

    Anybody who has attended a Bridges conference in past ten years will be familiar with the work of Rinus Roelofs. His talks always offer an entertaining contrast: stunning and inspiring ideas in the intersection of geometry and art, balanced with his humble, low-key delivery. It was also Rinus who suggested that I try Rhino3D for…

  • Trump Haiku Bot

    Oh he is so quick On his feet. He is reading The #WallStreetJournal. This term, I’m teaching an introductory computer science course for students in Waterloo’s Global Business and Digital Arts program. We’re using Processing, a fun environment for learning programming, and for simple programming tasks related to visual art and design. Early in the…

  • 3D printed kippahs

    3D printed kippahs

    It’s a well known fact that all mathematical art must eventually be worn on one’s head. Let’s cut out the middleman and create mathematical hats.

  • A simple times table drill

    A simple interactive tool to allow children to practice multiplication.