# teaching machines

## CS 488: Lab 2 – Matrices

Welcome to lab, which is a place where you and your peers complete exercises designed to help you learn the ideas discussed in the preceding lectures. It is intended to be a time where you encounter holes in your understanding and talk out loud with your peers and instructor. Your instructor will bounce around between […]

## CS 488: Lecture 3 – Vectors and Matrices

Dear students: Last time we explored the three common transformations that we use to move objects around the screen. We saw how to apply one transformation at a time using slow mathematical operations. Today we will learn a system for applying an arbitrarily long sequence of transformations in constant time. The system is built on […]

## CS 430: Lecture 2 – Syntax

Dear students, Today we look at the first steps of how a program becomes an executable. The source code that we write is a foreign language to the computer. It must be translated into a language that the machine does know. That’s the job of the compiler or interpreter. Translation is a process with multiple […]

## CS 488: Lecture 2 – Triangles and Transforms

Dear students: Last time we discussed plotting individual points to the framebuffer and the role of vertex and fragment shaders. Today we explore how to stitch those points together into filled shapes. I say filled shapes, but in reality, we will only stitch them together in triangles—never quadrilaterals, pentagons, hexagons, or anything else. We limit […]

## CS 488: Lab 1 – Points

Welcome to lab, which is a place where you and your peers complete exercises designed to help you learn the ideas discussed in the preceding lectures. It is intended to be a time where you encounter holes in your understanding and talk out loud with your peers and instructor. Your instructor will bounce around between […]

Lectures

## Project 5: Skeletal

In this project, you will explore skeletal animation and the popular 3D graphics API THREE.js. The requirements are intentionally open-ended so that you can direct your learning in ways you want it to go. Requirements To receive credit for this project, you must meet the following requirements: Create your project in a folder named skeletal […]

## CS 488: Lecture 1 – Points

Dear students: Welcome to CS 488 – Computer Graphics Applications. This is a class where we learn how to make output that non-computer scientists can enjoy. In particular, the output is 3D and interactive. You can show the 3D worlds that you make in this class to others, and you will be a hero. Graphics […]

## CS 430: Lecture 1 – Programming Languages

Dear students, Welcome to CS 430: Programming Languages! What’s this class about? Well, imagine you are a biology student taking a course on mammals and every lecture, lab, and homework is on cows. You wouldn’t really be a biologist at the end of the course. You’d be a cowist. A cow gives you one picture […]

## Project 4: Mapquest

In this project, you will create a first-person walker. The user will use the keyboard and mouse to navigate around a terrain and collect objects. The terrain, the collectibles, and the other objects in the environment fit a coherent theme of your choosing. For example, an alien might traverse the moon and collect flags, ignoring […]

1 2