Teaching code to journalism students

Nicolas Kayser-Bril bio photo By Nicolas Kayser-Bril

Pierre Romera, co-founder of Journalism++ and architect of jQuest, has been teaching code at the journalism school of Sciences-Po (Paris, France) for the past four years. He explains what it’s like to teach a technical topic to students from a non-technical background, what works and what doesn’t.

Pierre, can you describe the curriculum of your class?

I actually teach two classes. The first one, in the first semester, is called “Introduction to code” (10 x 2 hours). I teach HTML, CSS and Javascript. I start with the basic concepts of HTML, such as tags, attributes and the general logic. I then move on to CSS using Bootstrap, a framework that saves a lot of time. HTML and CSS takes up 6 classes of two hours each. I then do Javascript, covering variables, conditions, loops and how to manipulate content in a web page. I teach them pure Javascript as well as jQuery, a Javascript library.

In the second semester, I teach another class, “Code and content” (10 x 4 hours), which is project-based. Students get in groups of 6. They ideate during the first two sessions and present 3 project ideas. From those three, I choose which project they’ll work on. They then produce their story and publish it at the end of the semester.

I’m not the only teacher in the class. There is always an experienced datajournalist with me, who can help students with more editorial matters.

There are some collaboration with the separate datajournalism class, but it’s not at the heart of the course.

What kind of technical background did your students have?

The class is for MA students, who are between 20 and 24. Some have a bit of experience with HTML, but it’s far behind. They’re typical journalism students, with backgrounds in political science, law or economics. I’ve never had a student who had a technical background.

In the first semester, all students from the “online journalism” track at the school have to take the “Introduction to code” class, though some from TV and radio also volunteer. In the second semester, I have students who took the coding class as well as students from other tracks.

Wasn’t it hard to teach them code? How did you do it?

I teach journalism students the same things I would any other students. But I am careful with the vocabulary. I emphasize the poetic side of code. I tell them that code is pure logic, not math. I tell them that writing code is like writing a story.

Which projects are you most proud of?

Some of the projects students did were very successful. Stereopub was a sort of survey on sexist advertising and had over 100,000 participants. Objectif 200 and Sauve ton Usine (save your factory) were two successful serious games.

Last year, almost all groups asked graphic designers for help. I had nothing to do with it, they really went the extra mile to produce great projects!

What were the biggest failures?

In terms of pedagogical material, I tried to teach Angular instead of jQuery but that didn’t work, students didn’t understand it. I switched back to jQuery the year after.

For projects, I just had one failure. A group that took six weeks to get started and then stubbornly pursued their initial idea even though it wasn’t working. But out of 12 groups, I’d say it’s an OK failure rate.

Do your former students still code?

Yes they do. At least five were hired specifically for their coding skills and work as datajournalists. Maybe they are more than five, I can’t follow each of my former students.

What tips can you give journalism schools that are setting up coding classes?

The key ingredient to the success of my class is the combination between the pure theoretical class and the one in project management. The course in the first semester gives them good enough foundations in code and the one in the second semester gives them a good reason to use their newly-acquired skills. It lets them explore new narrative formats and really showcase their stories.