The Ultimate Course on Problem-Solving: Professor Sriram Sankaranarayanan Talks Algorithms

Written by Coursera Staff • Updated on

The University of Colorado Boulder faculty member teaches the Foundations of Data Structures and Algorithms specialization, which serves as a performance-based pathway into either the computer science or data science master’s program.

[Featured image] University of Colorado Boulder professor Sriram Sankaranarayanan.

Learning how to code in the days before the internet often took a bit more work. Sriram Sankaranarayanan, a professor of computer science at the University of Colorado Boulder, recalled the effort it took to track down that information in his native India. “I remember finding books in the library, but they weren’t very useful because they were out of date by that point,” he said. 

Throughout middle and high school, Sankaranarayanan—who teaches CU Boulder’s Foundations of Data Structures and Algorithms specialization—explored what he could of the subject with the help of a few teachers, but it wasn’t until he attended university that he really got the education he needed to flourish. If anything, it stoked his appetite for more. 

But as Sankaranarayanan considered applying to PhD programs in other countries, he once again came up against the limits of available information. At the PhD stage, it’s crucial to identify the right faculty advisor to work with so you can align your research interests. Even though most universities had websites, many professors didn’t yet have faculty pages. “We take these things for granted now, but knowledge was hard to get your hands on when I was a student,” he explained. 

The key turned out to be a textbook Sankaranarayanan discovered while studying for a major undergraduate computer science exam. “I went to the library and saw that a professor from Stanford had written this wonderful textbook that explained everything we were learning in class,” he said. He was so impressed that he applied to Stanford to work with that professor—and was accepted. 

Now a faculty member himself, Sankaranarayanan serves a fundamental role in CU Boulder’s online computer science and data science master’s programs by teaching algorithms. “Algorithms have always been the subject that I really enjoy teaching,” he said.

When students successfully complete the first three courses in the Foundations of Data Structures and Algorithms specialization, they gain full admission into either online master’s degree program, and that coursework counts toward their degree progress. It’s all part of the unique performance-based admission the university offers in partnership with Coursera. Rather than submit a formal application, students can prove their knowledge in pre-selected courses—all of which count as degree credit once they enroll.

Even though Sankaranarayanan’s academic research is in a different area, he still loves the potent possibilities bound up in algorithms. “To me, it’s a bunch of interesting problem-solving recipes,” he explained. “It’s like, I have this jumble of things that are all unsorted. I would like to sort them, but every time I do it my hands hurt so I have to minimize the number of times I move my hands. How do I do that?” 

Undergirding that problem-solving endeavor is the fundamental mathematics of algorithms, which for some students approaching the material for the first time, or returning to school after years in the workforce, might feel daunting. But Sankaranarayanan reviews important concepts in ways that mirror how he first came to understand them. “I didn’t have to dumb anything down,” he said about building the material for an online global audience. “Every time I felt like I needed to explain something, I’ve managed to explain it down to the last bit of detail.” 

Students who encounter Sankaranarayanan’s online courses say they walk away feeling grounded in material that could otherwise seem overwhelming. Data science master’s student Stanislov Liashkov said, “I really felt all of those labs were designed well.” 

However, it’s important for Sankaranarayanan that students not just grasp the curriculum, but feel challenged by it as well. “Problem-solving is a muscle,” he explained. “Some people are born more muscular. But for others, if you lift those weights, those muscles will get trained. You have to solve really difficult problems and engage with that process—that makes you better at computer science.” 

In a major leap from Sankaranarayanan's experience as a computer science student, his teaching methods now reach a global audience—and students are finding success. “It’s super exciting for me, to see students take these classes and do well,” he said. “I feel blessed that I'm able to reach out to so many students around the world. It’s been a great experience in that way.”  

Keep reading

Updated on
Written by:

Editorial Team

Coursera’s editorial team is comprised of highly experienced professional editors, writers, and fact...

This content has been made available for informational purposes only. Learners are advised to conduct additional research to ensure that courses and other credentials pursued meet their personal, professional, and financial goals.