teaching machines

Introducing Twoville

Some students and I are building a programming language for generating animated SVG images. Rather, each of us is building our own language, because each of us wanted 100% of the learning experience. By the end of the semester, we’ll have four different takes on how to build such a language. My take is called […]

Fourlords Paddle

I said I was going to build a co-op game alongside the students in my gamedev class, but I haven’t touched Fourlords (a clone of Warlords) since before the semester started. Not until today, that is. I am in Baltimore for a conference, with a reprieve from lecture preparation. When not developing humans, I get […]

CS 330: Lecture 10 – Conditionals and Loops

Dear students, The dream of every machine is to amplify human effort—turning a little force at the input end to a big effect at the output end. Our language is starting to have this quality. With just a few utterances we can draw a picture. But there are still two big things missing from it: […]

CS 318: Lab 7 – Box Model

Dear students, Let’s stop a moment to reflect upon what we have done so far this semester: We’ve organized information in a hierarchy and represented it in plain old text. We’ve seen how to make our text “hyper” through the use of images and links. We’ve added style to established elements of this hierarchy. We’ve […]

Wolf Hollow Virus

My children and I just finished reading Wolf Hollow by Lauren Wolk. As I closed the book, 9-year-old Lewis said that books that win awards are always sad. This book won an award. I won’t go into any of the book’s merits. Rather, I will focus on one non-essential part of it that has been […]

CS 318: Project Site Test and Sitemap – due on March 5

Your next task in the semester project comes in two pieces: Conduct user studies on several existing websites similar to the one you will design. Compose a sitemap to describe the overall architecture of your site. We describe each of these in turn. Task 1: Comparable Site Test Identify and familiarize yourself with three existing websites […]

CS 330: Lecture 9 – Assignment and Operators

Dear students, We’ve got a little programming language up and running. It’s got commands for drawing rectangles and circles, and it supports integer literals and variables. Today we add to it variable assignments and operators. Next time we’ll add loops and functions. To help us get a feel for what our programs will look like […]

CS 330: Lecture 8 – Parsing

Dear students, We started writing our own lexer last time. Today, we’re going to get a parser that tries to make sense of those tokens. But first, we should talk about what kind of programming language we’re writing. Let’s write a language for drawing things with shapes. Really simple shapes. We’ll need a name for […]

CS 318: Lab 6 – Divs, Spans, IDs, and Classes

Dear students, Last time we dropped into the world of CSS as a means of applying style to our information hierarchies. Learning CSS is a little like learning how to conjure springtime. You suddenly have the power to make things bloom and look beautiful. But it will take a lot of practice. This class spins […]

CS 318: WordPress for February

A lot of the world saves time and energy by using a content management system (CMS). These systems allow users that don’t know much about HTML and CSS to still produce beautiful websites. The most frequently used CMS is WordPress, which is responsible for 30% of the web. It accounts for 60% of the CMS […]

1 58 59 60 61 62 204