Posts

A History Of The Sunlab

    by Professor Emeritus of Computer Science Thomas W. Doeppner

    The Sunlab is no longer with us. Its space is being converted into a “normal” classroom, without computers (other than those brought in by students and instructors). Students who graduated in the past decade or so think of it mainly as a place where they could use desktop computers running Linux and attend TA hours and help sessions. But it started as something different. Our intent was that students would use the computers during lectures and interact with lecture material, viewing and guiding animations of algorithms and data structures.

    In the words of our current chair, Prof. Roberto Tamassia:

    I first taught in the Sunlab in the fall of 1988, when I joined Brown. The department had just moved into the CIT [Thomas J. Watson Sr. Center for Information Technology]. I felt privileged to be among the inaugural instructors of the Sunlab and to teach the data structures course (then CS 21) in an avant-garde, high-tech classroom. Over the next several years, I took advantage of the room's technology to broadcast slides and live demos of algorithm animations to each machine, as shown in the photo below. 

    Sunlab-classroom.jpg

    For a variety of reasons we moved away from this style of education (we’re not discussing the reasons here). Computers have become so ubiquitous that we no longer need to have a lecture hall filled with them—students have their own. It’s more important for us to have a classroom with space for a large number of students than it is to have a lab in which we can make computers available to students. All of our computers were taken out of the Sunlab on January 13, 2026. A few of them were moved to CIT 201, which is now referred to by some as “SATLab” (Satellite Lab). (For those who remember it, the “Moon Lab”, which was used to accommodate the overflow students in Prof. Andy van Dam’s intro course in the early 1990s, was in CIT 227, which is slightly smaller than CIT 201.)

    How did the Sunlab come to exist? What was this “avant-garde, high-tech classroom” all about? For this, we look at its antecedent, which was the CAUSE Lab (otherwise known as the Foxboro Auditorium, housed in Gould Lab, an addition to Kassar House (151 Thayer Street)).
     

    The CAUSE Lab

    Let’s go back to when the CS Department was founded, 19791. Prof. Bob Sedgewick (’68), who was teaching our intro algorithms course back then, had the idea that computer animation would be a terrific aid for students trying to understand algorithms, allowing them to visualize how they work. He inspired the rest of us on the faculty (there weren’t many of us then: Andy van Dam, John Savage, Peter Wegner, Bob Sedgewick, Steve Reiss, Eugene Charniak, and me) to turn this into a major departmental theme and project: the Brown University Instructional Computing Environment.

    We (Andy, Bob, and I) got an NSF grant to help fund this work, through their Comprehensive Assistance to Undergraduate Science Education (CAUSE) program. This got us started, and supplied a name for the lab.

    We put together a nine-page brochure describing our idea in hopes of attracting one or more companies to assist us by designing and building the personal computers we needed for the project. In this brochure we wrote:

    We want to bring an interactive computing environment into the classroom. What we have in mind is analogous to the “language laboratory” used for teaching natural languages. In a language lab, the instructor (or a tape) recites a phrase in a foreign language, and then each student repeats the phrase. In our facility, the instructor (or a program) will broadcast examples of small programs or code fragments to each student's personal computer, and then each student will work out specified variations of the example. In the language lab the instructor may monitor the performance of individual students and give personal attention to those students that need it. Similarly, in our environment, the instructor (and assistants) will be able to check students’ progress and, when necessary, give further pointers or examples to individual students.

    We will also use our system to show students live demonstrations and simulations illustrating course material. Our experience had shown that students learn more effectively if they see and interact with a program, instead of just listening to an oral description or reading literature about it. For example, it will be much more instructive for a student to “experience” what goes on within a simulated airline reservation system than merely to have it explained to him. Real systems should not be treated abstractly; hands-on manipulation is a powerful teaching technique.

    We described the sort of computing equipment we needed for the project:

    Each student must have the use of a high-resolution display. …
    Each student must have the use of a window-oriented display manager. …
    Each student must have the use of a full screen (or window), syntax-oriented editor. …
    A high-speed communications link must exist between students and the instructor, and between student stations and the file-server machine. …
    Each student must have the use of an interactive interpreter/debugger for a modern programming language (e.g., Pascal, Ada). …
    Each student computer must have a message facility to be used primarily for communication between student and instructor. …

    The cover of the brochure had an artist’s rendering of what this was to look like:

    ICE  (1).jpg

    The hardware and software we described doesn’t seem all that remarkable in today’s world, but this was 1981. Personal computers were the IBM PC and the Apple II, running primitive operating systems with rudimentary GUIs (graphical user interfaces). What we wanted was far beyond what was provided with these computers. At the time, the only computer that came close to our intent was the (legendary) Xerox Alto, which never evolved into a successful commercial product. Thus we had to find companies who were significantly advancing the state of the art and work with them.

    We learned about two such companies: Three Rivers Computer Corporation (which was designing a computer workstation called the Perq) and Apollo Computer Corporation (which was designing a computer workstation with a less-catchy name: DN400). Both were startups and had yet to announce products, let alone deliver them. Both intended to produce “computer workstations”, as opposed to “personal computers”. The latter term became associated with the IBM PC; both companies intended to produce computers that were much more capable. Thus the term “computer workstation” was used.

    Three Rivers was a spinoff of a research lab at CMU and was located in Pittsburgh, PA. 

    Apollo was founded by veterans of the computer industry and was located in Chelmsford, MA. Its relative closeness to Providence made them easier to work with. We were acquainted with some of their principals (including Andy Marcuvitz (’71), who was in Andy van Dam’s research group as an undergraduate), so we went with Apollo. We made that decision in 1981; our target was to get our instructional computing environment going by fall 1982.

    Our first Apollo workstations (model DN400; ours were the fifth and sixth machines to be delivered to customers) arrived in 1981. By fall 1981 we had 17 of them, 15 were diskless and two (with disks) were file servers.

    Below is a photo of one of our DN400’s. The “C” on its front is its serial number, in hex. (For those who don’t do hex, it’s the twelfth DN400 made.) The CPU (in the big box under the display and keyboard) was often described as being the size of a dorm refrigerator.

    computer museum 008.jpg

    We moved into our first building (151 Thayer Street) in 1979. In 1981, one of the new Apollos was put in my office. In fall 1982, Ray Kassar (’48), who was CEO of Atari and who had donated money to Brown and named our building in memory of his father (Edward W. Kassar), visited us for a formal dedication of what became known as Kassar House.

    Atari owned the US rights to the extremely popular computer game, Pac-Man. There were numerous bootleg versions of it, including one that ran on Apollos. Atari was taking legal action against them.

    Department chair Andy van Dam gave Kassar a tour of our building, stopping by each faculty office. When they came to my office, my 14-year-old stepdaughter was sitting at my Apollo, playing, you guessed it, Pac-Man. (I was at my desk.) It suddenly occurred to me that this probably wasn’t good, the same thought that went through Andy’s mind. But Kassar simply asked Jessie if she was enjoying the game. She assured him she was. I felt that my academic career might be over; Andy probably felt that he might hasten my departure. Fortunately, nothing further happened (other than our removing Pac-Man from our Apollos).

    Despite the fact that the formal dedication of our building occurred in 1982 (though it was 1979 when we moved in), we started expansion plans in 1980 or so. This resulted in the construction of Gould Lab and its Foxboro Auditorium, designed expressly to hold our lab, which was ready to house our Apollo DN400’s in time for the fall 1982 semester. 

    The fall 1982 semester was starting! Two courses were using the lab: Andy’s Intro to CS (CS 11) and Bob’s Intro to Algorithms (CS 21). Prof. Steve Reiss had students do projects in the lab in his Software Projects course (CS 191).

    We didn’t yet have software to aid us in preparing animations for students, so the instructors made do with a number of animations that they and their students had put together in the previous year, as well as an animation produced by Ronald Becker (then of the University of Toronto) that illustrated the actions of sorting algorithms2.

    In 1983, Apollo started shipping its second-generation workstation, the DN300 (it never was clear to me why it had a smaller number than the first-generation DN400). We ordered 75 of them: 60 for instruction, 15 for research. The instructional machines arrived in the first two weeks of the fall 1983 semester. Shortly before their arrival, newly hired Jeff Coady started as the director of the lab. He had never seen a DN400, let alone a DN300, before. He soon had to cope with running what was probably the largest collection of Apollos outside of Apollo. Nevertheless, CS 11 and CS 21 used the newly repopulated lab that semester.

    In summer 1983, Bob Sedgewick and student Marc Brown (’80, ’82 ScM, ’87 PhD) began working on BALSA (Brown University Algorithm Simulator and Animator)3. In their words:

    Computer programs in execution are complex objects whose properties can be difficult to fathom. Our central thesis is that it is possible to expose the fundamental characteristics of a broad variety of programs through the use of dynamic (real-time) graphic displays and that such algorithm animation has the potential to be quite useful in several contexts. In this paper, we describe a system which we have built based on this thesis and detail some of our experiences in using it the past year [1983-1984].

    They describe how BALSA was used in both CS 11 and CS 21 to produce animations of a number of algorithms that were studied in the two courses. For CS 11, students (on their own or following the instructor) could “single-step” a program and see the effect on data structures. In CS 21, students would interact with such code as a recursive implementation of merge sort, watching graphical representations of the data as it was sorted.

    Below is a photo of Apollo DN300’s in the CAUSE lab with Bob in front, teaching CS21.

    gould.lab (1).jpg

    With the combination of BALSA and the Apollos, we finally had our instructional computing environment! This was the state of the art. 

    Andy later used it in his graphics course, CS 123. While we had a fair number of students using the lab for other coursework, these (11, 21, and 123) were the only courses that were actually using our “instructional computing environment”.

    The Apollos were very expensive. In 1982, we’d heard rumors that Apple was developing a new computer that might not only be suitable for our instructional computing environment, but would be cheap. Norm Meyrowitz (’81), who was working for the department as a research scientist, had developed some contacts at Apple, and convinced Apple to give us a presentation on the (unannounced) Macintosh.

    So, a group of people from Apple (including, to our surprise, Steve Jobs) came in January 1983, to tell us (Andy, John Savage, Norm Meyrowitz, me, and possibly others (Bob was on a sabbatical)) about the Mac. This was shortly after Jobs was featured in TIME magazine (January 3, 1983) so everyone, including the dining services employee who served us food, knew who he was.

    It helped that one of the principal developers was Andy Hertzfeld (’75), who had worked for Andy as an undergraduate. And furthermore, Hertzfeld wrote a book about the development of the Mac4. Here is how Hertzfeld describes the visit in his book:

    Toward the end of January 1983, I was asked to accompany Dan’l [a top salesperson] and Mike [Mike Murray, their marketing manager] on one of the more unusual sales calls, to Brown University in Providence, RI, because Brown was my alma mater. I hadn’t been there since I graduated in 1975. Brown had a strong computer science program, especially in computer graphics, and was considered to be rather influential with the other universities. They had recently splurged, buying dozens of powerful Apollo workstations, costing tens of thousands of dollars a piece, so we were afraid they’d think the Mac was underpowered. Convincing Brown to sign on [to a university partners consortium] was thought to be so important that even Steve Jobs agreed to come along on the sales call.

    The most influential decision maker on the Brown faculty was a computer science professor named Andy van Dam. I was one of his teaching assistants during my senior year, so I got to know him pretty well. […]

    [...] we were taken for a tour of the Brown Computing Lab, where they proudly showed off their brand new Apollo workstations. Then we were ushered into a conference room where Dan’l talked about the consortium while we set up the Mac. We put it through its paces for the benefit of a half-dozen faculty members and grad students, with Steve doing most of the talking, eliciting oohs and ahs in all the right places. Finally, the demo was over and Steve asked them what they thought.

    Andy van Dam cleared his throat and looked right at Steve. “Well, it’s pretty impressive, Steve, and of course we’ll want to join your program. But it’s not exactly what we’re looking for.”

    Steve looked a little angry. “You’re going to have to wait a long time to find something better than the Mac!”

    “Well, 128k isn’t nearly enough memory to do what we want, not even close, and the screen is just too small. We’re waiting for a 3M machine, and most of the other colleges are too.”

    “A what?”

    “A 3M machine. There was a recently published paper that coined the term. You know, a workstation with at least a megabyte of memory, a million-pixel display, and a megaflop of computational horsepower. We believe that’s what we need for an effective educational workstation.

    A megaflop was the ability to execute one million floating-point operations per second. The Mac didn’t have any floating-point hardware, so it was off by an order of magnitude. In fact, we were off by around a factor of 10 in each of the 3 dimensions.

    “Oh, we believe in that, too,” Steve shot back, without skipping a beat. Apple will have an affordable 3M machine before anyone else. I only have one question. What’s a megaflop?”

    In addition, Andy told Steve that the Mac wouldn't do for our workstation vision even if it was the first affordable graphics-based personal computer: it lacked significant disk storage (essential for serious documents of all types), and worse, it didn't have the network/server architecture of the Xerox Alto, a fatal flaw in our environment.

    We did not get Macs for our lab. However, five years later, Steve Jobs had started a new company, Next. They reportedly were building a powerful Unix-based workstation, so a group of us (Andy, John, Steve Reiss, Jeff Coady, and me (Bob was no longer at Brown)) flew to California for another presentation by Jobs. He described all the Next workstation’s features, then, very theatrically, unveiled the machine by quickly lifting the cloth cover that was hiding it. It looked really great. We asked a lot of questions, some of which annoyed him, and got the distinct impression that it couldn’t yet do all the things he said it could do. We felt we were immersed in a “reality distortion field”5. So, once again, we said no.

    We had outgrown Kassar House. The university told us that it was not possible to add more space to it (however, Math moved in once we moved out, and the university, quite soon thereafter, added space to it). Work began on the CIT (Thomas J. Watson Sr. Center for Information Technology) building. We wanted to move our teaching lab to the new space, so we, led by Prof. John Savage who had succeeded Andy as department chair, designed a new lab. 
     

    The Sunlab

    But what computers should go into the new lab? We considered sticking with Apollo, but we felt there were better options. We put together an RFI (request for information) that we sent to a number of computer manufacturers: IBM, HP (Hewlett Packard), Sun, Apple, DEC (Digital Equipment Corporation), and Next. IBM decided not to participate. HP and Sun gave us a few machines to evaluate. We felt that HP had a rather “weird” form of Unix. We liked Sun’s OS (since it was based on BSD Unix, which we had been using for several years), their pricing, the possibility of research relationships, as well as access to their source code. So, we went with Sun.

    We filled the new lab with Sun SPARCstation I’s (these are the machines in the first photo in this article, showing Roberto teaching CS 21). But what should we call the new lab? No person or company had donated money for it. So, since we had just filled it with Suns, we started calling it the Sunlab. The name stuck. (At some point, many years later, I was asked by advancement how much Sun paid us for the naming rights (because they couldn’t find any record of such a payment). I explained what happened. And we still call it the Sunlab.)

    Around four years later (~1992) we filled the lab with Sun’s latest workstation, the SPARCstation 10 (I think it was the model that followed the SPARCstation II—Silicon Valley did not believe in rational numbering systems). As part of the deal, they replaced all of our (large footprint) CRTs (cathode ray tubes, for those of you who were born in the current century) with flat-panel displays, which seemed amazingly cool.

    Andy continued to use BALSA demos (and others), first live and later via videotape, in his intro and graphics courses for a number of years. Bob left Brown in 1985, but CS 21 continued to be taught. As mentioned earlier, Roberto started teaching it when he arrived at Brown in fall 1988. He initially used BALSA demos, but later developed his own tools, culminating in the Mocha web-based system6, an early example of an interactive web application. See the screenshot below.

    mocha.jpg

    The use of BALSA and its follow-ons did not survive the turn of the century. But the Sunlab continued to be a very important part of the department and its culture. Our computers were still more powerful and had better displays than the typical student laptop. But we had to periodically replace our computers with the current best choices.

    Sun was acquired by Oracle in 2010. But, in 2000, we started thinking about replacing our SPARCstation 10’s. John Bazik (’83, ’93 ScM), who was a member of our technical staff (and is its current director), had become very interested in Linux. He suggested that we might build machines ourselves and have them run free software—Linux. Home-built machines would be cheap enough that we could replace them every couple of years or so.

    So, starting in the early 2000s, we started using MaxBuilts—machines built by our hardware technician, Max Salvas. The Sunlab was populated with them, as were student, staff, and faculty offices. Max retired in 2017.  Paul Vars took over his duties and now makes and maintains our MaxBuilts.

    An important, but unplanned aspect of the Sunlab was that it was a social hub for our students. Pretty much all courses that had coding assignments used it. Students would work in the lab, but also meet their friends there (and find new friends). People could share their interests (CS and otherwise), working on projects together.

    What hastened the demise of the Sunlab was the pandemic. Students, who had been making increasing use of laptops before the pandemic, switched completely to them during the pandemic. Courses were retooled to make this possible. Thus students no longer needed our computers, or at least no longer had to be sitting at our computers. In what might be called “Jobs’s revenge”, Macs cheap enough for the average student to purchase are just as powerful (and a whole lot more convenient) than the machines in the Sunlab. So there’s no longer a need for a lab filled with students using our computers. What’s more useful is a lecture hall filled with students, who might bring their own computers. Thus, as of 1/13/26, the Sunlab is no more.

    Some aspects of the Sunlab have been virtualized (this happened before the pandemic). One can remotely log in to departmental MaxBuilts. The university maintains a common file system in which most of our files reside. Courses, such as those I taught, that require the use of Linux still work—students run their code remotely, accessing remote files. But we no longer have the social hub.

    However, there’s one last interesting use of the Sunlab that occurred in 2018, a use I and the student’s PhD advisor (Shriram) hadn’t heard about until I started doing the research for this article and John Bazik pointed it out to me. Jack Wrenn (’22 PhD) designed and coded “Vox Solaris”, an electric organ that used the speakers on the motherboards of the PCs (MaxBuilts) of the Sunlab as pipes. (Solaris was the name of the Unix OS on Sun workstations; “vox humana” is a standard stop on pipe organs.)

    Jack sent me the following links to Vox Solaris performances:

    1. https://www.youtube.com/watch?v=leyjsN-FpUto
      A visualization of how midiplex distributes a polyphonic stream of MIDI notes into a set number of monophonic streams.
    2. https://www.youtube.com/watch?v=ehpZ2GfWKe8
      A video of the first full-scale test in the Sunlab, playing a pre-recorded MIDI file.

    3. https://www.youtube.com/watch?v=UiV8lIlCTo8
      A snippet of the only public performance of the system, by Ben Nacar (’12), on Reunion Weekend. The highlight was Ben playing the shaker song “Simple Gifts”.


    Acknowledgements, etc.

    I discovered while putting this together that there are a lot of things I don’t remember. And furthermore, not much that was written down in the 1980s and 1990s still exists. I can’t find much of my email from before Brown switched to gmail (BG?). I’d thought that grant proposals from the 80s would still exist in some form (but even grant proposals from the 2010s don’t exist anymore, and certainly nothing earlier exists). So I contacted a fair number of people for help on this, including:

    Andy van Dam
    Bob Sedgewick
    Marc Brown
    Norm Meyrowitz
    Jeff Coady
    John Bazik
    Steve Reiss
    Roberto Tamassia
    John Savage

    It’s quite possible that our collective memory could be faulty. If you were at Brown during the period covered here (1980-2026) and you remember things differently, or feel that there are important things that I’ve left out, please feel free to contact me. Though I retired from Brown in June 2025, I still can be reached at twd@brown.edu (twd@cs.brown.edu works too). I’d love to hear from you (and add your name to the list above).
    ___

    1 Note that students were getting degrees in CS at Brown well before then, but they were branded “Applied Mathematics". Andy van Dam, who joined the Division of Applied Mathematics in 1965, devised a CS concentration within the Applied Mathematics concentration—effectively a sub-concentration. And from 1976-1979 these early CS degrees were supervised in the Program for Computer Science, directed by Andy, and based on faculty and students in the Divisions of Applied Math and Engineering. The program acted as a “trial” department.

    2 R. Baecker, D. Sherman, and U. of Toronto Computer Systems Research Group. Dynamic Graphics Project. Sorting Out Sorting. 1981.

    3 M. Brown, R. Sedgwick. A System for Algorithm Animation. Proceedings of ACM SIGGRAPH 1984, pp. 177-186

    4 Andy Hertzfeld. Revolution in the Valley: The Insanely Great Story of How the Mac Was Made. O’Reilly, 2004.

    5 This term, according to Wikipedia, refers to “Jobs's ability to convince himself, and others around him, to believe almost anything with a mix of charm, charisma, bravado, hyperbole, marketing, appeasement and persistence”. The term was coined by Bud Tribble of Apple.

    6 J. E. Baker, I. F. Cruz, G. Liotta, R. Tamassia: Visualizing geometric algorithms over the Web. Computational Geometry 12(1-2): 125-152 (1999)