Seattle in the Classroom

The Internet is a large and complex collection of machines. Learning Internet protocols and network characteristics is a challenge for students in part due to the diversity of Internet devices. Seattle makes learning about the Internet easy by providing students with a simple to learn Python-based language and a tool-rich environment that simplifies distributed deployment and monitoring of programs running across Internet hosts. Seattle can help instructors augment lectures with real-world, hands-on assignments across thousands of computers. As of May 2010, Seattle has been used in 11 classes at universities around the world. The Seattle team is dedicated to helping instructors get started with using Seattle in the classroom.

Quick Links

Seattle Tutorial

Seattle Programming Guide

Battle-tested Programming Assignments

More assignment and project ideas


Q: What are the advantages of using Seattle to teach a course?
A: Seattle has the following features, which we believe make it especially relevant for instructional uses:

Q: What are the instructor/student requirements for getting started with Seattle?
A: First, get in touch with us -- we track Seattle resources and can help you get started. Second, the only technical requirement is for students to have access to a machine where they can install Seattle. Currently we support various versions of Windows, Linux, BSD, and OS X as well as many mobile platforms.

Q: How difficult is it to learn Repy, the Seattle programming language?
A: For students who have had prior programming experience in a high level language (e.g. Java, C++) it takes a few hours to learn the basic language constructs and a few programming assignments to become proficient in the language. For students who know Python it takes under an hour to understand the differences and to begin using Repy to write complex programs.

Q: Do the assignments have instructor solutions?
A: Yes! Our instructor solutions are well commented and ready for your use. Please get in touch with us (see below) to request these.

Q: I'm an instructor and I'd like to use Seattle, who do I contact?
A: Please contact the Seattle developers list for more information. This isn't required, but we like to know who is using the platform and get feedback.

Q: My question is not answered. Who do I contact?
A: Please contact our team at if you have any further questions concerning Seattle in an educational context or otherwise.

This material is based upon work supported by the National Science Foundation under Grant Numbers (0834243, 1205415, and 1223588). Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.