High schoolers create solutions, eye start-ups at a top-tier school.
Until this year, Stuyvesant High School conducted class elections the old-fashioned way, on paper ballots. “They would have to count all the ballots and do everything manually,” says Kevin Wang, a senior at the magnet public school in Lower Manhattan. “I decided that I wanted to automate the system.” So he wrote a Web application, Stuyvote, in time for the fall elections. With just a few laptops and ID card readers borrowed from school security, Wang brought the school’s democratic institutions into the 21st century.
As a stream of dire reports from the nation’s think tanks keep reminding us, continuing the digital revolution—both within the realm of education and beyond—will require an army of capable software engineers. If America needs a model for how to train them, it need look no further than Stuyvesant. For generations, it’s been a top-tier school for math and sciences, and in recent years it has put together what may be the country’s best computer science program.
The pivotal moment, says Mike Zamansky, the teacher who developed the school’s program and serves as its coordinator, came about five years ago when the intro CS class became mandatory for all sophomores. That created an overwhelming demand for AP computer science (300 juniors apply for the 150 spaces, says Zamansky), and for even more advanced classes for seniors. The CS track emphasizes training on “real-world” tools, he says, and by the time students graduate, they’re “Google-ready.”
Wang, who is currently taking an advanced class in systems-level programming, incorporated smart security features into Stuyvote, to protect both voters’ privacy and the principle of one student, one vote. He was given a database of “hashed,” or scrambled, student IDs and the grade level corresponding with each ID. “Essentially every time a student swipes an ID card, I would run the hash on that swipe and compare that value with the database, to find a match,” explains Wang. In this manner, the app could display the proper ballot, record votes without tracking names or official ID numbers, and guard against ballot stuffing. Wang also made sure the interface didn’t reveal the URL where the app resided, to keep hackers among the electorate at bay. The elections ran without a hitch, says Wang, and he’s bequeathed the system to the school to use in years to come.
Another Stuyvesant senior on the computer science track, Daryl Sew, built a particle physics simulator for his final project last year. “I wrote one of those because I wanted to customize my own—just a fun thing to play around with,” he says, sounding much like the teens of days gone by who built hot rods in the family garage. It was a team effort, Sew is quick to note.
He and his classmates Sarah Robinson and Zheng-qi Xi programmed the app to account for such variables as mass, velocity, and elasticity (the amount of “bounce” a material has—think of a golf ball compared with a ripe plum), not to mention gravity. The project required “hard-core physics,” says Sew, and nimble software engineering as well. At first the trio used a Java library that made coding easier but was inefficient. With more than 20 particles in motion, “things just slowed down really, really quickly,” Sew recalls. “We couldn’t afford to have that happen.” They moved up to tools that were more powerful (and more challenging to use) and got performance where they wanted it.
Both Sew and Wang plan to continue studying computer science in college. Beyond that, neither has his future completely mapped out. “Start-ups might be cool,” says Wang. Research is a possibility for Sew, but he says, “I hear Google is a very nice place to work.”