B-DC 221
Computation in Design
Information Design Project
2020
Week 1
B-DC 221
Computation in Design
Information Design Project
2020
The Project
When we look at data, we see numbers and complexity that are often inaccessible to the layman. The challenge for a designer is to propose ideas and solutions to how data can be transformed from its raw format into a simple, elegant form in order to synthesise and reveal insights conveyed through meaningful narrative and experience.
In a series of exercises and followed by an individual project, students learn, analyse, visualise and interpret data using a number visualisation techniques and existing or self-generated datasets.
B-DC 221
Computation in Design
Information Design Project
2020
The Project
(De)coding Data is a self-directed project in which students start from a selected or generated data set to develop visual representations that provide access to and insights into the hidden patterns, details, information and structures of meaning that the dataset can reveal.
Week 8 – 13
B-DC 221
Computation in Design
Information Design Project
2020
Week 1
The Project
Mix of media
Modular
Static/dynamic
(De)coding Data
Project
(De)coding Data
Project
(De)coding Data
Project
B-DC 221
Computation in Design
Information Design Project
2020
Project Briefing
In class work and development.
Students to share their project progress
(De)coding Data
Project
In class work and development.
Feedback and consultation.
In class work and development.
Feedback and consultation.
Data and Code 3
Data and Code 4
Data and Code 5
Mouse and keyboard Interactions, in class workshop and activity
To engage with running code interactively
Exercise from week 6 continues.
B-DC 221
Computation in Design
Information Design Project
2020
Reading and displaying Data, in class workshop and activity
To apply simple and elegant aesthetics to a data set
Students to share their progress
Data and Code 6
Review
Data and Code 1
Data and Code 1
Data and Code 2
Code Basics, in class workshop and activity
To develop an understanding of code principles
Review session 1 & 2
B-DC 221
Computation in Design
Information Design Project
2020
Data Processing, in class workshop and activity
To practice formatting, processing and displaying data with code
Data and Code 3
Data and Code 4
Data and Code 5
Mouse and keyboard Interactions, in class workshop and activity
To engage with running code interactively
Data in Motion, in class workshop and activity
To apply movement to data over time
Students to share their progress
B-DC 221
Computation in Design
Information Design Project
2020
Data and Code 6
Review
Data Aesthetics, in class workshop and activity
To apply simple and elegant aesthetics to a data set
B-DC 121
2020
Make use of resources shared in class
Learn from resources online and the library
Study, learn, practice with classmates
Experiment and practice continuously
Getting stuck
Computation in Design
Information Design Project
B-DC 221
2020
Computation in Design
Information Design Project
B-DC 221
2020
Computation in Design
Information Design Project
B-DC 221
2020
Break down a skill into its components
Learn enough to know when you are making a mistake
Remove any and all barriers to practice
Practice at least for 20 hours
Computation in Design
Information Design Project
B-DC 221
2020
Computation in Design
Information Design Project
B-DC 221
2020
Week 1
Computation in Design
Information Design Project
B-DC 221
2020
Computation in Design
Information Design Project
#creativecodeart
#generativedesign
B-DC 221
2020
Computation in Design
Information Design Project
References for Week 3
Moritz Stefaner
Moritz Stefaner lives and breathes data visualization as an independent designer, consultant and researcher.
He helps organizations, researchers and businesses to find truth and beauty in relevant and meaningful data.
Senseable City Lab
The Senseable City Laboratory, a research initiative at the Massachusetts Institute of Technology, looks at the transformation of cities through design, science and data.
Giorgia Lupi
Giorgia Lupi is an information deisgner and a partner at Pentagram advocating for Data Humanism.
She is the co-author of Dear Data, a year-long analog data drawing project.
B-DC 221
2020
Computation in Design
Information Design Project
Visualizing Data
Dataviz Project
The Dataviz Project is a website trying to present all relevant data visualizations, so you can find the right visualization and get inspired how to make them.
By ferdio, an infographic and data visualization agency in Copenhagen.
Information is Beautiful
B-DC 221
2020
Week 1
Computation in Design
Information Design Project
B-DC 221
2020
Computation in Design
Information Design Project
– The objective of the Data and Code exercises is to introduce basic coding concepts and to then translate numeric data into a series of coded data visualisations.
week 2 – 6
B-DC 221
2020
Computation in Design
Information Design Project
Overview
B-DC 221
2020
Computation in Design
Information Design Project
Overview
B-DC 221
2020
Week 1
Computation in Design
Information Design Project
Week 1
B-DC 221
2020
Week 1
Computation in Design
Information Design Project
Width
Height
Origin
0 / 0
B-DC 221
2020
Week 1
Computation in Design
Information Design Project
B-DC 221
2020
Week 1
Computation in Design
Information Design Project
Hand out briefing document
B-DC 221
2020
Week 1
Computation in Design
Information Design Project
beginShape
endShape
fill
vertex
fill
rect
1
2
B-DC 221
2020
Week 1
Computation in Design
Information Design Project
ellipse
for-loop
random
stroke
strokeWeight
fill
for-loop
if else
pop
push
random
translate
triangle
3
4
B-DC 221
2020
Week 1
Computation in Design
Information Design Project
beginShape
endShape
stroke
vertex
beginShape
bezierVertex or curveVertex
endShape
stroke
5
6
B-DC 221
2020
Week 1
Computation in Design
Information Design Project
beginShape
endShape
fill
vertex
1
A solution for 1
B-DC 221
2020
Week 1
Computation in Design
Information Design Project
beginShape
endShape
stroke
text
vertex
5
A solution for 5
B-DC 221
2020
Week 1
Computation in Design
Information Design Project
ellipse
for-loop
random
stroke
strokeWeight
A solution for 3
3
B-DC 221
2020
Week 1
Computation in Design
Information Design Project
fill
for-loop
if else
pop
push
random
translate
triangle
4
A solution for 4
B-DC 221
2020
Week 2
Computation in Design
Information Design Project
Week 2
Did you create an account?
When logged in with your account you are able to
– save
– duplicate
– load
sketches.
Sketch URL
Sketch name
Open, save, duplicate
Canvas
B-DC 221
2020
Week 2
Computation in Design
Information Design Project
Transformations
Variables
Arrays
Loops
Week 2
B-DC 221
2020
Week 2
Computation in Design
Information Design Project
Week 2
B-DC 221
2020
Week 2
Computation in Design
Information Design Project
Data and Code 1
Your p5js canvas works like a piece of graph paper. When you want to draw something, you specify its coordinates on the graph. Here is a simple rectangle drawn with the code rect(20, 20, 40, 40)
If you want to move the rectangle 60 units right and 80 units down, you can just change the coordinates by adding to the x and y starting point: rect(40 + 60, 40 + 80, 40, 40) and the rectangle will appear in a different place.
But there is a more interesting way to do it: move the graph paper (the coordinate-system) instead. If you move the graph paper 60 units right and 80 units down, you will get exactly the same visual result. Moving the coordinate system is called translation.
push();
translate(60,80);
rect(20,20,40,40);
pop();
rect(20,20,40,40);
Transformations let you group visual elements enclosed within push() and pop(). All elements inside this group can be moved translate(), rotated rotate() and scaled scale() at once and together.
B-DC 221
2020
Week 2
Computation in Design
Information Design Project
Data and Code 1
function setup() {
createCanvas(400,400);
}
function draw() {
// draw a rectangle by translating
// the origin to location 80,100
push();
translate(80,100);
rect(0,0,40,40);
pop();
}
Benefits
Lets you group visual elements enclosed within push() and pop(). All elements inside this group can be moved translate(), rotated rotate() and scaled scale() at once and together.
B-DC 221
2020
Week 2
Computation in Design
Information Design Project
Data and Code 1
// declare a variable
let val;
// assign value 0 to variable val
val = 0;
// make changes to val
val = val + 1; // increases val by 1
// (val was 0 then we add 1 so val is now 1)
Variables are containers that store values. You start by declaring a variable with the let keyword, followed by the name you give to the variable. (sometimes you might see the keyword var which is similar to let but let is preferred)
B-DC 221
2020
Week 2
Computation in Design
Information Design Project
Data and Code 1
Commands
// declare a global variable with name val
// a global variable can be accessed
// from anywhere here
let val;
function setup() {
// assign value 0 to variable val
val = 0
}
function draw(){
// increase the value of val
// by 1 for each frame and assign
// this new value to variable val
val = val + 1;
}
Benefits
Lets you store a value (number, string, letter, boolean, etc.) in memory, assigned to a name, which you can then query and change while the program is running.
B-DC 221
2020
Computation in Design
Information Design Project
Data and Code 1
// declare a variable
let arr;
// assign array to variable arr
arr = [];
// assign an array with predefined values
arr = [10,20,30,40];
// read a value from arr at index 0
// program will replace arr[0] with 10
// (arrays start counting from 0)
rect(arr[0], 10, 50, 50);
An Array is a storage containers for a list of values. Each element of data in an array is identified by an index number representing its position in the array. Arrays are zero based, which means that the first element in the array is [0], the second element is [1], and so on.
B-DC 221
2020
Computation in Design
Information Design Project
Data and Code 1
Benefits
Compared to a variable with a single value, Arrays are special variables that can store multiple values as a list. When working with data this is very useful.
// declare an array with name arr
let arr;
function setup() {
// assign an array and initialise
// with 3 numbers
arr = [20,40,60];
// console.log prints the array and the number
// of elements contained into the console
console.log(arr, arr.length);
}
function draw(){
rect(20, arr[0], 50, 10);// read at index 0
rect(20, arr[1], 50, 10);// read at index 1
rect(20, arr[2], 50, 10);// read at index 2
}
B-DC 221
2020
Computation in Design
Information Design Project
Data and Code 1
// declare an array with name arr
let arr;
function setup() {
// assign an empty array to arr
arr = [];
arr.push(20); // add 1st value
arr.push(40); // add 2nd value
arr.push(60); // add 3rd value
// print the array and the number of
// elements contained into the console
console.log(arr, arr.length);
}
function draw(){
rect(20, arr[0], 50, 10);// query value at 0
rect(20, arr[1], 50, 10);// query value at 1
rect(20, arr[2], 50, 10);// query value at 2
}
Benefits
Compared to a variable with a single value, Arrays are special variables that can store multiple values as a list. When working with data this is very useful.
B-DC 221
2020
Computation in Design
Information Design Project
Data and Code 1
for(let i=0; i<10; i++) {
rect(20, i*10, 60, 5);
}
The basic functionality of a for loop:
A for loop allows us to execute code multiple times in a row by incrementing (or decrementing) a variable – often called i – until an expression is no longer true and the loop stops.
In the above example, we initialise a variable with the number 0, iterate as long as our variable is lower than 10, and increment our variable by one between each iteration. The result is a loop that iterates ten times with our variable incrementing from zero to nine, drawing ten rectangles on the screen.
B-DC 221
2020
Computation in Design
Information Design Project
Data and Code 1
for(let i=0; i<10; i++) {
rect(20, i*10, 60, 5);
}
rect(20, 0, 60, 5);
rect(20, 10, 60, 5);
rect(20, 20, 60, 5);
rect(20, 30, 60, 5);
rect(20, 40, 60, 5);
rect(20, 50, 60, 5);
rect(20, 60, 60, 5);
rect(20, 70, 60, 5);
rect(20, 80, 60, 5);
rect(20, 90, 60, 5);
B-DC 221
2020
Computation in Design
Information Design Project
Data and Code 1
Commands
// declare an array with name arr
let arr;
function setup() {
createCanvas(400,400);
// assign an empty array to arr
arr = [];
// use a loop to populate array once
for(let i=0; i<10; i++) {
arr.push(random(100)); // add ith value
}
// print the array into the console
console.log(arr, arr.length);
}
function draw(){
for(let i=0; i<arr.length; i++) {
// use i*20 to stack rects vertically
rect(20, i*20, arr[i], 10);
}
}
B-DC 221
2020
Computation in Design
Information Design Project
Data and Code 1
function setup() {
createCanvas(400,400);
}
function draw(){
// draw a grid of 10x10 rectangles
for(let i=0; i<10; i++) {
for(let j=0; j<10; j++) {
// use translate transformation
// to position rectangles
push();
translate(i*20, j*20);
rect(0, 0, 10, 10);
pop();
}
}
}
Commands
B-DC 221
2020
Computation in Design
Information Design Project
Data and Code 1
1 Shape, Repetition, Transformation
2 Array, Loop, Graph
B-DC 221
2020
Computation in Design
Information Design Project
Data and Code 1
1 Shape, Repetition, Transformation
The reference image to the right is taken from Ellen Lupton and Jennifer Cole Phillips book Graphic Design: the New Basics page 186-187 and looks at the repetition of simple visual elements/shapes.
Within your group, discuss which of the visual patterns in the reference image can be re-created using a for-loop and which requires a nested for-loop.
Re-create one of the patterns using a for-loop and one using a nested for-loop.
The coding concepts to use are addressed and outlined in the previous slides:
→ Shapes
→ Transformation
→ (nested) Loop
for-loop
shapes
transformations
variables
Each group member to keep a copy of the two sketches they created together and save them to their p5js sketch folder.
B-DC 221
2020
Computation in Design
Information Design Project
Data and Code 1
2 Loop and Arrays
The website Dataviz Project provides a comprehensive overview of data visualisation types, some more complex than the other, but each with its own specific characteristics and purpose. To the right you see two charts taken from the website.
For this exercise we will focus on the bar chart and the line chart.
Within your group discuss and create a bar chart and a line chart in code for a dataset of 20 random numbers using the following concepts:
→ Shapes
→ Transformation
→ Array
→ Loop
for-loop
random
Array
beginShape
endShape
vertex
rect
Each group member to keep a copy of the two sketches they created together and save them to their p5js sketch folder.
B-DC 221
2020
Week 3
Computation in Design
Information Design Project
Shapes
Transformations
Variables
Arrays
Loops
Week 3
B-DC 221
2020
Week 3
Computation in Design
Information Design Project
Week 3
Shapes
Transformations
Variables
Arrays
Loops
B-DC 221
2020
Week 3
Computation in Design
Information Design Project
2 Array, Loop, Graph
Week 3
B-DC 221
2020
Computation in Design
Information Design Project
Week 3
Moritz Stefaner
Moritz Stefaner lives and breathes data visualization as an independent designer, consultant and researcher.
He helps organizations, researchers and businesses to find truth and beauty in relevant and meaningful data.
Senseable City Lab
The Senseable City Laboratory, a research initiative at the Massachusetts Institute of Technology, looks at the transformation of cities through design, science and data.
Giorgia Lupi
Giorgia Lupi is an information deisgner and a partner at Pentagram advocating for Data Humanism.
She is the co-author of Dear Data, a year-long analog data drawing project.
B-DC 221
2020
Week 4
Computation in Design
Information Design Project
Week 4
Data
Arrays
Functions
In this session we will look at drawing graphs from data we read from a .csv file. We will use Google Spreadsheets to organise our data and export it to .csv format, Comma Separated Values, which we will load into p5js using loadTable.
We will then use p5js to read and visually display data using line, bar or donut graphs.
B-DC 221
2020
Week 4
Computation in Design
Information Design Project
Week 4
Shapes
Transformations
Variables
Arrays
Loops
B-DC 221
2020
Week 4
Computation in Design
Information Design Project
Week 4
Store and format data with Spreadsheets
Load data from file with p5js
Display data when loaded from file
Use functions to display data and better organise code
B-DC 221
2020
Week 4
Computation in Design
Information Design Project
Week 4
Store and format data with Spreadsheets
1. Google Spreadsheets walkthrough
2. What is csv
3. how to export to csv
A dataset is simply a collection of data. A simple and common format for datasets is a spreadsheet or a .csv formatted file. csv stands for Comma Separated Values and is very useful when reading datasets programmatically in code.
A .csv file has a simple structure, it is a list of data separated by commas. The simplicity of .csv files makes it fairly easy to parse the contained data into other code readable formats like arrays.
Why use Spreadsheets to edit or convert data?
Often data is provided as spreadsheets, it is the tool most are familiar with. See for example this rather detailed Covid-19 spreadsheet which contains many data sets addressing many different data points and formats, have a look (navigate to sheet The Fatality Rate Varies By Country for a daily breakdown of cases).
B-DC 221
2020
Week 4
Computation in Design
Information Design Project
Data and Code 2
Header
Rows
Columns
A Spreadsheet
B-DC 221
2020
Week 4
Computation in Design
Information Design Project
Data and Code 2
1. create a Google Spreadsheet
2. populate spreadsheet with data
3. export to csv
4. rename downloaded .csv file to data.csv
5. upload data.csv file to p5js sketch
6. run sketch
B-DC 221
2020
Week 4
Computation in Design
Information Design Project
Data and Code 2
Spreadsheet
Comma Separated Values
.csv
B-DC 221
2020
Week 4
Computation in Design
Information Design Project
Data and Code 2
Spreadsheet
Comma Separated Values
.csv
Code
p5js code and data printed into the console with
B-DC 221
2020
Week 4
Computation in Design
Information Design Project
Data and Code 2
1 open dropdown menu
2 upload file
B-DC 221
2020
Week 4
Computation in Design
Information Design Project
Data and Code 2
B-DC 221
2020
Week 4
Computation in Design
Information Design Project
Data and Code 2
Commands
function setup() {
createCanvas(400,400);
}
function draw() {
background(40);
drawRect();
}
function drawRect() {
fill(200,200,250);
push();
translate(100,100);
rect(0,0,50,100);
pop();
}
Benefits
Functions can be used to split code and organise it better. Instead of a long linear sequence of commands, functions can be associated with a mind map or network, with function calls making the connections between functions.
B-DC 221
2020
Week 4
Computation in Design
Information Design Project
Data and Code 2
Commands
This example demonstrates how to use a function to encapsulate drawing procedures from function draw() by transferring them to function drawLineGraph(). This is to help us organise and modularise our code for better readability and coding.
B-DC 221
2020
Week 4
Computation in Design
Information Design Project
Data and Code 2
B-DC 221
2020
Computation in Design
Information Design Project
Data and Code 2
Based on your current experience with data and code, select one of the above graph types, use a data set of at least 20 data points (single or multiple columns data)and design a graph with code, making your own visual decisions (eg. color changes, shape properties, text, labels) in code.
Take inspiration from the links below
B-DC 221
2020
Week 5
Computation in Design
Information Design Project
Week 5
Data
Colors
In this session we will continue to work with data and .csv files. We will use graph types including line, bar and donut graphs to visually display data and we will look at how to use and apply colors and color palettes.
B-DC 221
2020
Computation in Design
Information Design Project
Data and Code 3
B-DC 221
2020
Computation in Design
Information Design Project
Data and Code 3
Continuing from last weeks .csv exercises, we will look at real-world data today.
The data-resource we will use is based on a spreadsheet with data collected from different Covid-19 sources.
When working with real-world data-sets we often face value-ranges that will not translate to pixels at a 1-to-1 scale. For example a number that represents population will most definitely be larger than the number of pixels we have available to render for example a bar graph. Therefore we must scale these numbers in code so we can display within the space we have available.
When dealing with very high-value numbers, we need to scale them to size and we can do so by using the map() function to translate a set of numbers from one range to another.
Here is a link to a sketch that illustrates this in code.
map()
use the map function to change a value from one range of numbers to another.
what is a range? A range is a number space with a minimum limit and a maximum limit, all numbers of that space exist within that range.
to determine the minimum limit and the maximum limit of numbers inside an array, use min(array) and max(array). How to use map(), min(), max() is demonstrated in code if you follow the link below.
B-DC 221
2020
Computation in Design
Information Design Project
Data and Code 3
Week 5
This video shows how to transfer and format data from one spreadsheet to another.
In this example the resulting .csv fill contains 2 columns, the first contains labels (country), the second the actual data (value).
After the transfer is completed, the newly generated spreadsheet can be downloaded as .csv file.
The .csv file can then be uploaded to your p5js sketch and loaded as previously demonstrated and practiced.
Source
B-DC 221
2020
Computation in Design
Information Design Project
Data and Code 3
Week 5
This video shows how to transfer and format data from one spreadsheet to another.
In this example the resulting .csv fill contains 4 columns, the first contains labels (country), the following 3 columns contain actual data for 3 different days.
After the transfer is completed, the newly generated spreadsheet can be downloaded as .csv file.
The .csv file can then be uploaded to your p5js sketch and loaded as previously demonstrated and practiced.
Source
B-DC 221
2020
Computation in Design
Information Design Project
Data and Code 3
B-DC 221
2020
Computation in Design
Information Design Project
Data and Code 3
Week 5
B-DC 221
2020
Computation in Design
Information Design Project
Data and Code 3
Week 5
B-DC 221
2020
Computation in Design
Information Design Project
Data and Code 3
Pay good attention to contrast so that data is well readable.
Learn more about handling colors in code in this code tutorial.
Pay good attention to contrast between foreground, background and graph colors so that data is well readable. Avoid color conflicts that might for example have an effect on color blindness.
Learn more about handling colors in code in this code tutorial.
Handling gradients in code is more challenging than single colors or color palettes but can be useful to add additional visual information to distinguish between high and low values in a bar graph for example.
Learn more about handling gradients (and palettes) in this code example.
B-DC 221
2020
Computation in Design
Information Design Project
Data and Code 3
Week 5
B-DC 221
2020
Computation in Design
Information Design Project
Data and Code 3
Week 5
B-DC 221
2020
Computation in Design
Information Design Project
Data and Code 3
B-DC 221
2020
Computation in Design
Information Design Project
Data and Code 3
Based on your current experience with data and code, select one of the above graph types, use a data set of at least 20 data points (single or multiple columns data)and design a graph with code, making your own visual decisions (eg. color changes, shape properties, text, labels) in code.
Take inspiration from the links below
B-DC 221
2020
Computation in Design
Information Design Project
Data and Code 3
At this point the code understanding, skill level and knowledge might be different for each of you.
Some take smaller steps and need to repeat the concepts and examples covered in class, for others the pace may be too slow and they want to progress faster.
I have included many links to example sketches with varying difficulty levels, sketches are marked with a little colored dot. Do challenge yourself as you see fit.
Take inspiration and motivation from the links provide to other designers, data and code projects.
B-DC 221
2020
Computation in Design
Information Design Project
Data and Code 3
B-DC 221
2020
Computation in Design
Information Design Project
Week 6
Interactive tutorials
B-DC 221
2020
Week 6
Computation in Design
Information Design Project
Week 6
Interactions
if-else Statements
In today's session we will look at two concepts that are often linked: Mouse-keyboard interactions and if-else statements. if-else statements (often referred to conditionals) are used in a program to make decisions. User interaction is often achieved by reading mouse and keyboard events.
Interactive inputs can be viewed as another form of data, namely real-time data. This is data that we need to access and respond to dynamically, compared to the previous data exercises that were static and read from a file.
B-DC 221
2020
Computation in Design
Information Design Project
Data and Code 4
B-DC 221
2020
Computation in Design
Information Design Project
Data and Code 4
B-DC 221
2020
Computation in Design
Information Design Project
Data and Code 4
B-DC 221
2020
Computation in Design
Information Design Project
Data and Code 4
==
<
>
<=
>=
!=
Conditional Operators
equals
lesser
greater
lesser or equal
greater or equal
not equal
a == b
a < b
a > b
a <= b
a >= b
a != b
function setup() {
createCanvas(400,400);
noStroke();
}
function draw() {
// Check the x-and-y-position of the
// mouse to determine the foreground
// and background colors.
if(mouseX < width * 0.5) {
background(40);
} else {
background(220);
}
if(mouseY < height * 0.25) {
fill(255,200,200);
} else if (mouseY < height * 0.5) {
fill(200,255,200);
} else {
fill(200,200,255);
}
rect(100,100,200,200);
}
B-DC 221
2020
Computation in Design
Information Design Project
Data and Code 4
B-DC 221
2020
Computation in Design
Information Design Project
Data and Code 4
B-DC 221
2020
Computation in Design
Information Design Project
Data and Code 4
2
Make use of one or more inputs for the user to interact with your sketch. Use other concepts we have covered so far.
1
In a group of 2-4, create a sketch that illustrates one of the topics to the right.
Climate Change
Happiness
Pollution
Weather
Virus
Topics
3
As a group document your thoughts and process in a short written reflection that addresses issues, achievements and outcome.
Requirements
p5js sketch in 16x9 format eg. 960x540 pixels.
B-DC 221
2020
Computation in Design
Information Design Project
Data and Code 4
B-DC 221
2020
Week 7
Computation in Design
Information Design Project
Week 7
In today's session we will continue to look at concepts introduced in previous sessions and apply them to an exercise you will continue working on in a small group.
This exercise not only looks at how well you can express an idea through code but emphasises on developing ideas in a team, sketching ideas on paper, planning and translating ideas in code, while paying good attention to aesthetics and user experience.
B-DC 221
2020
Computation in Design
Information Design Project
Data and Code 5
2
Make use of one or more inputs for the user to interact with your sketch. Use other concepts we have covered so far.
1
In a group of 2-4, create a sketch or more that illustrates one of the topics to the right.
Climate Change
Happiness
Pollution
Weather
Virus
Topics
3
As a group document your thoughts and process in a short written reflection that addresses issues, achievements and outcome.
Requirements
p5js sketch in 16x9 format eg. 960x540 pixels
B-DC 221
2020
Computation in Design
Information Design Project
Data and Code 5
4
Do a second round with the same topic, but this time plan your sketch on paper and in your team. Make an informed choice of shapes, colours, aesthetics, interactions and user experience.
Climate Change
Happiness
Pollution
Weather
Virus
Topics
Requirements
p5js sketch with adaptable canvas dimension using windowWidth and windowHeight.
createCanvas(windowWidth, windowHeight);
5
Get another team to test your sketch and gather feedback. Consider to have a couple of questions for your testing.
6
As a group document your thoughts, feedback and process in a short written reflection that addresses testing, issues, achievements and outcome.
B-DC 221
2020
Computation in Design
Information Design Project
Data and Code 5
B-DC 221
2020
Computation in Design
Information Design Project
Data and Code 5
B-DC 221
2020
Computation in Design
Information Design Project
Data and Code 5
B-DC 221
2020
Computation in Design
Information Design Project
Data and Code 5
B-DC 221
2020
Computation in Design
Information Design Project
Data and Code 5
B-DC 221
2020
Computation in Design
Information Design Project
Data and Code 5
Notice that the name of the sketch remains the same, but the ending changes to indicate the version.
B-DC 221
2020
Computation in Design
Information Design Project
Data and Code 5
B-DC 221
2020
Computation in Design
Information Design Project
Data and Code 5
1
Get another team to test your sketch and gather feedback.
Consider to have a couple of questions prepared for your testing.
3
Does the user understand what to do? Did you give enough hints?
Remember when your work goes online you are not able to assist the user in person.
4
How does the user respond to form, aesthetics, and user experience?
2
Allow the user to explore on their own first.
5
Try to find out from the user what works well and what needs improvement. Note done the feedback.
B-DC 221
2020
Computation in Design
Information Design Project
Data and Code 5
1
Code Sketches
2
Written Reflection
3
Sketches on Paper
B-DC 221
2020
Computation in Design
Information Design Project
Data and Code 5
B-DC 221
2020
Week 8
Computation in Design
Information Design Project
Week 8
Wrapping up Exercise 3
In today's class we will conclude Exercise 3 based on the brief given in week 7. After you have completed the tasks required, the last step is to add your final p5js sketch, written reflection and images to a single page website template.
Work as a team, assign tasks to each other.
This concludes Exercises 3.
B-DC 221
2020
Computation in Design
Information Design Project
Data and Code 6
1
Make sure your p5js sketch is finished and complete.
2
As a group document your thoughts, feedback and process in a short written reflection that addresses testing, issues, achievements and outcome.
3
Present your outcomes as a single page website from the website template provided.
B-DC 221
2020
Computation in Design
Information Design Project
Week 8
This video shows how to download the brackets.io app to open and edit html and css files. Changes can then be viewed in the browser using bracket's live preview option (top right corner flash-icon).
View the video in fullscreen mode for better readability.
B-DC 221
2020
Computation in Design
Information Design Project
Data and Code 6
1
Make sure your p5js sketch is finished and complete.
Minimum changes that need to be made to the website template
1 replace placeholder text with your project details and reflection.
2 replace placeholder p5js sketch with your final Exercise 3 sketch
3 replace placeholder images with your images
Requirements
2
As a group document your thoughts, feedback and process in a short written reflection that addresses testing, issues, achievements and outcome.
3
Present your outcomes as a single page website from the website template provided.
B-DC 221
2020
Computation in Design
Information Design Project
Data and Code 6
B-DC 221
2020
Computation in Design
Information Design Project
Data and Code 6
B-DC 221
2020
Computation in Design
Information Design Project
Data and Code 6
Live Preview Button
Make changes to index.html
B-DC 221
2020
Computation in Design
Information Design Project
Data and Code 6
This video demonstrates how to use Netlify to host your website.
After signing up for a free account you can upload your website folder to your account and host it publicly as a sub-domain on netlify.
Netlify
Website template on netlify
B-DC 221
2020
Computation in Design
Information Design Project
Week 9
In-class
Upload to shared folder
Upload Exercise 3
B-DC 221
2020
Computation in Design
Information Design Project
Week 9
(De)coding Data
Project Briefing
(De)coding Data is a self-directed project in which students start from a selected data set to develop visual representations that provide access to and insights into the hidden patterns, details, information and structures of meaning that the data set can reveal.
B-DC 221
2020
Computation in Design
Information Design Project
Week 9
For this project you will create a single page website that visualises, contextualises and illustrates a data set which you can choose from a list of provided data topics.
Data will be visualised using code and your first p5js sketch. In earlier sessions different data visualisation types have been introduced to you and which you should apply here.
In a second p5js sketch you will visually interpret the chosen data topic in code. This links back to exercise 3.
In a brief written reflection you then contextualise and share your thoughts addressing why you have chosen a particular topic and data set, what informed your design decisions, what the data tells you and what you intend to communicate to your viewer with your project.
B-DC 221
2020
Computation in Design
Information Design Project
Week 9
Sketch 2
Visualise Data
Sketch 1
Visually Interpret Data Topic
Written Reflection
Website
Single Page
B-DC 221
2020
Computation in Design
Information Design Project
Week 9
Project Brief
Pollution
Happiness
Virus
Climate Change
Select one data set from the above data resources that you want to work with for your project.
Waste
B-DC 221
2020
Computation in Design
Information Design Project
Week 9
Project Brief
First column: Label
consecutive columns: Data
B-DC 221
2020
Computation in Design
Information Design Project
Week 9
Project Brief
For this sketch p5js sketch you will visually interpret the chosen data topic in code. This links back to exercise 3.
B-DC 221
2020
Computation in Design
Information Design Project
Week 9
Project Brief
For this p5js sketch create a visualisation from the data set you have chosen to work with. Revisit session Data and Code 3.
B-DC 221
2020
Computation in Design
Information Design Project
Week 9
Project Brief
In a brief written reflection you contextualise and share your thoughts addressing why you have chosen a particular topic and data set, what informed your design decisions, what the data tells you and what you intend to communicate to the viewer with your project.
Design decisions can address for example aesthetics, colours, type of graph, typography and fonts used, animation or interactivity.
B-DC 221
2020
Computation in Design
Information Design Project
Week 9
Project Brief
Use the template shared with you. Changes to be made to the template's html and css files, e.g. changing colours, fonts, font sizes, etc. Replace the placeholder images and p5js sketches with your own. Extend the page as you see fit.
B-DC 221
2020
Computation in Design
Information Design Project
Week 9
Project Brief
B-DC 221
2020
Computation in Design
Information Design Project
Week 9
Project Brief
B-DC 221
2020
Computation in Design
Information Design Project
Week 9
Project Brief
Open Processing
A community of creative coders, educators, and designers that explore, experiment and play.
Studio Dumbar
Studio Dumbar creates meaningful brands at the intersection of creativity, technology and data.
B-DC 221
2020
Computation in Design
Information Design Project
Week 9
Project Brief
Sketch 2
Visualise Data
Sketch 1
Visually Interpret Data Topic
Written Reflection
Website
Single Page
B-DC 221
2020
Computation in Design
Information Design Project
Week 9
Project Brief
B-DC 221
2020
Week 1
Helps to document your process and outcomes weekly
Archives and organises materials for deliverables
Keep(s) your work organised
Computation in Design
Information Design Project
B-DC 221
2020
Week 1
Computation in Design
Information Design Project
Available for download as .zip from Google Drive, please follow the link attached to the screenshot on the right.
B-DC 221
2020
Week 4
Computation in Design
Information Design Project
Data and Code 2
https://editor.p5js.org/sojamo/sketches/K8rVc3VGS
Another more advanced sketch to load the spreadsheet from previous slide
B-DC 221
2020
Week 4
Computation in Design
Information Design Project
Week 4
Some notes
Quantitative Data ↗
- discrete data (countable, numbers, values with clear "space" between then like 1,2,3,4 = how many students are there in class?, number of .. )
- continuous data (measurable, numbers, decimal, continuous sequence 1.2, 1.201, 1.203 etc. includes any value within range; age, time, height, etc.)
Data visualisation Examples
Senesable City Lab
Moritz Stefaner
Giorgia Lupi
Dear Data
recap last week
How did the homework go?
Show solutions.
What did we cover so far and why?
Demo concepts that are not clear.
- Demo 1 Google Sheets > example sheet 1
Header, column, row, number vs string
- export to .csv
- import to p5js
- load data into an array (explain table commands)
- we can then loop through the array, read data points and then display them using a rect shape for example.
- Demo 2 Copy data from one data sheet to the other, clean and format data, then save and export as csv
Today we will look at drawing graphs from data that we read from a .csv file. We will use Google Spreadsheets to organize and export our data.
In p5js we will read and use that data so that we can display it as different graphs visually.
B-DC 221
2020
Computation in Design
Information Design Project
Data and Code 4
The project:
my proposal is for students to create a one-page website including at least 1 data visualisation sketch, text and images (optional: a second and more illustrative / creative / playful sketch).
In a short description they provide details about the data-set they have chosen, so that the viewer knows what they are looking at.
In a brief reflection they share their thoughts addressing why they have chosen a particular data-set and what informed their design decisions (colours, type of graph, etc).
Templates will be provided for:
Optionally students can add a second sketch to visually interpret the topic of the data-set through code in an illustrative/creative/playful way.
B-DC 221
2020
Review and Practice
Computation in Design
Information Design Project