teaching machines

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 […]

CS 491: Lecture 3 – Peggle

Dear students: Last time we started working on a game of Peggle. The real thing is full of glitz. We’ll keep working on ours today, but it won’t quite match the professionals: I’ve expanded our controller a bit so it has both a push button switch to fire and a potentiometer to aim the cannon. […]

CS 330: Lecture 7 – Lexing, Really

Dear students, Okay, with regexes and the notion of state machines tucked away in our brains, we’re now on a quest to design our own programming language. Usually you’re supposed to start this kind of learning by writing a calculator. I couldn’t bring us to do that. Instead we’re going to design a language for […]

CS 318: Lab 5 – Hello, CSS

Dear students, Today we begin integrating cascading style sheets (CSS) into our pages. When we use an editor like Microsoft Word or Adobe InDesign, we are often thinking about two things at once: the information we wish to communicate and its presentation. For several reasons, mixing these is a bad idea: We get hung up […]

Another Integer Triangle Wave

I’ve across another way to generate a triangular wave. So exciting! Recall from last time that I want to generate a pattern that looks like this: In this example, the period is 10. As before, we can generate a sawtooth wave with some help from modulus: $$y = \textrm{mod}(x, \textrm{period})$$ We can also generate a […]

Playing Telephone with Google Translate

A friend was playing with the Google Translate API and wrote a game of Telephone. He started with a message in English, translated it to language X, translated it to language Y, and so on, and finally translated it back to English. Sometimes the end result was incredibly faithful to the original message, but not […]