An interview with Clinical Assistant Professor Adam Pah.
Concepts such as machine learning, artificial intelligence, and social networking are increasingly making their way out of the traditional computer science curriculum and into other fields, including business. At Northwestern’s Kellogg School of Management, for example, students without any prior background in computer programming are now learning these concepts as a way to keep ahead of significant business trends in their fields.
In the interview below, Clinical Assistant Professor Adam Pah explains how he is using advanced computer science platforms from Vocareum to deliver a state-of-the-art learning experience for non-traditional CS students.
Adam Pah, Clinical Assistant Professor at the Kellogg School of Management and Organizations at Northwestern University
Yes, absolutely. So, I have a bit of an odd background. I started with a bachelor’s degree in Molecular Biology, then shifted a lot as I explored computational work that approached Biology as a system. I moved on to humans, social issues, social problems, behaviors, and time series. I did a post-doc in Northwestern’s Epidemiology Department and Chemical and Biological Engineering Department, with Luis Amaral, with whom I now co-teach. It was in his lab during my first year of graduate school that I first learned to program. So, it was a trial by fire.
I teach classes on machine learning, artificial intelligence, social networks, crowds, and platforms. Most of the classes that I teach are at the forefront of what has just happened or what’s coming to business.
So, for example, social networks and crowds impact how businesses can understand and deal with what’s happening outside of their organization. The world has changed significantly since the 1990s. More importantly, the way that we act and the way that our actions essentially build on each other has changed dramatically through the advent of social media like Facebook and Twitter. Our ability to connect and to propagate information and build relationships is drastically different than it ever was before.
We definitely have competitors that are also very cognizant of this space and its growth. We’re taking a bit of a different tack. So, in schools like MIT Sloan or Stanford, they’re porting over some of their courses that look like they’re almost exactly from the Computer Science department.
In contrast, for our MBAs, we’re focused on essentially creating translational knowledge. This means exposing them to what it is, what it does, how they interact with it and how they use it in business decisions. As managers and decision-makers, they need to understand the inner workings to lead teams, use it in projects and make decisions based on it. But they don’t need the same type of training that a data scientist needs.
NICO-101 is our introduction to programming for big data, offered as part of the Northwestern Institute for Complex Systems. It was originally created by Luis Amaral and me as a bootcamp four years ago, but now it’s an official course.
We designed it for undergrads across all disciplines and with absolutely no experience at all. It’s also eight full days in a row which is pretty exhausting for both of us and the students, but we believe that immersion is one of the best ways to take them from nothing to something. It’s just like learning a language.
And so, we start day one with almost everyone knowing nothing. Previously, they only used their computer for checking Facebook, ordering shoes on Amazon or something like that. So, we begin with the basics. The entire first week, the first four days, is all about understanding the basics of programming. And then the next four days are all applications.
We cover basic text analysis using Shakespeare’s works. So, this means pulling apart dialogue, trying to understand the complexity of speaking parts. We do a day on structured data, and then the last day we do image analysis. Once that ends, we do projects and students pick a project they take on their own and do a basic presentation on it at the end.
Over the years, we’ve had interest from across the campus, including the medical school, business school, even piano performance and music theory. We’ve had students from everywhere. It’s been really gratifying.
Yes, we’re working on the other courses. My computational social science course is the only successor course right now. That is where we’re going to dig into understanding how to get data from the web, how to pull it together, how to analyze and structure it, how to identify topics, and how to run experiments.
We try to keep things accessible, so we only use Python and Jupyter Notebook. Jupyter is wonderful, not only as a resource, but also the way it changes learning. So, we have classes flipped. It’s all active learning. I think that’s one of the key things for us, especially with an audience that has no prior experience, no restriction on background.
The “terminal”, on the other hand, is a scary place. Because of how I learned to program, I found integrated development environments just confusing and intimidating. You throw me into one of those programs and I have absolutely no idea what’s going on and there are way too many buttons and too much to diagnose when something goes wrong.
The auto-grader is key for us as we’re teaching them the basics of programming. This year, when they submit assignments, it auto grades — they get their grade back and they know how well they did.
Previously, we didn’t even offer homework since it wasn’t really a class, but students really wanted to practice on their own. So, we provided homework, but without platform support. This meant homework was submitted by email, then graded by hand. It was not easy or quick and the feedback loop didn’t really exist. The student got what they wanted, but it wasn’t really helpful.
We care a lot about teaching understanding – teaching them how to keep doing this on their own after the class. And the reality is that I just couldn’t provide that kind of feedback for each student every day. I would have to say that auto-grading is the most important tool that the Vocareum platform provides – closing the loop among teaching, practice and feedback.
Great question. I’ve used it twice now. The amount of work in changes that you put in from last year to this year was great. Most of the changes that I wanted have been implemented. Honestly, at this point, I think it’s more on me.
We do plan on using Vocareum’s Peer Review feature in the winter course. We’re going to be dealing with a lot more complex formulations and quantitative calculations, so the Peer Review System is going to help them a lot, not only to improve their code, but also so they can see how other people are solving the same problem. We talk a lot about how there are a million ways to solve the problem in our introductory course. But, typically, there’s one easiest way possible.
The only other thing is that all of our course materials are open source. And, they’re on GitHub, available for download at bit.ly/nico101. And it’s designed for essentially people that have no experience to get up to the point of independence, so it’s freely available.
You have a pretty strong value proposition. Having attempted this for the first time, trying to grade all the homework on your own is the one thing I wouldn’t suggest. I’d much rather re-develop the materials.