Oct 22, 2014

Peter Van Roy’s course on programming paradigms isn’t just for undergrads


Professor Peter Van Roy is on a mission to change the way students and developers view computer programming. Instead of teaching a course that focuses on one programming paradigm — say, object-oriented, like JavaScript — he focuses on teaching students how different paradigms can work in tandem.

And while he’s been teaching this course to undergrads at the Université catholique de Louvain for ten years, his first online version of the course drew an audience with more professionals than not. Here, he tells us about his favorite programming paradigm, the pitfalls of falling behind in class, and the future of MOOCs:

Tell us a little more about your course, and how the decision to teach them online came about.
Computer programming is balkanized nowadays, with different schools of thought — usually called “programming paradigms” — that are mostly isolated and ignorant of each other. The goal of [my] course is to show that these paradigms are actually closely related and that any realistic program has to use more than one.

There is also a secondary goal, a kind of ulterior motive: to popularize the deterministic dataflow paradigm, because in my view it is the best one for programming parallel systems.

Who are the target audience for these course? What should one expect from it?
The main audience is computer science students, but the course is designed to appeal to professionals as well. In our first edition of the course, two thirds of the students attending were professionals.

After taking this course, you will not look at programming in the same way. You will have a broader and deeper understanding of programming that will improve your skills as a developer.

Do you teach the same course to students on campus? If so, in what ways do the MOOCs differ from on-campus version?
The course has the same content as the one I have been teaching and evolving for ten years at UCL to all second-year engineering students. The practical part is very different, though: the MOOC is based on programming exercises that are automatically graded, and the on-campus course is based on lab sessions with teaching assistants. The MOOC’s discussion forums help make up for the lack of lab sessions.

What advice do you have for people taking your MOOC?
First of all, even if you are a professional, be prepared to change the way you see computer programming! Second, set aside enough weekly time for the homework. The exercises can take two to six (or more) hours per week, depending on your background. It’s not a good idea to fall behind.

What have you enjoyed most about teaching this MOOC? Were there any surprises?
Doing the videos was quite enjoyable: I really like explaining concepts and livening it up with a touch of dry humor here and there.

There were several surprises for me during the course. First, I was agreeably surprised to see how motivated the students were. For example, we had a few small technical problems in the beginning, and the students were very helpful in tracking them down. A good MOOC is not a lifeless automated website. It lives and breathes, just like an on-campus course.

Second, I was surprised by how spread out in time the students work. Most [students] are professionals with a busy life, so they usually can’t do the homework in the same week it is given. So we extended the deadlines to five weeks, which seems to work well.

How do you see MOOCs and their role in education evolve from here? Will universities offer credit for MOOCs or MOOC-based degrees?
From my vantage point as an academic doing research in computer science, it’s clear that MOOCs will profoundly change how education is done. Things will never be the same as before. In the same way that the Internet changed how information is shared and how commerce and socializing are done, it is now education’s turn to be transformed.

I don’t think there is any danger of universities disappearing, though! The added value of physical presence and connection is too great. Eventually we will reach a new equilibrium when people figure out how to give legally-binding credit to MOOCs and fit them in a curriculum.

Tell us something interesting about yourself that not many people know!
In the early 1990s, I developed a Macintosh application for graphic design based on fractal geometry called FractaSketch, and in 1994, it was used by designer Jhane Barnes to make men’s shirts where the fabric was woven with fractal imagery! The high point was when Jhane Barnes invited me to give a talk before an audience of several hundred fashion journalists.