Meeting 18: Week 9, Long day (Thursday April 9 2:40 – 5:20)

Announcements

  1. Guest lecture next Thursday April 16
  2. 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

What is data visualization? Here are some examples
 

Where to find data

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