Last spring, I spent a lot of time thinking about what kind of contribution I might make to the teaching at North Star. I suggested several possibilities and they chose to invite me to offer a course on building a computer. We met for an hour a week starting in September.
The first class attracted a lot of initial interest: more than 20 students came. I led a discussion where we started with what kinds of computers are there and it was great! Students started listing brands of computers (Apple, Dell, HP, etc) and, then we moved to form factors (laptops, desktops, towers, etc), and then purposes (workstations, servers, thin-clients, etc), and eventually came to architecture (RISC, CISC, and different processor families). We established our mission as trying to define the components, purchase, and assemble the components to build a server computer.
The next class, fewer students came, and even fewer came after that . In the end, there were only three who came every week. It may be that the others were imagining I would come in with boxes of parts and have everyone build their own. It was more work to try to figure out everything and buy it first. But we persevered.
We discussed the kinds of services we thought we might want. We agreed that it should be a file server and probably have a webserver. There we a lot of interest in having something that might be able to improve wireless performance in the building. And I suggested that we could also run a Minecraft server. And Daniel very much would like to run a MUX or MOO server as well. We talked about the other ubiquitous services like DHCP and DNS, that make the internet work.
We looked briefly at operating systems. We looked at and rejected Windows (which, if you try to buy the server version, is fantastically expensive). We considered Open Indiana and the various flavors of BSD, but settled on Ubuntu 10.04 LTS as probably the way to go.
By now, the fall was disappearing quickly. We identified some sources for components and began looking at the cheaper components, looking for something that would be most appropriate for a server (making sure there were drivers for linux) without breaking my wallet. We selected a processor/motherboard combo and picked out a DIMM. The first case we wanted was too expensive and didn't include a power supply, so we went with a cheaper case. When we first looked at hard-drives, they were quite cheap, but due to the flooding in Thailand, prices tripled, so we ended up getting a smaller hard-drive than we'd initially hoped. It took an extra day to find a wireless card that looked like it would support the HostAP stuff that (hopefully) will make it easy to build a captive portal.
Today, in class, we started building. George had teased me good-naturedly regarding whether I'd be able to let the students actually do the work, but I think my photographs provide testimony that I let them actually do almost everything. We got the motherboard installed and installed the CPU, CPU fan, and DIMM. Next week, we'll hopefully install the hard-drive and wireless card and hook up all the internal cables. Then we should be good to try to boot it up and install gnu/linux.
Next semester, we'll continue with sysadmin training and actually setting up all the services.