They love Debian Linux but not Red Hat. They tolerate Windows but only for gaming. And one of the few things they all agree on is that they hate programming in Java.
Meet the upperclassmen at Thomas Jefferson High School for Science and Technology in Alexandria, Va,, the nation’s premier technical high school, which is affectionately known as TJ. The 30 students who hang out in TJ’s Computer Systems Lab are likely to be the next generation of computer masterminds.
“My bedroom sounds like a machine room. I have nine computers in there,” says John Livingston, a 17-year-old senior who spends 20 hours a week volunteering as a systems administrator for TJ’s Computer Systems Lab.
For fun, Livingston updates the 40 workstations in the lab, maintains the school’s DNS records and is redesigning a pair of network file servers. A weekend in February found Livingston and other lab groupies sending native IPv6 packets over the high school’s connection to Network Virginia, a broadband network that links Virginia’s colleges and community colleges. We have kids here who have been programming since age four.Richard Washer>Text
“We’re the only institution besides Virginia Tech that’s running native IPv6 on Network Virginia,” Livingston brags. (IPv6 is an upgrade to the Internet’s main protocol, IPv4.)
TJ is an elite public high school that attracts top math and science students from across northern Virginia. The average GPA is 3.8. The average SAT score is 1478. TJ has 12 cutting-edge research laboratories, including astronomy, biotechnology and robotics as well as computers.
“In my opinion, it’s the best public high school in the nation,” says Marilee Jones, admissions director at the Massachusetts Institute of Technology (MIT), which accepts as many as 20 TJ students each year. “All their programs are strong . . . but they have such excellent, excellent teachers there in computer science.”
TJ’s four-year computer science program includes courses in artificial intelligence and supercomputer applications. Most graduates of this intensive program end up majoring in computer science or engineering at prestigious universities such as MIT or Carnegie Mellon. From there it’s on to graduate school or positions at technology powerhouses such as Cisco Systems Inc., Microsoft Corp. or government contractor The Mitre Corp.
Each year, about 60 of the school’s 420 seniors graduate from the school’s computer science program. What’s special about TJ’s computer science program is its hands-on approach. The students design and maintain the school’s Web site — www.tjhsst.edu — as well as the intranet students use to send e-mail and record their attendance at extracurricular activities available during the eighth period. Rather than taking Linux programming classes, students learn Linux by maintaining and upgrading production network servers.
“We have kids here who have been programming since age four,” says Richard Washer, an education technology and integration specialist with TJ.
Each year, TJ administrators select a handful of computer science students to act as systems administrators for the lab. These students operate and maintain all the lab’s computing gear, including 40 workstations, one Pentium cluster, one MIPS cluster, 10 Intel-based servers, a Sun server, a Cray supercomputer and a Cisco Catalyst 4006 with several blades.
“When the lab has a computer problem, if the students can’t solve it only then does it go to the IT department,” says Peter Morasca, network engineer at TJ.
Seniors pass down their institutional knowledge about the systems in the lab and how they work to juniors coming up behind them.
“The adults don’t know how this stuff works,” says Joshua Strong, the division manager of science and technology at TJ. Strong’s background is in running IT systems for school districts. “It scared the bejesus out of me when I first got here” two years ago, he says.
In recent years, TJ has added a real-world IT support philosophy to the operation of its Computer Systems Lab. Students are taught not only how to install a new server or router onto a network but also how to do the proper testing to ensure that the network stays up and running during the process.
“We’re telling them that five or six nines (of reliability) is the goal. The goal is not to be pulled out of class to fix a computer problem,” Strong says.
One of the biggest projects TJ students are working on now is revising the school’s intranet, which grew out of a senior research project conducted several years ago. The intranet is based on PHP scripting language, uses the open source database MySQL and runs on a Linux server.
“There are hundreds of lines of code but no documentation,” says Dan Tran, a 17-year-old junior who is leading the 20 students involved in this effort. “What we’re trying to do now is keep all the features but put them in a modularized format.”
The intranet redesign effort has been code-named Iodine — a bit of scientific humour from a student taking advanced chemistry classes. (Iodine’s chemical representation is I2, which also stands for Intranet 2.)
For TJ students, being involved with Iodine is a chance to hone Web development skills.
“I’m in here most of my free time,” says Tran, who has remote access to the lab systems so he also can work on this project from home. “I’m doing this for fun, but also for the prestige and the experience.”
For administrators, Iodine gives the school a much-needed safety net to ensure the intranet applications that students use on a daily basis can continue to be maintained and upgraded. It’s a similar challenge to what any network manager faces with an aging, homegrown application, Strong says.
“The students here end up mimicking life in this very small enterprise,” Strong says.
With its powerful computers and hands-on philosophy, TJ’s Computer Systems Lab attracts like-minded students, who start hanging out here as freshman to pay homage to the on-site supercomputer. “The kids come in here and find a home,” he says.
The school isn’t entirely about technology. It has highly ranked sports teams (bumper stickers read: “I go to TJ for the sports”), and students participate in activities such as band as they might at any other school. But many of the computer science students are single-minded.
Senior Kyle Moffett estimates that he spends about 20 hours a week as one of the lab’s systems administrators. Moffett works closely with Livingston to maintain the workstations in the lab and redesign a pair of network servers. They also are working to develop an API library that performs some of the functions of the operating system kernel and can be used for testing purposes.
“I have three computer systems in my bedroom: