Announcements
- Guest lecture next Thursday April 16
- Starting April 23, Student Lead Discussions will be on Thursday, to break up the day. I’ve had to change the order again as I still haven’t assigned readings for the last four students.
Lecture
Data Visualization
- Ben Fry
- Aaron Koblin
- Jer Thorp
- just landed
- just landed location
- plus twitter home location
- http://nytlabs.com/projects/cascade.html
- Nytimes top coverage and connections
- just landed
- nicholas feltron
Where to find data
- Sources
- https://www.springboard.com/blog/free-public-data-sets-data-science-project/
- https://www.ndbc.noaa.gov/rt_data_access.shtml
- Source of datasets from Alia
- Format
- CSV
- Can use a spreadsheet program to open data from many formats and then save as CSV
How to process CSV files
Examples from Aaron Sherwood’s Introduction to Interactive Media Github repository
- load/split strings: splitCommas.pde
- load save table: tableSaveLoad.pde
- forces: lettersGravityWind.pde
Intermission: Instructor lead discussion
Artificial Intelligence, consciousness, artificial people, humanity, slavery, rights
As devices get more intelligent, at some point we will have to face the question of whether artificial people deserve the same rights and obligations as what we currently think of as humans.
- Will artificial people be self-aware or are they just programmed to think they are?
- What separates artificial people from what we now consider humans?
- Do artificial people have rights? If we build them in order to work for us, does that make them slaves? What if they want freedom?
- Can artificial people fall in love? Marry? Each other? With a human?
- Perhaps technology will develop to the point that artificial people will be able to have children. Do we treat them differently?
JSON: Another data format
JSON is another format for organizing data in a file. It is more complex than CSV, and again Processing provides functions for parsing JSON
https://processing.org/examples/loadsavejson.html
Generative Text
Pull words from a file (CSV or JSON), and using random() write poems or slogans or whatever
Review last week’s assignments
Look at a couple of simpler assignments that were due on Tuesday
Homework due Tuesday April 14
If you want to learn more about JSON and XML (which we didn’t talk about), here is a good introductory video tutorial.
Create either a data visualization or a generative text. Pay attention to the structure, clarity, and organization of your program. As always, document your project:
- Create a new folder (April14) on your Github repository
- Your code should be excellent!
- At the beginning of your program explain the overall concept
- Your name, date, assignment, etc.
- Instructions for usage if it’s interactive
- Credits for anything you’ve copied from elsewhere, and how you modified it for your use. Can be either at the beginning of your program, or when the code is actually used
- Excellent names for variables and functions
- Functions to group things together
- Comments to explain what’s going on
- Classes where appropriate
- Upload code and image
- Create a README.md
- Overall concept of your game or artwork
- Image or link to video
- Any confusing or tricky parts of your code
- Any problems you ran into