Total Coursework Assessment
The coursework is assessed in two parts, A and B:
60% of marks for Part A
40% of marks for Part B
Coursework will be submitted via Turnitin in zipped files.
Part A (Lectures 01-05)
The assignment will involve the submission of a Python Jupyter notebook (NB) and a web page containing select visualisations (WP).
NOTE:
there is a limit of 30 to the cumulative number of static and interactive charts/maps you can submit for the web presentation
IMPORTANT: The notebook and web-page submissions are stand-alone and shouldn't assume that the assessor has read the Part B presentation. You can reuse body text from Part B - this will not be included in your word-count limit for the coursework. Also there is no word count on explanatory text in the Jupyter notebooks or web-page.
Dataset
The Part A and Part B visualisations will be based on your chosen dataset. This total size of this dataset and any datasets used to augment it should not exceed 150mb in size. The dataset should include some geographical data which can be used to produce a Plotly map for the web presentation.
This dataset can be augmented by other data where required but the primary focus is using the notebooks to explore this dataset. Try and keep the datasets a reasonable size - a few thousand rows should be sufficient to demonstrate your dataviz skills and provide a dataset which is both interesting to you and contains interesting correlations to present to others.
If the dataset requires cleaning or refinement this should be included in the notebook, preferably in a separate section.
Notebook
With the notebook it's important to explain what you are doing and why. You will need to demonstrate:
Understanding of the dataset using Pandas to query its structure.
Exploration of the dataset driven by iterative charting/mapping etc.
The selection of key dataviz charts from the exploratory phase for presentation in the web-page.
Try and create a narrative for your notebook - from the raw dataset, through its refinement and exploration with Pandas, Matplotlib and Plotly etc. and finally to the selection of key charts for your web presentation.
I suggest breaking your notebook into three key sections:
Inspecting, cleaning and refining the dataset.
Exploring the refined dataset.
A conclusion and explanation of which resulting charts/maps were chosen for the web presentation and why.
Web presentation
It's possible to use Codepen for your web presentation but the projects, as opposed to the pens, are not free. Codesandbox is a free option that allows for proper web projects with image assets. The free Codepen 'pens' are designed for little web-dev sketches are will probably be too limiting and awkward for your web presentation.
A Codesandbox project should provide everything needed for the web presentation. Alternative web resources like can also be used. If you want to work locally with a conventional web structure (typically a root directory containing an index.html entry point and sub-folders with any assets used) you can just zip that project directory for submission. Here's an example of how your project's file structure might look with an index.html 'entrypoint' and sub-folders containing the CSS, JavaScript and data:
ucl-dataviz-project-2026
├── data
│ └── FTSE_time_series.csv
├── images
│ └── key_ftse_indicators.png
│ └── ftse_map_company_worth_by_country.png
├── index.html
├── index.js
├── style.css
├── scripts
│ ├── gdp_country_plotly_map.js
│ └── 2026_stock_analysis_plotly.js
For the web presentation you can use any charts/visualisations in the Matplotlib ecosystem (including auxiliary libraries like Seaborn) and any Plotly, Datawrapper charts/maps etc. The Plotly charts can be developed using Python or JavaScript.
Using JavaScript is not mandatory but the Plotly JavaScript API, which is very close to the Python based one, does offer some advantages. You need only worry about getting the data from your notebook to the web/codepen/Codesandbox and can then do all the adaptation and refinement in one place.
The web presentation (page) should include the following, as a minimum:
At least four Pandas/Matplotlib/Seaborn charts
At least two Plotly charts
At least one Plotly map
At least one Datawrapper chart
Marking guide
The marks for notebook and web-project will be apportioned as follows:
Notebook:
Structure, flow, presentation (30/100)
Exploration, insights, data discoveries (30/100)
Code quality, efficiency, choice of algorithms (20/100)
Misc., data refinement, use of auxiliary libraries (20/100)
Web-project:
Choice and presentation of charts (40/100)
Structure, flow, coherency (20/100)
Layout, aesthetics, ease of use (20/100)
Technical ambition (20/100)
Submission
The presentation will be submitted as a zip file containing the notebook, web-page and any data/assets required to view the presentation.
Codesandbox projects can be downloaded - use the download project option on the top left square menu to save your project files locally, then zip them for submission. We will cover this in the lectures.
If the project is available online please include the Codesandbox (or other) URL - this will make assessment easier.
The naming convention must be Group X - Part A
Part B (Lectures 07-10)
Recommended Workflow: 1. Complete Part A data cleaning in Python 2. Export cleaned data to CSV 3. Import CSV into Power BI (avoid complex data cleaning in Power BI) 4. Create dashboard visualizations 5. Write design rationale referencing Part A insights
Part B: Functional Power BI Dashboard with Design Rationale
Objective
To create a functional Power BI dashboard that visualizes key insights from the dataset you have chosen for Part A, demonstrating your team's ability to apply both conceptual design thinking and practical Power BI skills.
Any Power BI specific Python/Pandas data cleaning or analysis can be included in a section of your Part A Python notebook.
This assignment emphasizes:
Design principles: Understanding how to create a dashboard tailored to a specific audience.
Hands-on practice: Building a functional dashboard that includes visuals and interactivity.
Rationale: Articulating and justifying your design decisions.
Assignment Requirements
1. Build a Functional Power BI Dashboard
You are required to create a working dashboard in Power BI that includes a minimum of:
Three (3) visuals representing key metrics, trends, or insights (e.g., bar charts, line charts, or maps).
One (1) interactive feature (e.g., slicers, filters, or tooltips) to allow users to explore the data.
Annotations (titles, labels, or tooltips) to help users understand the visuals.
Focus: Simplicity and clarity, ensuring that the dashboard is user-friendly and tailored to your intended audience.
2. Address Core Design Elements
a. Visualization Design Process
Identify the most valuable insights from the dataset.
Consider the needs of your audience (e.g., management, analysts, or clients).
b. Relevant Visuals and Analyses
Choose visuals appropriate for the dataset and audience.
Provide a clear rationale for each visual type, for example:
oUse bar charts for comparisons.
oUse line charts for trends over time.
oUse maps for geographic data.
c. Interactivity
Include at least one (1) interactive feature such as slicers, drill-throughs, or tooltips.
Ensure that interactions are intuitive and add value to the user experience.
d. Colour and Layout
Use Power BI's built-in themes or a customized color palette.
Ensure the layout is clean, logical, and user-friendly.
3. Write a Design Rationale (Max 600 Words)
Alongside your dashboard, submit a design rationale that specifically explains:
Key design decisions: Why were certain visuals, interactions, and layouts chosen?
Audience needs: How does the dashboard meet the requirements of the intended users?
Challenges faced and solutions: What difficulties were encountered and how were they resolved?
Deliverables
Power BI Dashboard File (.pbix): A working dashboard file demonstrating your visuals, interactivity, and annotations.
Design Rationale (Max 500 Words): Submit as a Word document (PDF submissions will receive a word count penalty).
Evaluation Rubric
Functionality (25%) - Includes required visuals and interactivity, ensuring they work as intended.
Visual Design and Analysis (25%) - Are visuals appropriate, clear, and insightful?
Interactivity (15%) - Does interactivity enhance data exploration?
Color and Layout (15%) - Is the design visually appealing and accessible?
Design Rationale (20%) - Clearly explains design choices and process.
Additional Notes
Dataset: The same dataset from Part A must be used. We strongly recommend completing data cleaning in Python (Part A) and exporting a clean CSV for Power BI import.
Focus on Simplicity: Prioritize clarity and usability over complexity.
Submission Deadline
Submission Date: 10:00 AM, 31st March 2026
Submission Method (must be followed strictly): Upload the
1.Power BI file (.pbix)
2.Written Design Rational (doc, txt, markdown etc.) with Power BI link share.
via Turnitin on the Moodle Page in the zip format
The naming convention must be Group X - Part B
Last modified: Monday, 26 January 2026, 6:32 PM