Student-built software rolls out to Columbia Public Schools
It’s often frustrating to devote so much time to a school project, only to have it graded and forgotten. But putting hard work to good use is the M.O. of Grant Scott, whose software engineering students get comprehensive exercises in large-scale development, as well as the satisfaction and motivation of knowing their semester-long undertakings are put into real-world action.
Scott is an Adjunct Assistant Professor in Computer Science, as well as an assistant research professor in the Electrical and Computer Engineering Department. He also conducts research in geospatial data processing.
In addition to his research, Scott teaches Software Engineering 4320, a course required for all Computer Science Department and Information Technology Program students. Each semester, he devises a large-scale software development project that students collaboratively and systematically piece together.
“The semester project is about the entire process of software engineering,” said Scott. “We do a lot of technical writing, a lot of design and a whole lot of buildup before actually programming the system itself. “
Scott said he actually forces the students to crunch when it comes time to code, instead spending more time meticulously planning and strategizing their approach to the project.
“The thing about software is, the process to actually build it is the shortest part of its life cycle,” explained Scott. “Because, when it gets built, it’s implemented and it just persists. A lot of what the students do is, once they write things, it’s graded and nobody cares anymore. They don’t have to look at things from a long-range perspective. So, there’s the benefit of forcing them to consider software that has functionality that involves year-to-year maintenance and configuration.”
He added: “And this last semester it was a real benefit to the students that we got a real customer in there.”
Fall of 2013, Scott was able to partner with Columbia Public Schools (CPS) to develop a web application to digitize and automate the district’s magnet school application process. Magnet schools in CPS accept students by lottery, randomly selected from a slough of paper applications from all over the district.
“It was a very manual process,” said Scott. “So when the district approached us, we decided to build a standardized web front-end, and then all the configuration software for the district to manage the application dates and the waitlist and to run the actual lottery electronically.”
At the outset of the project, Scott invited CPS administrators to interview the whole class at once — a kind of business brief before development actually began.
“And that was really one of the great things from the class,” said Scott, “We had all these different groups in that giant setting, and there was still plenty of back-and-forth. Very interactive. It was actually a great experience for everyone involved. It made everybody’s project better.”
The project entailed enough components that the students in Scott’s class would be exposed to a full gamut of software functions, and was just the right scale and scope for 75 students to cut their teeth on.
Every group completed independent projects related to the application, and what Scott delivered was ultimately a patchwork of the best pieces.
The district’s IT staff approved the application in late February, and on March 25 the software went live. The application window for CPS magnet schools closed on April 11.
“Every place in the world has some business process that they use to run the business efficiently, and a lot of software that’s made is built to make these processes efficient,” Scott explained. “That’s what I try to make the focus be, because in a lot of cases, when these kids leave school, they’re going to be doing some sort of software engineering for a company, making some process within that company work better.”
Peter Stiepleman, assistant superintendent for elementary education at CPS, was the district’s liaison for the project and appeared before the class on two occasions to brief the students on what functionality the district was looking for. He said that before the software was integrated into the district’s system, administrators were cutting out names from paper applications and drawing from a hat.
“This was a clear win-win,” said Stiepleman. “We talk to teachers about rigor and relevance. Relevance doesn’t mean harder, necessarily, but rather going deeper. Could the students have learned about code in isolation? Sure. But here they worked on a project with meaning. And that’s what we refer to as relevance.”
Concocting one major project after another, orchestrating each development cycle and evaluating the contributions of each student does take significant energy, Scott says, but the result is a comprehensive exercise in software engineering that’s as rewarding as it is rigorous — especially if students get see their work rolled out into the real world.
“I suppose that’s why everyone seemed unusually engaged in this project,” said Ben Baker, a senior in computer science who contributed to the lottery app and helped piece it together during the intersession. “When Peter [Stiepleman] came in to answer our questions, the students were on the edge of their seats asking all kinds of questions and even getting a bit carried away with what other problems we could solve.”
Continued Baker: “It was neat to see that attitude surface from everyone. A group of otherwise reticent students really engaging themselves in the project not for a grade, not for a degree, but because that’s why we all got into this field in the first place — to make awesome software that solves problems.”