← CSC 1024 Introduction to Computing

CSC 1024 Final Project

For your final project in this course, you’ll work in groups of 3–4 to create an Observable Notebook containing a data-driven report about a topic of your choosing. The report will include analyses, visualizations, and reflections based on a real-world dataset of your own choosing.

Finding a dataset

You can find data from any of the following sources, or even merge multiple datasets to help you come up with unique insights.

Note: Not all of these are going to be super easy to work with. That’s okay! Please talk to me if you’re interested in a topic or dataset but find it difficult to download. I would much rather help you follow your interest than ask you to choose a different dataset.

Possible data sources (you’re free to look elsewhere as well):

Task overview

Your task in this project is to produce a data-driven web-based report about the dataset you choose to work with. Think about it like writing a paper, but instead of just words, you’re also presenting your data analysis.

You will put together everything you’ve learned so far to produce this document, i.e., TypeScript and Vega-Lite.

Put simply, I’d like for you to tell me something interesting from the data. Teach me (and, through your presentation, the rest of the class) something about the topic you’ve chosen.

You’re encouraged to pursue questions that you find interesting. There is no requirement that you come up with “significant” or “surprising” conclusions.

Requirements

This is a fairly open-ended project. But there are a few minimum requirements I’d like each project to meet.

Non-technical requirements

Research and context

For whatever dataset you choose, you must also find (and read) one or more articles that provide detail or context surrounding the dataset’s topic or field.

This is important so we don’t accidentally make misleading claims or misrepresent the data. It is particularly important if you work with a dataset or topic that is of societal or scientic importance (encouraged!). And besides, reading will help you come up with more interesting ideas for questions or visuals!

For example, if you choose to work with the CORGIS data about fatal police shootings, you should definitely read the Washington Post article about how the data was collected. (The Washington Post originally collected the data, and the article’s data is more up to date than the CORGIS version.)

So, your website’s front page should contain the following:

Notebook organization

Your notebook should be well organized, using headers and well-formatted text to create a coherent narrative. Examples of issues that might lead to point deductions are:

Technical requirements

You will use TypeScript to transform the data into suitable formats for your charts and analyses. This involves using and writing functions, arrays, map/filter/reduce, etc.

You must produce at least 3 Vega-Lite figures, but hopefully you will produce more!

Getting started

You will work in teams. Teams are already assigned (see the announcement in EdStem).

Each team will produce one Observable Notebook, which they can edit collaboratively.

I will add all of you to the @kazerouni-calpoly workspace in Observable. Once you’re added, one team member should create their notebook there and share edit access with their teammates.

Submission and final presentation

Submit your project by making your team’s notebook Unlisted (or Public), if you want it visible to everyone. And submit the link in Canvas by the due date.

Presentation

In the last week of class, your group will give a brief (7–10-minute) presentation detailing your analysis of your report in front of the rest of the class. The presentation should cover the following items: