A Problem Solver Shares His Lessons

Photo Credit: Aslan Askarov
With the encouragement of faculty and friends, Dan King gained both confidence and a new career direction. Now, by staying involved with his alma mater, the 2013 College of Computer and Information Science (CCIS) graduate wants to help other students also excel.

Today, King is a computer science doctoral student at Harvard University, where he focuses on programming languages. But he never expected to be doing this when he first arrived at Northeastern. King explains, “I thought I’d get a job in a gaming company and build video games for the rest of my life. I wanted to spend all of my time building and playing video games. I never wanted to do research or go to graduate school.”

That started to change the summer following freshman year. David Van Horn, who taught at CCIS for several years and was King’s instructor for the Fundamentals of Computer Science course, was working on a research project involving compilers. Van Horn asked an initially reluctant King to help him with it.

“I wasn’t interested in compilers, but this compiler would let students play video games in a Web browser,” King says.

He was hooked. King spent another summer doing research with Van Horn and subsequently helped Professor Olin Shivers build more efficient parsing generators. A combined major in computer science and physics, King chose to pursue research at CERN in Switzerland—the largest particle physics laboratory in the world—for his final co-op.

There, he saw talented graduate students in physics struggle to use computing to express the algorithms they knew well. That’s when King became certain he wanted to continue on to graduate school himself. He explains, “I had a lot of knowledge of programming languages and wanted to build systems to support people writing scientific programs. I see programming languages as a framework for helping people understand problems through rigorous computer science.”

Back in Boston, King was already helping a very different group of students understand programming. As a volunteer with the Bootstrap after-school program for several years, he taught students in Boston’s Dorchester neighborhood to code.

“I think it’s important to share knowledge of programming with students from disadvantaged backgrounds. They didn’t have a lot of role models in their lives who were in college or did programming,” says King, who also tutored CCIS students and served as a teaching assistant for Fundamentals of Computer Science while an undergraduate.

Since completing his bachelor’s degree, King has returned to campus for career-related events that help prepare CCIS undergraduates for the technical demands of the computer science field. He also encourages them to continue on to graduate school as he has done and serves as a resource to students who are considering it. But most of all, he advises the undergraduates to try new approaches to solving problems, ask questions, and learn from their failures.

“I impart to students when I go back to Northeastern that the biggest difference between a successful student and an unsuccessful student is self-confidence,” King says.

That’s a lesson King learned the hard way. Midway through his own education, he began to experience self-doubt and thought about changing his major or even leaving Northeastern before graduation. Two of his close friends at CCIS realized what was happening and helped him overcome it.

“I came out the other side and saw that I was capable,” says King, who ultimately graduated with summa cum laude honors and graduate school recommendations from both Van Horn and Shivers. “A lot of people made an impact on who I am today, and I’m indebted to them.”

As for the interest in video games that first attracted him to computer science, King says, “I still play games but don’t build them anymore. I wish I had the time, but there are so many other problems for me to solve. My goal now is to develop the knowledge to use programming languages to help other people do their jobs better and help fields benefit from tighter integration with computing. Whether that takes me to academia or industry, I hope to realize my vision of how we can use programming languages to better understand the world.”

– As seen in the February 2015 E-Newsletter –