New Master’s in Software Systems Development Offered
Alva Couch, an associate professor of computer science, never doubted that a master’s program in software systems development made a lot of sense for Tufts. It would fill a niche in the School of Engineering ecosystem, fitting in with other master’s degrees in emerging fields like cybersecurity and public policy and data science by preparing students for a fast-growing job market and leveraging faculty expertise.
“Software systems development requires an analytical perspective, and that’s one of the things we do best,” he said. “We have a long track record of producing great systems programmers. So, I thought, this master’s program can play to that strength.”
He pitched it and now it’s a reality: Tufts will be offering a master’s degree in software systems development starting in fall 2020.
Plenty of schools teach clever ways to write applications programs and offer programming boot camps. But their students “are not trained in the analytical skills that industry needs,” Couch said, predicting that “software application programmers are going to be in high demand. And they generally get better pay than application programmers because their knowledge and the expertise is more difficult to come by.”
Couch knows better than most how the field has evolved and where it’s going. Back in 1979, his first job was as a systems programmer, and for more than three decades he’s been teaching students who share a relentless curiosity about how complex systems work together.
While traditional software engineering programs train students to write applications tailored to solve specific problems, Couch said, software systems engineers develop broader, analytic skills that help them make sure complicated systems—like a database, a network, or an operating system—work together. “Systems development is all about understanding interactions,” he said.
Put another way: systems engineers get the big picture. “Successful systems engineers can grasp deep semantics,” he said, “and that knowledge becomes more and more important as you want complex programs to run fast.”
Tufts has a solid foundation for systems application development, Couch said, noting that he didn’t need to create any new courses to develop the program’s framework. Core courses cover operating systems, security, and software engineering, while additional options include networks, databases, cloud computing, and big data. Electives range from artificial intelligence and machine learning to advanced computer architecture and computer graphics. Students will learn how to design, build, and test systems programs in C and C++ through a set of courses containing practical experience in all aspects of C/C++ software development.
“You’ll see that these are courses in not just programming, but also programming specific parts of the system,” said Couch. “We’re interested in programming that is not simply at the user level, but that also goes deeper, such as how it supports the operating system and interacts with network devices.”
At the School of Engineering, the new master’s program will train people for that future, he said, “because our students will learn what the innards of the system actually are,” Couch said. “They will have a knowledge of both operations and development; they will see the operational errors—they will observe it firsthand. That’s the kind of person we’re looking for—students who want more than technical skills; they want to develop thinking skills and to really understand what works, and why.”
The master’s in software systems development program begins in fall 2020; the deadline for applications is January 15. Learn more about the program and how to apply here.
Laura Ferguson can be reached at firstname.lastname@example.org.