Choose Your Own Adventure
Leading up to the final project, we will be exploring various techniques and tools for p5.js.
For this exercise, you are asked to explore at least two of the techniques below in-depth.
In addition to the criteria below, each sketch (part one and part two) should include the following:
An interactive component that changes a visible and/or audible change. Incorporate your new 'technique' or 'library' in this step.
Functions for setting the visual environment like fill(), stroke(), background(), and/or more
Part One: Machine Learning
Everyone will be required to explore machine learning in some capacity.
Option 1: ml5.js
Incorporate one (or more) of the ml5.models (ex. BodyPose, HandPose, FaceMesh, etc.)
Access at least 5 data points and represent them visually and or sonically
Base your main interaction(s) off of these data sets (ex. if hand position is greater than X, do Y…etc.)
Option 2: Teachable Machine
Train data using Teachable Machine. Create at least 4 data sets for Teachable Machine to analyze (four poses, four sounds, four images, etc.)
After training your data set in the interface, make sure to download the template/example project, so you can continue working on your project.
Base your main interactions off of these data sets (when sketch hears sound 1, draw X, when sketch hears sound 2, draw Y….add text, displaying the current label…etc.)
Note: You are welcome to combine the prompts from ml5.js and Teachable Machine together. Talk to Melody/the professor to clarify expectations or if you have questions.
Part Two: Your Pick
Pick another prompt/technique to explore. This section will be updated with more options as we continue through our lessons.
Option 1: Data Visualization with a CSV
Correctly visualize data from a CSV. Pick a different data set than the one used in our demo.
At a minimum, you should display at least 10 data points - but you should choose a range/series of values that 'makes sense' for your project.
This data should be scaled appropriately.
Hint: use map()
Incorporate styles / colors / labels/ text / etc. so that the results are 'clear.' (A viewer should be able to look at the visualization and understand what they are looking at.)
Option 2: Working with an API
Choose an API to explore and incorporate in a sketch (ex. OpenWeatherAPI)
Incorporate at least four points of "data" from your API.
For full points, these functions should modify something significant/meaningful to the output. (ex. OpenWeatherAPI - display the current weather in LA, use conditionals to change visual properties of the sketch, etc.)
Option 3: An external library of your choice
Choose an external library from our class notes or this list to explore.
If you want to explore something else, contact Melody ASAP.
Note: If you want to explore p5.Riso, you have to print your work using the risograph machine and document your prints. Using this printer requires training.
Incorporate at least four functions from this library into your sketch.
Option 4: Combine multiple libraries and/or techniques
You can combine multiple libraries and/or techniques together for 'Your Pick.'
One idea: ml5.js and an API
Get pictures from an API. Have them classified by ml5.js
Get pictures of people an API. Add face filters using ml5.js.
If you have questions/concerns about the prompts above, contact Melody ASAP.
Part 3: Written Portion
For each exercise, include a short reflection (5-7 sentences), describing your work and process (moments of problem solving/troubleshooting, things you discovered, etc.)
Include citations/references as necessary. Use direct hyperlinks. Organize this list in a bibliography.
In addition to the above, annotate your code as necessary. Use comments to label your work and highlight inspired/referenced code within your sketch.
Deadline: (T) 11/18
To submit your work: Share your sketches, descriptions, and citations on OpenProcessing
Part one is 50% of total grade and part two is 50% of total grade
Demerits if you do not complete written portion, citations, and other required criteria
Research/Discussion: Exploring AI
Part One: Image Analysis and Face Recognition
Read/watch the following:
Kyle McDonald, Appropriating New Technologies: Face as Interface (3300 words, ~15 minutes)
Last Week Tonight with John Oliver: Facial Recognition (20 minutes)
Joy Buolamwini: How I’m fighting bias in algorithms (9 minutes)
Then, respond: After reviewing the above, jot down two ideas, facts, claims, or images that you came across in the above media that struck you. Briefly write a sentence about why you found each of them interesting.
Part Two: AI and Machine Learning
Choose a project from one of the artists listed on AI Artists and analyze it. https://aiartists.org/
Then, respond:
Why did you choose this project?
What questions does it explore?
If the project involved them building their own AI system, where did their training data come from? Who did the tagging and labelling? Does the project disclose this information or discuss this part of making the work?
How does the work help us to reflect on issues of AI in society or our lives?
Deadline: (T) 11/25
Submit your work at the corresponding discussion: Exploring AI
Put both responses (part one and part two) in a single post.
Use complete sentences.
Graded on attempt, quality of writing, and overall completion of the prompt.
Counts towards ‘Reading and Discussion #2’ See the syllabus for more details/context.