NMC5344 Coding for Communicators

A course introducing coding for communication research and professional practice using R, with an emphasis on understanding code, verifying results, and communicating computational findings responsibly.

Instructor Zhicong Chen
Term AY 2026/2027 Semester A 2026
Location TBD
Time TBD

Course Overview

This course introduces students to coding for communication research and professional practice using R. Students learn how to inspect, visualise, transform, and model data; how to use generative AI productively in coding tasks; and how to verify, interpret, and communicate results responsibly. Emphasis is placed not only on producing code, but on understanding what code does, identifying errors and limitations, and translating computational findings into clear communication insights.

Learning Objectives

By the end of this course, students will be able to:

  • Design and run analysis on datasets
  • Report and visualise results in plots and dashboards
  • Demonstrate problem solving skills to mine insights from data
  • Collect, organise, analyse, and present data by using programming

Course Format

The course meets weekly in block mode from Week 7 through Week 12. The meeting time and location are to be determined. Office hours are to be announced, or available by appointment.

Institution

Department of Communications and New Media, National University of Singapore

The following books are recommended as references but are not required:

Assessment

Component Weight
Attendance and participation 30%
Final quiz (Week 12) 30%
Group project 40%

Attendance and active participation are mandatory. Participation includes engagement in class activities, short quizzes, discussions, and weekly submissions where applicable.

The final quiz takes place during class in Week 12. It consists of 15 multiple-choice questions worth 2 points each and must be completed independently.

The group project comprises a proposal presentation (5%, individual), final report (20%, group), individual reflection essay (5%), and peer feedback (10%, individual). In Week 9, groups will identify a suitable dataset, apply material from Weeks 7–9, present at least two visualisations, and explain their tentative final-project analysis. After Week 12, each group will submit a 1,000-word report; students will also submit an individual reflection and complete peer feedback during the final submission window.

Generative AI

Unless an assessment states otherwise, generative AI may be used as a coding partner, explanation aid, brainstorming tool, proofreading aid, and debugging assistant. Any AI use must be acknowledged, including the tools, prompts, outputs, and how the student verified or revised the work. Students remain responsible for verifying all outputs and must be able to explain any submitted code, analysis, interpretation, or writing. The final quiz must be completed independently without unauthorised AI tools or other unauthorised materials.

Schedule

Week Date Topic Materials
7 Week 7 R Foundations and Data Visualization

Morning: course introduction and R/RStudio fundamentals. Afternoon: data visualization fundamentals.

8 Week 8 Tidy Data and Exploratory Visualization

Morning: tidy data and data transformation. Afternoon: exploratory data visualization.

9 Week 9 Data Wrangling and Project Proposals

Morning: data import, cleaning, joining, and reshaping. Afternoon: group project proposal presentations.

10 Week 10 Functions, Iteration, and Web Scraping

Morning: functions and iteration. Afternoon: web scraping and responsible data collection.

11 Week 11 Introductory Models and Reproducible Reporting

Morning: fitting and interpreting introductory models. Afternoon: reproducible reporting with R Markdown and GitHub.

12 Week 12 Final Quiz and Course Wrap-Up

Morning: final quiz. Afternoon: course wrap-up and project reflection.