This website contains labs for CSCI 241. They are very much a work-in-progress. There are definitely errors, typos, misspellings, confusing portions, and probably things that are just plane wrong (like that use of “plane”). If you encounter anything confusing, please don’t hesitate to ask.

All corrections, big or small, are gladly welcome!

At the top of this page, you’ll find three icons. The left shows or hides the table of contents. The middle one lets you pick a theme for this book (go ahead and pick one you like). The right one lets you search the labs.

Once we get to the labs where you’ll be programming in Rust, there are a bunch of code samples. Many of these (but not all of them) are executable.


Here’s an example of runnable code.

fn main() {
    println!("Welcome to CSCI 241!");

Mouse over the block of code above and click the Run button to see the output.

The code you write in these labs is designed to run on the lab machines. There is also a virtual machine you may connect to remotely if needed. See the remote coding instructions for details.

Throughout the labs, you’ll find a number of colorful blocks like the example above. Here are a few you’ll encounter in the labs.


Example boxes contain important examples, usually of code that’s similar to the code you will be writing.


Tip or hint boxes contain important information that you’re almost certain to want to use in your implementations.


Bug boxes contains an example that showing a common error.


There are a variety of other boxes, including note, info, and caution. At this point, they have no fixed meaning. As the labs are improved, this may change.