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.
CMPSC 220 - Allegheny College - Spring 2010
This semester, we'll be building our own computer and studying parallel programming with resources from concurrency.cc
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.
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.
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…
This lab explores the self-referential structure most commonly known as a list.
To-do list book CC koalazymonkey @ Flickr.
This lab explores the definition of record-based structures. It is a short lab.
Image CC-BY jonasj @ Flickr.
The "basics lab" has you working through a sequence of basic exercises in Scheme.
(Apple Study by ellasdad, CC-BY @ Flickr.)
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…
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.
This is it. Build your tiny computer, and work through your first explorations of occam-π.
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…
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…
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…
This work is licensed under a CC BY-SA 3.0 License.