The 150 UCI students enrolled in “ICS 10: How Computers Work,” a general education course on the basics of computing, had an entirely new learning experience this past winter, and it wasn’t just owing to remote learning during a pandemic. For the first time, Crista Lopes, an informatics professor in the Donald Bren School of Information and Computer Sciences (ICS), held the course in OpenSimulator, an open source virtual world.
“This allowed me to simulate things that would be very difficult or pretty much impossible to do in the real world,” says Lopes. “It gave the students a virtual ‘hands-on’ experience with the material that they would not have had otherwise — and this was an experience, not just a course.”
Computing as an Experience
Students from all over campus — including business, biology, engineering and political science majors —created avatars, attended lectures, learned programming and built applications, all in this virtual world. Lopes stresses that this was a course designed for people who aren’t computer science majors, so no ICS students were enrolled (though she admits they too could benefit from such a course).
“There were students who pretty much just use their phones, so having to use a complicated piece of software on the computer was a foreign beast for them, and they were already afraid of the course,” says Lopes. “But a lot of the students really thrived.”
The course was comprised of lectures and homework projects. The lectures were given in the virtual world but also streamed to Twitch, so anybody would watch. “The homework projects were what was really interesting to do in this environment,” says Lopes. “Having the ability to build exactly the simulated hardware that I thought they should be exposed to was a powerful thing.”
Lopes first simulated a very simple computer — the memory, CPU, arithmetic unit, loading of the program and low-level programming, tuning the level of difficulty to what she felt was most was appropriate. “They were given a little computing machine, and it was slow on purpose because I wanted them to see what happens in those registers, when they load and fetch things from the register into memory and vice-versa,” says Lopes. “I wanted everything to be visible, and that visibility is something that is very difficult to do with real-world hardware.”
Lopes also simulated the Internet with a network project. “Students had to set up their virtual home routers and connect them to the street router. Then they had to organize themselves and configure the street routers to talk to the region router,” explains Lopes. “So they set up all the connections of the Internet and then they could send messages; you could actually see the messages, or pink spheres, flying around.”
Sophomore criminology major Brianna Hernandez says the course was challenging yet engaging. “You made your own avatar and got to accessorize them in any way you wanted. You got to fly and travel from zone to zone and were living in a treehouse. The networking part of the project was fun, and I felt good about myself because I understood how to do it (with the help of the professor’s explicit instructions, of course),” she says. “I would have never thought that I would be coding, or creating algorithms, nor understanding their functions and operations in computer systems.” The course left a lasting impression. “The virtual world is something I will never forget.”
The course was also a novel experience for the teaching assistants. According to Nishitha Suvarna, a graduate student in computer science, “being a TA for ICS 10 was a completely new experience as this course followed a non-traditional approach to introduce computer science to beginners.” Suvarna helped students with the setup, software and assignments during office hours. “I liked the interactive aspect of this course, as students could actually visualize the code output on the OpenSim platform. The projects and assignments in this course facilitated interactions amongst students.”
Homework assignments included programming, flipping black and white tiles to learn binary, and working with a ternary wall with four values instead of two.
Simulations as a Pedagogical Tool
Lopes will be teaching this course again next winter, and although it should be in person this time, she again plans to use the OpenSim world. “Simulations are really powerful learning devices that can add a lot of value.”
As an early developer of OpenSim, Lopes has always wanted to do a course using the virtual platform. “I knew that the first opportunity I had where I could simulate things I would do it, and this was it,” she says, noting that simulations are only useful if there some sort of “physicality” to what is being taught. “It was pretty clear that this material, this course, really would benefit from having simulated hardware.”
So she set out to code and create the world, but she admits that it was extremely time-consuming. “I spent more time developing this course than any other,” she says. “The second time that I run this is going to be much, much easier. I spent a lot of time automating things.”
As part of an interview she did back in February, she outlines at the end her preparations for teaching in OpenSim. She acknowledges that for someone unfamiliar with the OpenSim platform, it could take three to four months to gain an understanding of the environment before starting to develop the assignments. While there are services for creating such environments, they are usually very expensive. Lopes hopes that in the future it becomes easier for individuals to develop these worlds. “I hope that things will change eventually to make it a little bit easier,” she says. “Honestly, I think that simulations are an under-appreciated and under-used pedagogical tool.”
— Shani Murray