Labs

Lorem ipsum dolor sit amet.

This is what the tool I use for editing websites always says when I start a new page. Incredibly appropriate, I think.

Bindings that Work

We've seen how not to do bindings in a language — unless you're a fan of the programming language Perl — so now we're going to do it right. We'll be implementing lexical scope, and doing it by converting our interpreter from one that is simply naturally recursive to one that is an environment-passing interpreter.

CC by brighton @ Flickr



Models of Views

Model-View-Controller is a common object-oriented pattern. You will find it in every well-written GUI application you ever see, and any reasonable web-based application. And application in these spaces that fails to implement Model-View-Controller is probably going to be an unmanageable mess, impossible to extend reliably, and something you should consider walking away from or rewriting.

In this…

Processing Lists

koalazymonkey-listThis lab explores the self-referential structure most commonly known as a list.

To-do list book CC koalazymonkey @ Flickr.






Structure Lab

This lab explores the  definition of record-based structures. It is a short lab.




Image CC-BY jonasj @ Flickr.

Basics Lab

The "basics lab" has you working through a sequence of basic exercises in Scheme.

(Apple Study by ellasdad, CC-BY @ Flickr.)




I Just Called...

Stevie Wonder's first UK chart topper, ultimately winning a Golden Globe and an Academy Award for Best Original Song. Not bad. Granted, Stevie Wonder has gone on to write many more pop hits. His album Songs in the Key of Life (almost as old as I am!) is probably his best album in his substantial discography, considered by Rolling Stone to be in the top 100 of all albums of all time.

This week…

lava lamp π

You've seen lava lamps, and thought they were the bomb. (Do people still say things are "the bomb?") In this exploration, we'll tie external inputs and outputs into our Freeduinos and build a lava lamp version 3.14.

This homework is analytical in nature: you'll be doing less writing of code and more reading or analysis of code.

building a freeduino

This is it. Build your tiny computer, and work through your first explorations of occam-π.

data and visualization

Prof. Kapfhammer received a grant from the Awesome Foundation, and he is running a contest regarding the visualization of data titled a Forty Day Visual Feast.

At the least, this lab will explore the use of regular expressions to process webserver and/or Sparkle log data. At the most, you will explore the use of Python to process and visualize data, and perhaps get a head start on producing…

Old-skool mailing lists

As an undergrad, my email was hosted on a VAX. And, some of us wrote little scripts and programs on them. We particularly had fun with mail bombers, which were scripts that sent the same message over, and over, and over.

We won't do that. But we can write a simple program for sending a note to all of our classmates.

The Python Tutorial will likely come in handy on this project.

(This isn't a lab…

Previous Labs (Spring 2009)

During the second half of the semester we will be working through a compressed sequence of labs based on material from last year. Last year's course website can be found at

http://www.rockalypse.org/courses/cmpsc220sp09/

and the labs at

http://www.rockalypse.org/courses/cmpsc220sp09/labs/

You're welcome to browse those to get a flavor of what is to come. They will be modified and updated…

Creative Commons License This work is licensed under a CC BY-SA 3.0 License.