teaching machines

CS 330: Lecture 24 – Local Variables, Lists, and Pattern Matching

Let’s write a function. Turn to a neighbor and discuss how you’d solve this: You are given two points. On the perimeter of what circle do both points lie? Write things down and draw pictures to help your thinking. A very natural thing to do is start off with something like this: circletween :: Double […]

CS 318: Lab 17 – Hamburger Menus

Dear students, Today’s lab is designed around something I saw in a lot of your mockups: dropdown navigation menus. There aren’t a lot of new ideas here, but application of old ones. So, I won’t talk much. However, in this lab we start to incorporate a few of the pseudoclass selectors that you met in […]

Twoville Inching Along

Thanks to a snow day yesterday, I can now export animated GIFs from Twoville, my 2D drawing language. Gif.js made this possible. However, Jeremy, I think naming your project with .js suffix was a big mistake. When one clones the project, one ends up with a directory with a .js extension, which messes everything up. […]

CS 330: Lecture 23 – Haskell

Dear students, This class has hit upon two overall themes so far this semester. The first theme was the recognition and interpretation of a programming language. The second theme was types, which brought with it ideas about object orientation and static vs. dynamic decision-making. The third theme of the semester is functional programming, which has […]

CS 318: Lab 16 – Tables

Dear students, Today we explore the HTML table element. At its core, a table is just a grid of rows and columns. It supports headers, borders, and cells that extend across multiple columns and multiple rows. Before div and CSS positioning came along, tables were the primary vehicle for structuring a page. It was awful. […]

CS 318: WordPress for the Rest of Semester

Your task for April and May is to extend the style of your blog with some CSS and write six posts about topics of your choosing. By the end of the semester you should have a total of 15 posts. The posts don’t need to be long. Feel free to share poetry, a photo diary, […]

CS 318: Project Prototype – due April 23

Your next milestone in the project is to create a digital prototype for your site. You will present this prototype to randomly assigned classmates for an initial evaluation. Task 1: Create a Prototype Create a first draft of your site in a folder named prototype1 in your GitHub project. Name this directory exactly; no spaces, […]