Essential coding skills for journalism students

Journalism students should be able to (a) write their own HTML/CSS codes, (b) tweak existing javascript codes and (c) talk about programming languages such as Python and Ruby.

A U.S. university recently created a new department by merging the journalism program and the computer science program. This curriculum innovation prompts me to think about how to incorporate the above-mentioned skills in a journalism curriculum – they can come in three levels and two web programming courses.

Merger of journalism/CS programs at Creighton University

It’s probably the first of its kind – Creighton University, a private university in Omaha, Nebraska, merged its journalism and computer science programs into a new Department of Journalism, Media and Computing (JM&C). The JM&C program was launched in fall 2013 and has three majors:

  • Journalism major
    • Advertising track
    • News track
    • Multi-media and photojournalism track
    • PR track
  • Computer science & informatics major
  • Graphic design & media major

As I’m more interested in the coding/programming training this merger brings to journalism students, I examined the JM&C core courses and find one CS-related course that is required of all JM&C students – CSC121: Computers and Scientific Thinking.

Industry consensus on coding/programing skills for digital journalists

Before examining this CS course for what it teaches journalism students, I recommend readers of this post read a recent Twitter conversation by digital journalism professionals and educators for the type of coding/programming skills that journalism students should learn.

A consensus that emerges out of that discussion is that journalism students should be good at HTML, CSS, Javascript, jQuery, and should have some knowledge of programming languages such as Python and Ruby.

In a similar vein, I have been arguing that from a curriculum design perspective, coding/programming trainings can come in three levels:

  • Level 1 – write their own HTML/CSS codes: students need to have a solid knowledge of HTML and CSS – for instance, they can hand code a complete webpage on their own. HTML/CSS is like basic literacy in the digital age and should be an absolute must for all students.
  • Level 2 – tweak existing javascript/jQuery codes: students can customize codes written by others to suit needs of a project at hand. In a Twitter conversation with me about the importance of javascript, Stephen Stirling, a data reporter at, says,

But you don’t need to write all your own javascript codes – Stephen continues to say that there’s so much out there that there’s rarely a need to write from scratch; a lot of the time it’s finding something that’s sort of similar that exists already and making it your own.

  • Level 3 – know what Python/Ruby are and do: they are advanced programming languages – we don’t need to train j-students to be programmers, but they should know how to talk with programmers when collaborating on a digital project.

CS course at Creighton needs to be tailored for journalism training

When examining syllabus for CSC121: Computers and Scientific Thinking, I see components of above-mentioned coding skills; but overall, this course needs to be further tailored to suit the needs of digital journalism training.

In the syllabus, there are topics on HTML/CSS and basic javascript, but they are more of introductory lectures, not hands-on training. This course, I was told, was an existing class before the merger that also fulfills one of the general science requirements for students; that’s why in the syllabus we see topics such as “Applications in Biology,” “Applications in Artificial Intelligence,” but don’t see topics related to news or journalism.

I would suggest this CS course be re-designed as Introduction to Web Programming, which is then required of all students. In this course, students will receive extensive hands-on training on HTML/CSS coding, as well as introduction to javascript and jQuery, especially their applications in digital journalism practices. Students will also be introduced to programming languages such as Python, Ruby and SQL.

For students interested in pursuing more of the programming training, they can take an elective course, Advanced Web Programming, where they will learn Python, Ruby, SQL, etc.

Related posts:

About Mu Lin

Dr. Mu Lin is a digital journalism professional and educator in New Jersey, United States. Dr. Lin manages an online marketing company. He also manages MulinBlog Online J-School (, a free online journalism training program, which offers courses such as Audio Slideshow Storytelling; Introduction to Social Media Marketing; Writing for the Web; Google Mapping for Communicators; Introduction to Data Visualization; Introduction to Web Metrics and Google Analytics.
This entry was posted in Data journalism. Bookmark the permalink.

4 Responses to Essential coding skills for journalism students

  1. Thanks for the thoughtful post about what students need to learn and what we are doing at Creighton. I think you are right. It’s a process as we are a small department, working with faculty who are trying to learn new things right along side the students. Putting the two departments together has been a great thing to help us all think in different ways.

  2. Tim Guthrie says:

    There is also a Web Design course that is required of all students in the department, and they get HTML, etc, in that course as well. Just FYI. Nice article

  3. mulinblog says:

    Thanks for the comments. Please update us on new developments in the curriculum.

  4. Uri Lukach says:

    JavaScript can be tricky since recently it became a pure OOP language since it comply with ECMAScript 5

Leave a Reply