teaching machines

CS 455 Lecture 24 – Impostors and Geometry Shaders

Agenda what ?s homework 4 framebuffer objects geometry shaders impostors Think About This You are writing a molecular simulation where you need to render 1000s of atoms. What naive solution might you take to render them? How might you accelerate this process? Haiku

CS 330 Lecture 37 – Promises and Futures

Agenda what ?s evaluate this synchronous asynchronicity futures in Scala promises in JavaScript TODO Some folks have asked for a few more opportunities for participation points. I will grant 3 extra credit participation points to any student who gives a semi-lightning talk and demo (5-8 minutes) during lecture next Wednesday on some contained and interesting programming […]


Ha! I beat David! My life is complete. Anyway, I figured I’d get this done so it’s one less thing to worry about. Here was my thought process: “Man, I’m really not creative. Let’s look at good ol’ Google to see what cool looking shapes there are.” “Wow, look at all this cool stuff!” “I […]

CS 455 Homework 4 – Madeup

See the PDF.

Madeup Briefing

Introduction Madeup is a language for making things up–literally. It is a platform for thinking about shapes in an imperative, algorithmic way. Its speakers trace out an object’s skeleton or cross section and then use a Madeup command to generate a solid 3D model that can be printed on a 3D printer. Here we briefly describe the language […]

CS 455 Lecture 23 – Water

Agenda what ?s homework 4 water forward differencing TODO As a lab exercise: Sync with the class repository to get the water starter project. Run it to find some very disappointing water. We’re going to do a couple of things to make it look better: 1) add environment mapping to make it reflect the skybox […]

pinterrm – HW3

Here is a rendering of the very famous event in which a droid and a snowman block..thing, exchange a rare CMOR coin while under close surveillance by a Blackbird. The process for this homework was fairly straightforward and mostly was combining knowledge from various labs into a single cohesive unit. One hurdle that I worked […]

CS 330 Lecture 36 – Lazy Evaluation

Agenda what ?s call-by-name adding until to Scala call-by-need Intentions I can exploit call-by-name semantics to pass around unevaluated blocks of code, which can be used to implement control abstractions. I can exploit call-by-need semantics to implement lazy data structures. Code Until.scala Lazy.rb Haiku

CS 330 Lecture 35 – List Comprehensions and Currying

Agenda what ?s list comprehensions in Haskell and Scala a phobias searcher currying call-by-name adding control abstractions Puzzle On Friday, May 1, the Federal Aviation Administration issued a warning about a bug in Boeing’s 787 Dreamliner aircraft. If all four of the machine’s generator control units run continuously for 248 consecutive days, the electrical system […]