Assignment 3

Tabular data viz


To be completed before 21-3-2021(Thurs) 1200hrs

  • This repo link will be of the format https://<username>
  • In the forked repo create a basic index.html file, and make it visible on GitHub repo pages (it's under the settings tab, under GitHub pages).
  • You can put your CSS style tags, HTML and JS script code into one file, or organize them into files/directories.

What: Dataset

  • We'll be looking at HDB's Resale flat prices.
  • Download the CSV. HDB now no longer publishes this as an API. I suspect because this is probably because it was impacting their server costs.
  • You probably have to do some data manipulation. Whether it is in the CSV or via code or via API query, it's up to you.

Why: Framing is up to you

  • The dataset is huge, so frame one simple hypothesis that you are interested in.
  • E.g. What are transactions in only Ang Mo Kio like in the last 6 months?
  • E.g. I want to sell my flat. Pick that block and maybe a few other blocks to analyze.

How: Encoding

  • Up to you. Do you want to put everything into one scatterplot chart? Do a simple boxplot?
  • Feel free to come up with derived columns, and/or filter away data that is not relevant to your hypothesis.
  • If you are doing summary statistics, D3 has functions like to make your life easier. Or use an external library like tidyr.
  • Have a very, very simple writeup (a few lines) to explain your hypothesis and choice.
  • I'll get all of you to quickly present your hypothesis and chart once the assignment is in.

How: Execution / Expectations

  • I'm expecting one chart (if D3), but you are free to do more than one (esp. if not using D3).
  • You may prefer not to use D3 and that is fine. However, please don't just use Excel and then screenshot an image.
  • Up to you how much interactivity you want to put into the piece (if D3). Good interactivity takes a ton of work.
  • We'll be doing small code assignments for this course, so I'm not expecting anything complicated. Save it for the project.


  • Frame your hypothesis carefully so that you don't have to kill yourself doing this assignment.
  • With higher order libraries like Plots you can churn out exploratory charts a lot faster.
  • The point of this assignment is to think about how to approach a bigger dataset (data), frame your hypothesis (task abstraction), then execute it (idiom).


Chi-Loong | V/R