Skip to content

Homework Dan ‐ Thursday

shuang0906 edited this page Dec 22, 2023 · 112 revisions
Shiffman Section Info  
Meeting Time Thurs 12:10pm - 2:40pm EST
Location 409
Contact [email protected]
Office Hours (check email for calendar link)
Additional Help Resident office hours (schedule)
The Coding Lab (schedule or drop-in help)
How to ask code-related questions: examples

Week 7: Sharing Sketches!

Final Project presentations can be demonstrations and do not require a slide deck, however, you might find slides useful to help you plan and structure your demo and discussion. Plan for ~5 minutes! Here is a randomized order, please add your documentation link next to your name!

Week 6: Beyond p5.js

Assignment

  • Complete your end of semester sketch and prepare to present in class next week! See Week 5 below for guidelines.
  • Prepare (which means rehearse!) a 5 minute presentation to demonstrate what your project does that emphasizes its computational aspects. Some ideas that might help: How to create a first-person perspective demo of your project.
  • Post documentation in the form of a blog post. It's up to you to figure out how to best document your project, here are some loose guidelines if you aren't sure what to include.
    • Title
    • Sketch link
    • One sentence description
    • Project summary (250-500 words)
    • Inspiration: How did you become interested in this idea?
    • Audience/Context: Who is this for? How will people experience it?
    • Code references: What examples, tutorials, references did you use to create the project?
    • Next steps: If you had more time to work on this, what would you do next?

Week 5: Text Data (Visualizing and Analyzing)

Word Counting

Creative Inspiration

Assignment

Your "end of semester sketch" is a two week assignment to be completed in two stages (planning and presenting). Your work should build off or be inspired by any of the concepts we've covered this semester. You should feel free to think non-traditionally, projects do not need to be screen-based and there is no requirement to use a particular aspect of JavaScript or programming.

Final projects can be collaborations with anyone in any class. Final projects can be a part of a larger project from one of your other classes (like PCOMP or Hypercinema).

You may also expand on a previous assignment (from any week this semester) or create something new, for example, a "word counting" visualization inspired by the material from this week.

For next class, please write a short post proposing a sketch you'd like to present in the final class. You can document your idea any way you like, but here are some prompts to help you get started.

  • In one sentence, what is it you hope to create?
  • What topics, assignments, or other material from this semester are you drawing from? What other inspirations, resources, references do you hope to draw from?
  • What challenges do you expect to face? What are you unsure of (technically or conceptually)?
  • Who is this for? (What is your audience?)

Proposal Links

Week 4: Data and APIs

Additional Reading and Resources

Reading

Tutorials

Assignment

Load "external" data in a p5.js sketch. You may use data of any format, loading a file uploaded to the web editor, or data from an API. Use loadJSON() or loadTable() depending on the format. Some possibilities:

Write a "data biography" (Thank you to Ellen Nickles for this term) for your data. Have the maintainers of this dataset or API made this information easily available? Here is a selection of questions to consider inspired by the readings.

  1. What is the purpose of this dataset and who created it?**
  2. What type of data is in the dataset and how many items does it contain?
  3. How was the data collected and what method was used to select the data?
  4. What are the known limitations, biases, or potential uses of this dataset? What is missing?
  5. In what types of projects or studies could this dataset be appropriately used?

Homework Links

Week 3: Sound and Body

Oscillation

Sound in p5.js

Sound Beyond p5.js

Project Inspiration

Code Examples

Assignment

A theremin is an electronic musical instrument controlled without physical contact. It is a quintessential example of how gesture and movement can create sound. Think about how this idea can be extended into the realm of digital interactivity and sound synthesis.

For this assignment, how might you create your own version of a theremin or a similar gesture-controlled sound synthesizer using p5.sound for sound generation and manipulation and ml5.js for gesture or pose recognition.

Experiment with different types of oscillators (sine, square, triangle, sawtooth) and their effects on the sound. How does changing the frequency or amplitude with your gestures alter the sound? What interactions can you create?

Document your process and the challenges you faced in a blog post. Include visual and auditory documentation such as screen recordings, videos, or sound clips.

🚨 Remember, this is just one path for your assignment! Feel free to diverge from the idea of a traditional theremin and explore other possibilities around visualizing waves, generating sound, and/or interaction through gesture. 🚨

Homework Links

Week 2: Introduction to Machine Learning (w/ Pixels!)

Reading and Background Material

ml5.js

Additional Reading and Resources

Code Examples

Assignment

  1. Read Excavating AI: The Politics of Images in Machine Learning Training Sets by Kate Crawford and Trevor Paglen. Consider the following excerpt from the conclusion:

Ceci n’est pas une pipe.

The artist René Magritte completed a painting of a pipe and coupled it with the words “Ceci n’est pas une pipe.” Magritte called the painting La trahison des images, “The Treachery of Images.”

Magritte’s assumption was almost diametrically opposed: that images in and of themselves have, at best, a very unstable relationship to the things seem to represent, one that can be sculpted by whoever has the power to say what a particular image means. For Magritte, the meaning of images is relational, open to contestation. At first blush, Magritte’s painting might seem like a simple semiotic stunt, but the underlying dynamic Magritte underlines in the painting points to a much broader politics of representation and self-representation.

  1. Train your own image classifer with Teachable Machine. What works well? What fails? Experiment with different outputs and modes of interaction using the predicted labels.

  2. Document your work in a blog post: include visual documentation such as a recorded screen capture / video / GIFs of training the model and working in p5.

🚨 The above is just one option for your assignment! You may also take inspiration from anything related to images, pixels, or machine learning in the above materials or discussion from class! You are not required to use Teachable Machine! For example, you may prefer to explore the "pose" models in the new ml5.js. You are also welcome to continue to explore image processing and creative visualization of pixel data from last week. 🚨

Homework Links

Week 1: Pixels

Resources from class

Thank you Shawn Van Every!

Assignment

Create and/or manipulate an image (or images or video) to create an alternative reality than depicted in the source image(s). Describe how the result feels different from the source image(s). Write a blog post documenting your process and result. Work with any kind of imagery you want. Whatever you choose, you might consider these elements of a photograph in your computational approach. Here are a few ideas:

Reading and Videos

To help with assignment

A preview of next week's material

This is much too much to go through, pick and choose what interests you! I'll give an overview of everything in class.

Questions

  • Add questions here!

Homework Links