├── .gitignore ├── sections.md ├── sections ├── 03_MimiY.md ├── 04_MimiY.md ├── 05_Dano.md ├── 01_Lisa.md ├── 02_Allison.md └── 06_Cassie.md ├── weeks ├── 04_sound.md ├── 03_sound.md ├── 02_pixels.md ├── 01_pixels.md ├── 05_text.md └── 06_data.md ├── CODE_OF_CONDUCT.md └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .vscode 3 | -------------------------------------------------------------------------------- /sections.md: -------------------------------------------------------------------------------- 1 | # Section Info 2 | * [Lisa](sections/01_Lisa.md) 3 | * [Allison](sections/02_Allison.md) 4 | * [Cassie](sections/03_Cassie.md) 5 | * [Dano](sections/04_Dano.md) 6 | * [Mimi Y.](sections/05_MimiY.md) 7 | * [Mimi Y.](sections/06_MimiY.md) 8 | -------------------------------------------------------------------------------- /sections/03_MimiY.md: -------------------------------------------------------------------------------- 1 | ## Information 2 | * Mimi Yin, mimi.yin@nyu.edu 3 | * Time 4 | * Room 5 | * [Homework Wiki](https://github.com/ITPNYU/ICM-2019-Media/wiki/Homework-MimiY-03) 6 | * [Office Hours Signup](https://itp.nyu.edu/inwiki/Signup/Mimi) 7 | 8 | ## Dates 9 | 10 | 1. Wednesday, October 23 11 | 2. Wednesday, October 30 12 | 3. Wednesday, November 6 13 | 4. Wednesday, November 13 14 | 5. Wednesday, November 20 15 | 6. Wednesday, December 4 16 | 7. Wednesday, December 11 17 | -------------------------------------------------------------------------------- /sections/04_MimiY.md: -------------------------------------------------------------------------------- 1 | ## Information 2 | * Mimi Yin, mimi.yin@nyu.edu 3 | * Time 4 | * Room 5 | * [Homework Wiki](https://github.com/ITPNYU/ICM-2019-Media/wiki/Homework-MimiY-04) 6 | * [Office Hours Signup](https://itp.nyu.edu/inwiki/Signup/Mimi) 7 | 8 | ## Dates 9 | 10 | 1. Wednesday, October 23 11 | 2. Wednesday, October 30 12 | 3. Wednesday, November 6 13 | 4. Wednesday, November 13 14 | 5. Wednesday, November 20 15 | 6. Wednesday, December 4 16 | 7. Wednesday, December 11 17 | -------------------------------------------------------------------------------- /sections/05_Dano.md: -------------------------------------------------------------------------------- 1 | ## Information 2 | 3 | * Dan O'Sullivan, dan.osullivan@nyu.edu 4 | * Time 5 | * Room 6 | * [Homework Wiki](https://github.com/ITPNYU/ICM-Code-2019/wiki/Homework-Dano) 7 | * [Office Hours](https://calendar.google.com/calendar/selfsched?sstoken=UVBlTFZhOVNCTmF0fGRlZmF1bHR8MmU2NTM4NjJmOTJiNTUwM2M0YTBmMzcyZDM4NjRkNmQ) 8 | 9 | ## Dates 10 | 11 | 1. Wednesday, October 23 12 | 2. Wednesday, October 30 13 | 3. Wednesday, November 6 14 | 4. Wednesday, November 13 15 | 5. Wednesday, November 20 16 | 6. Wednesday, December 4 17 | 7. Wednesday, December 11 18 | -------------------------------------------------------------------------------- /sections/01_Lisa.md: -------------------------------------------------------------------------------- 1 | ## Information 2 | 3 | * Lisa Jamhoury, lisa.jamhoury@nyu.edu 4 | * Wednesday, 9am - 11:30am 5 | * 370 Jay Street, Room 408 6 | * [Homework Wiki](https://github.com/ITPNYU/ICM-2019-Media/wiki/Homework-Lisa) 7 | * [Office Hours](https://calendar.google.com/calendar/selfsched?sstoken=UUlFdHBUdGtNZlpEfGRlZmF1bHR8NGM3YjcyZWMxYWNkZDc1M2YxMTE5MjFjNWU5ODVkMjY) 8 | 9 | ## Dates 10 | 11 | 1. Wednesday, October 23 12 | 2. Wednesday, October 30 13 | 3. Wednesday, November 6 14 | 4. Wednesday, November 13 15 | 5. Wednesday, November 20 16 | 6. Wednesday, December 4 17 | 7. Wednesday, December 11 18 | -------------------------------------------------------------------------------- /sections/02_Allison.md: -------------------------------------------------------------------------------- 1 | ## Information 2 | 3 | * I'm your instructor, [Allison Parrish](http://www.decontextualize.com/). 4 | * E-mail me at [aparrish@nyu.edu](mailto:aparrish@nyu.edu). 5 | * Time 6 | * Room 7 | * [Class outlines and homework assignments](https://github.com/ITPNYU/ICM-2019-Media/wiki/Homework-Allison) 8 | * [Office hours](http://help.itp.nyu.edu/in-person/office-hours/) 9 | 10 | ## Dates 11 | 12 | 1. Wednesday, October 23 13 | 2. Wednesday, October 30 14 | 3. Wednesday, November 6 15 | 4. Wednesday, November 13 16 | 5. Wednesday, November 20 17 | 6. Wednesday, December 4 18 | 7. Wednesday, December 11 19 | -------------------------------------------------------------------------------- /sections/06_Cassie.md: -------------------------------------------------------------------------------- 1 | ## Information 2 | 3 | * Cassie Tarakajian, cassie.tarakajian@nyu.edu 4 | * Thursdays, 5:30PM - 8:00PM 5 | * 370 Jay Street, Room 411 6 | * [Homework Wiki](https://github.com/ITPNYU/ICM-2019-Media/wiki/Homework-Cassie) 7 | * [Office Hours](https://calendar.google.com/calendar/selfsched?sstoken=UU1sWVF3by0wR2lQfGRlZmF1bHR8YjhkY2IyODcxNDk3ODRhNzI1OTkyN2JiMDY3ODFmNWI): Tuesday Afternoons, Resident's Office 8 | 9 | ## Dates 10 | 11 | 1. Thursday, October 24 12 | 2. Thursday, October 31 13 | 3. Thursday, November 7 14 | 4. Thursday, November 14 15 | 5. Thursday, November 21 16 | 6. Thursday, December 5 17 | 7. Thursday, December 12 18 | -------------------------------------------------------------------------------- /weeks/04_sound.md: -------------------------------------------------------------------------------- 1 | # Sound: Synthesis 2 | 3 | ### Readings and Videos 4 | * [Do-A-Deer](https://www.youtube.com/watch?v=drnBMAEA3AM) 5 | * [Solfege Tutorial](https://www.jonbjorkmusic.com/tutorials) | [Video](https://www.youtube.com/watch?v=mEopSLv5oas) 6 | * [Signing, Singing, Speaking: How Language Evolved](https://www.npr.org/templates/story/story.php?storyId=129155123) 7 | * [Why repeating words sound like music to your brain](https://www.theverge.com/2018/6/8/17443170/repeating-words-sound-to-song-auditory-illusion) 8 | 9 | ### Reference 10 | * [Diatonic Scale Interval Ratios](https://en.wikipedia.org/wiki/Interval_(music)#Size_of_intervals_used_in_different_tuning_systems) 11 | 12 | ### Tutorials and Code 13 | #### Generating Pitch and Rhythm 14 | * [17.6: Sound Synthesis - video tutorial](https://youtu.be/Bk8rLzzSink?list=PLRqwX-V7Uu6aFcVjlDAkkGIixw70s7jpW) | [Code](https://editor.p5js.org/p5/sketches/S1xN4x1muQ) 15 | * [Ear training interface](https://editor.p5js.org/icm4.0/sketches/ugARgFTL7) 16 | * [Sound Sample and Pitch](https://editor.p5js.org/icm4.0/sketches/mwnxfxQe5w) 17 | * [Melodies with Noisy Steps and Random Leaps](https://editor.p5js.org/icm4.0/sketches/n8dJlFNOB) 18 | * [Random Diatonic Chords](https://editor.p5js.org/icm4.0/sketches/NArBLGfRM) | [noise()](https://p5js.org/reference/#/p5/noise) | [Tutorial](https://www.youtube.com/watch?v=Qf4dIN99e2w) 19 | 20 | #### Building Rhythms 21 | * [Modulo Drum](https://editor.p5js.org/icm4.0/sketches/FzyRXOvyy) 22 | * [Loopy Drum](https://editor.p5js.org/icm4.0/sketches/_ZHgs0L2V) 23 | * [Framecount Drum with Shifting Syncopation](https://editor.p5js.org/icm4.0/sketches/elIT5rHVV) 24 | * [Geometry as Rhythm](https://www.youtube.com/watch?v=MwKtgDNyGYk) | [Geometry as Rhythm](https://editor.p5js.org/icm4.0/sketches/uryD8XmJD) 25 | 26 | #### Sound Effects and Post-Processing 27 | * [SoundRecorder()](http://p5js.org/reference/#/p5.SoundRecorder) | [Record and Loop](https://editor.p5js.org/icm4.0/sketches/8-VXVgaJO) 28 | * [17.5: Adding Sound Effects - video tutorial](https://youtu.be/40Me1-yAtTc?list=PLRqwX-V7Uu6aFcVjlDAkkGIixw70s7jpW) 29 | * [17.7: ADSR Envelope - video tutorial](https://youtu.be/wUSva_BnedA?list=PLRqwX-V7Uu6aFcVjlDAkkGIixw70s7jpW) 30 | * [p5.js editor: Envelope](https://editor.p5js.org/p5/sketches/Sound:_Note_Envelope) 31 | -------------------------------------------------------------------------------- /weeks/03_sound.md: -------------------------------------------------------------------------------- 1 | # Sound: Analysis 2 | 3 | *Some of the videos in this section were created 2-3 years ago. They use different editors for p5.js. All of the concepts should still apply?* 4 | 5 | ### Question 6 | Can we analyze our way to good music? 7 | 8 | ### Readings 9 | * [The Science of Pop Music](https://www.dailymotion.com/video/x6fsdpg) | [Transcript](https://subsaga.com/bbc/documentaries/music/2017/the-secret-science-of-pop.html) 10 | 11 | #### Extra 12 | * [What is consciousness?](https://www.wnycstudios.org/podcasts/radiolab/segments/91503-the-unconscious-toscanini-of-the-brain) 13 | * [Problems with FFT](http://sites.music.columbia.edu/cmc/MusicAndComputers/chapter3/03_05.php) 14 | * [Measuring the Evolution of Contemporary Western Popular Music](https://www.nature.com/articles/srep00521): Abstract and Introduction 15 | 16 | ### Video Tutorials 17 | #### Basics 18 | * [17.1: Loading and Playing sound - video tutorial](https://youtu.be/Pn1g1wjxl_0?list=PLRqwX-V7Uu6aFcVjlDAkkGIixw70s7jpW) 19 | * [17.3: Timing, Jumps and Cues - video tutorial](https://youtu.be/SfA5CghXw18?list=PLRqwX-V7Uu6aFcVjlDAkkGIixw70s7jpW) (Note: addCue() is [not working](https://github.com/processing/p5.js-sound/issues/371) as of 10/2019) 20 | * [17.4: Amplitude Analysis - video tutorial](https://youtu.be/NCCHQwNAN6Y?list=PLRqwX-V7Uu6aFcVjlDAkkGIixw70s7jpW) 21 | * [17.8: Microphone Input - video tutorial](https://youtu.be/wUSva_BnedA?list=PLRqwX-V7Uu6aFcVjlDAkkGIixw70s7jpW) 22 | #### Visualizations of Sound Data 23 | * [17.9: Sound Visualization: Graphing Amplitude - video tutorial](https://youtu.be/jEwAMgcCgOA?list=PLRqwX-V7Uu6aFcVjlDAkkGIixw70s7jpW) 24 | * [17.10: Sound Visualization: Radial Graph - video tutorial](https://youtu.be/h_aTgOl9J5I?list=PLRqwX-V7Uu6aFcVjlDAkkGIixw70s7jpW) 25 | * [17.11: Sound Visualization: Frequency Analysis with FFT - video tutorial](https://www.youtube.com/watch?v=2O3nm0Nvbi4&list=PLRqwX-V7Uu6aFcVjlDAkkGIixw70s7jpW&index=11) 26 | 27 | ### Code 28 | * [Code for above video tutorials](https://github.com/CodingTrain/website/tree/master/Tutorials/P5JS/p5.js_sound) 29 | * [Chapter 20 (sound) from Learning Processing ported to p5.js](https://github.com/shiffman/LearningProcessing-p5.js/tree/master/chp20_sound) 30 | 31 | ## Getting Started with p5.js book 32 | * Chapter 13 through Ex. 13.3 of [Getting Started with p5.js book](http://amzn.to/2ckixCW) - [Ebook (free with NYU Library login)](https://ebookcentral.proquest.com/lib/nyulibrary-ebooks/detail.action?docID=4333728) 33 | 34 | ### Reference 35 | * [p5.sound reference](http://p5js.org/reference/#/libraries/p5.sound) 36 | -------------------------------------------------------------------------------- /weeks/02_pixels.md: -------------------------------------------------------------------------------- 1 | 2 | # Pixels: Manipulating Pixel Data 3 | 4 | *Some of the videos in this section were created 2-3 years ago. They use different editors for p5.js. All of the concepts should still apply?* 5 | 6 | ### Reading 7 | * [Computational Color](http://printingcode.runemadsen.com/lecture-color/) (Don't worry about Rune.js example code.) 8 | * [Make your pictures beautiful with a touch of deep learning magic](https://towardsdatascience.com/make-your-pictures-beautiful-with-a-touch-of-machine-learning-magic-31672daa3032) v. [The Mona Lisa](https://en.wikipedia.org/wiki/Mona_Lisa) 9 | * [Introduction to Neural Networks and Pixel Analysis](https://www.youtube.com/watch?v=aircAruvnKk) (20 minutes, but be prepared to spend an hour. Don't try to watch on 2x speed.) 10 | 11 | ### Examples for Computational Color 12 | * [HSB Color Swatches](https://editor.p5js.org/icm4.0/sketches/V413sE0Rn) 13 | * [Linear v. Exp Progression of Brightness](https://editor.p5js.org/icm4.0/sketches/odxgnNuYs) 14 | * [Complementary Colors](https://editor.p5js.org/icm4.0/sketches/Xm4F9kwKi) 15 | * [Triadic Colors](https://editor.p5js.org/icm4.0/sketches/gBq79IWtw) 16 | * [Tetradic Colors](https://editor.p5js.org/icm4.0/sketches/ucut8DFyV) | [Visualization of Rectangle of Angles](https://editor.p5js.org/icm4.0/sketches/nNBavXsZj) 17 | * [Analogous Colors](https://editor.p5js.org/icm4.0/sketches/AY5ADqWuF) 18 | * [Monochrome](https://editor.p5js.org/icm4.0/sketches/X078yn_i8) 19 | * [Saturation](https://editor.p5js.org/icm4.0/sketches/I350DOnIs) 20 | * [Are there 2 or 3 colors?](https://editor.p5js.org/icm4.0/sketches/4MpL1NJtd) 21 | * [Rothko's Cat](https://editor.p5js.org/icm4.0/sketches/QhaSfqTDZ) | [Josef and The Amazing Technicolor Dreamcoat](https://editor.p5js.org/icm4.0/sketches/0dU1IiYo7) 22 | 23 | ### More Tutorials and Examples 24 | * [Spotlight Effect](https://editor.p5js.org/icm4.0/sketches/MLgJGDH1h) | [Spotlight with Brightest Webcam Pixel](https://editor.p5js.org/icm4.0/sketches/VDYs7MqdB) 25 | * [11.7: Slit-Scan Video - video tutorial](https://youtu.be/YqVbuMPIRwY?list=PLRqwX-V7Uu6aKKsDHZdDvN6oCJ2hRY_Ig) | [Code](https://editor.p5js.org/codingtrain/sketches/B1L5j8uk4) 26 | * [10.6: Pixel Neighbors - Processing Tutorial](https://www.youtube.com/watch?v=qB3SA43vKYc) | [Edge Detection Ex.](https://github.com/shiffman/LearningProcessing-p5.js/tree/master/chp15_images_pixels/example_15_12_PixelNeighborEdge) | [Sharpening Convolution Ex.](https://github.com/shiffman/LearningProcessing-p5.js/tree/master/chp15_images_pixels/example_15_13_Convolution) 27 | * [2D: Water Ripple Tutorial and Code](https://thecodingtrain.com/CodingChallenges/102-2d-water-ripple.html) 28 | -------------------------------------------------------------------------------- /weeks/01_pixels.md: -------------------------------------------------------------------------------- 1 | 2 | # Introduction to ICM: Media 3 | 4 | ### Question 5 | Why are we interested in computing media? 6 | 7 | # Pixels: Pixels as Data 8 | 9 | *Some of the videos in this section were created 2-3 years ago. They use different editors for p5.js. All of the concepts should still apply?* 10 | 11 | ### Question 12 | Can computers be a more impartial judge of beauty? 13 | 14 | ### Video Tutorials 15 | #### Basics 16 | * [11.1: Live Video and createCapture() - video tutorial](https://youtu.be/bkGf4fEHKak?list=PLRqwX-V7Uu6aKKsDHZdDvN6oCJ2hRY_Ig) 17 | * [11.3: The Pixel Array - video tutorial](https://youtu.be/nMUMZ5YRxHI?list=PLRqwX-V7Uu6aKKsDHZdDvN6oCJ2hRY_Ig) 18 | #### Ways to play with pixels 19 | * [11.4: Brightness Mirror - video tutorial](https://youtu.be/rNqaw8LT2ZU?list=PLRqwX-V7Uu6aKKsDHZdDvN6oCJ2hRY_Ig) 20 | * [11.5: Checkbox Mirror - video tutorial](https://youtu.be/m1G6WBvrOBE?list=PLRqwX-V7Uu6aKKsDHZdDvN6oCJ2hRY_Ig) 21 | * [11.6: Painting with Pixels - video tutorial](https://youtu.be/0V3uYA1hafk?list=PLRqwX-V7Uu6aKKsDHZdDvN6oCJ2hRY_Ig) 22 | * [11.8: Video Effects with Seriously.js - video tutorial](https://youtu.be/jdKep6jo7b0?list=PLRqwX-V7Uu6aKKsDHZdDvN6oCJ2hRY_Ig) 23 | #### Fun way to animate 24 | * [11.2: Video Photobooth / Muybridge Style Animation - video tutorial](https://youtu.be/oLiaUEKsRws?list=PLRqwX-V7Uu6aKKsDHZdDvN6oCJ2hRY_Ig) 25 | 26 | ### Code 27 | * [Code for above video tutorials](https://github.com/CodingTrain/website/tree/master/Tutorials/P5JS/p5.js_video) 28 | * [Chapter 15 (images and pixels) from Learning Processing ported to p5.js](https://github.com/shiffman/LearningProcessing-p5.js/tree/master/chp15_images_pixels) 29 | * [Chapter 16 (video) from Learning Processing ported to p5.js](https://github.com/shiffman/LearningProcessing-p5.js/tree/master/chp16_video) 30 | 31 | ## Getting Started with p5.js book 32 | * Chapter 7 through Ex. 7-9 of [Getting Started with p5.js book](http://amzn.to/2ckixCW) - [Ebook (free with NYU Library login)](https://ebookcentral.proquest.com/lib/nyulibrary-ebooks/detail.action?docID=4333728) 33 | 34 | ### Reference 35 | * [p5 reference: pixels](https://p5js.org/reference/#/p5/pixels) 36 | * [p5 reference: get()](https://p5js.org/reference/#/p5/get) 37 | * [p5 reference: set()](https://p5js.org/reference/#/p5/set) 38 | * [p5 reference: copy()](https://p5js.org/reference/#/p5/copy) 39 | * [p5 reference: filter()](https://p5js.org/reference/#/p5/filter) 40 | * [p5 reference: createVideo()](https://p5js.org/reference/#/p5/createVideo) 41 | * [p5 reference: createCapture()](https://p5js.org/reference/#/p5/createCapture) 42 | * [p5 reference: p5.MediaElement](http://p5js.org/reference/#/p5.MediaElement) 43 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Contributor Covenant Code of Conduct 2 | 3 | ## Our Pledge 4 | 5 | In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. 6 | 7 | ## Our Standards 8 | 9 | Examples of behavior that contributes to creating a positive environment include: 10 | 11 | * Using welcoming and inclusive language 12 | * Being respectful of differing viewpoints and experiences 13 | * Gracefully accepting constructive criticism 14 | * Focusing on what is best for the community 15 | * Showing empathy towards other community members 16 | 17 | Examples of unacceptable behavior by participants include: 18 | 19 | * The use of sexualized language or imagery and unwelcome sexual attention or advances 20 | * Trolling, insulting/derogatory comments, and personal or political attacks 21 | * Public or private harassment 22 | * Publishing others' private information, such as a physical or electronic address, without explicit permission 23 | * Other conduct which could reasonably be considered inappropriate in a professional setting 24 | 25 | ## Our Responsibilities 26 | 27 | Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. 28 | 29 | Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. 30 | 31 | ## Scope 32 | 33 | This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. 34 | 35 | ## Enforcement 36 | 37 | Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at oss.at.itp@gmail.com. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. 38 | 39 | Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. 40 | 41 | ## Attribution 42 | 43 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version] 44 | 45 | [homepage]: http://contributor-covenant.org 46 | [version]: http://contributor-covenant.org/version/1/4/ 47 | -------------------------------------------------------------------------------- /weeks/05_text.md: -------------------------------------------------------------------------------- 1 | # Text 2 | 3 | *Some of the videos in this section were created last year and some two years ago. They use different editors for p5.js. All of the concepts should still apply?* 4 | 5 | ### Question 6 | To what extent can we deconstruct language and put it back together again? 7 | 8 | ### Readings 9 | * [Machines Beat Humans on a Reading Test. But Do They Understand?](https://www.quantamagazine.org/machines-beat-humans-on-a-reading-test-but-do-they-understand-20191017) 10 | 11 | ### Tutorials 12 | * [JavaScript String Object](https://www.youtube.com/watch?v=DcoAjEZYies&list=PLRqwX-V7Uu6aoeLx_mWfz6XwtFaD9SkVX&index=5) 13 | * [Text Analysis and Word Counting](https://www.youtube.com/watch?v=tE-ZYXU8A8U) 14 | * [Introduction to Markov Chains and Ngrams](https://www.youtube.com/watch?v=v4kL0OHuxXs) 15 | 16 | ### Code 17 | * Displaying Strings | [Code](https://editor.p5js.org/icm4.0/sketches/dqWmqXO3-) 18 | * Random Text | [Code](https://editor.p5js.org/icm4.0/sketches/cgHx2OeKd) 19 | * Word Counting | [Code](https://editor.p5js.org/icm4.0/sketches/-mE9aOLiU) 20 | * Simple Markov Chain | [Explanation](https://medium.com/@alexkrameris/markov-chain-implementation-in-javascript-a698f371d66f) | [Code](https://editor.p5js.org/icm4.0/sketches/gqA1THrae) 21 | 22 | ### Going further 23 | * [Coding Challenge: Word Counting](https://www.youtube.com/watch?v=unm0BLor8aE) | [Code](https://github.com/shiffman/A2Z-F17/tree/master/week5-analysis/01_concordance) 24 | * [Coding Challenge: Keyword Extraction with TD-IDF](https://www.youtube.com/watch?v=RPMYV-eb6lI&t=154s) | [Code](https://github.com/shiffman/A2Z-F17/tree/master/week5-analysis/03_tf-idf) 25 | * Coding Challenge: Character-level Markov Chains: [Pt. 1](https://www.youtube.com/watch?v=eGFJ8vugIWA) | [Code](https://github.com/CodingTrain/website/tree/master/CodingChallenges/CC_042.1_markov-chain/P5) | [Pt. 2](https://www.youtube.com/watch?v=9r8CmofnbAQ) [Code](https://github.com/CodingTrain/website/blob/master/CodingChallenges/CC_042.2_markov-chain-names/P5/sketch.js) 26 | 27 | ### Reference 28 | #### JavaScript 29 | * [String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String) 30 | * [indexOf()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/indexOf) 31 | * [substring()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/substring) 32 | * [replace()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace) 33 | * [length](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/length) 34 | #### p5.js 35 | * Parse 36 | * [split()](http://p5js.org/reference/#/p5/split) 37 | * [splitTokens()](http://p5js.org/reference/#/p5/splitTokens) 38 | * [join()](http://p5js.org/reference/#/p5/join) 39 | * [trim()](http://p5js.org/reference/#/p5/trim) 40 | * [match()](http://p5js.org/reference/#/p5/match) 41 | * Display 42 | * [text()](http://p5js.org/reference/#/p5/text) 43 | * [textSize()](http://p5js.org/reference/#/p5/textSize) 44 | * [textAlign()](http://p5js.org/reference/#/p5/textAlign) 45 | * [textStyle()](http://p5js.org/reference/#/p5/textStyle) 46 | * [textLeading()](http://p5js.org/reference/#/p5/textLeading) 47 | * [textWidth()](http://p5js.org/reference/#/p5/textWidth) 48 | * [textAscent()](http://p5js.org/reference/#/p5/textAscent) 49 | * [textDescent()](http://p5js.org/reference/#/p5/textDescent) 50 | * [textFont()](http://p5js.org/reference/#/p5/textFont) 51 | -------------------------------------------------------------------------------- /weeks/06_data.md: -------------------------------------------------------------------------------- 1 | # Data and APIs 2 | 3 | *Some of the videos in this section were created last year and some two years ago. They use different editors for p5.js. All of the concepts should still apply? I wonder also if any of the APIs have changed significantly and the examples no longer work or apply! If you notice something way off, please let me know!* 4 | 5 | ### Questions 6 | * What are the challenges to making sense of data? 7 | * Does the past predict the future? 8 | * Even as coders, to what extent are we able to be the authors of how we use data to understand and shape the world? 9 | 10 | ### Visions of Present and Future 11 | * [Side-by-side images expose a glitch in Google’s maps](https://qz.com/982709/google-maps-is-making-entire-communities-invisible-the-consequences-are-worrying/) 12 | * [YouTube’s Product Chief on Online Radicalization and Algorithmic Rabbit Holes](https://www.nytimes.com/2019/03/29/technology/youtube-online-extremism.html?partner=rss&emc=rss) 13 | * [Human Contact is Now a Luxury Good](https://www.nytimes.com/2019/03/23/sunday-review/human-contact-luxury-screens.html) 14 | * [Climate Chaos is Coming](https://www.nytimes.com/interactive/2019/04/10/magazine/climate-change-pinkertons.html) 15 | 16 | ### More to consider... 17 | #### Responsibility and Bias 18 | * [Is Facebook a platform or a publisher? Why does it matter?](https://www.theguardian.com/technology/2018/jul/02/facebook-mark-zuckerberg-platform-publisher-lawsuit) 19 | * [The End of Theory](https://www.wired.com/2008/06/pb-theory/) 20 | * [The Numbers Don't Speak for Themselves](https://bookbook.pubpub.org/pub/6ui5n4vo) by Catherine D'Ignazio and Lauren Klein 21 | * [Predicting Recidivism in Crime](https://www.washingtonpost.com/news/monkey-cage/wp/2016/10/17/can-an-algorithm-be-racist-our-analysis-is-more-cautious-than-propublicas/) by Sam Corbett-Davies, Emma Pierson, Avi Feller and, Sharad Goel (Washington Post) 22 | #### Privacy and Surveillance 23 | * [What Information is "Personally Identifiable"?](https://www.eff.org/deeplinks/2009/09/what-information-personally-identifiable) by Seth Schoen 24 | * [The Anxieties of Big Data](http://thenewinquiry.com/essays/the-anxieties-of-big-data/) by Kate Crawford 25 | #### Data Art Practice 26 | * [Data v. Information](http://eleven.fibreculturejournal.org/fcj-067-art-against-information-case-studies-in-data-practice/) 27 | * [Art and the API](http://blog.blprnt.com/blog/blprnt/art-and-the-api) by Jer Thorp 28 | 29 | ### Data, APIs, and JSON 30 | * [10.1: Introduction to Data and APIs in JavaScript - video tutorial](https://youtu.be/rJaXOFfwGVw?list=PLRqwX-V7Uu6a-SQiI4RtIwuOrLJGnel0r) 31 | * [10.2: What is JSON? Part 1 - video tutorial](https://youtu.be/_NFkzw6oFtQ?list=PLRqwX-V7Uu6a-SQiI4RtIwuOrLJGnel0r) 32 | * [10.3: What is JSON? Part 2 - video tutorial](https://youtu.be/118sDpLOClw?list=PLRqwX-V7Uu6a-SQiI4RtIwuOrLJGnel0r) 33 | 34 | ### Loading Data and Callbacks 35 | * [10.4: Loading JSON data from a URL (Asynchronous Callbacks!) - video tutorial](https://youtu.be/6mT3r8Qn1VY?list=PLRqwX-V7Uu6a-SQiI4RtIwuOrLJGnel0r) 36 | * [10.5: Working with APIs in Javascript - video tutorial](https://youtu.be/ecT42O6I_WI?list=PLRqwX-V7Uu6a-SQiI4RtIwuOrLJGnel0r) 37 | * [10.6: API Query with User Input - video tutorial](https://youtu.be/4UoUqnjUC2c?list=PLRqwX-V7Uu6a-SQiI4RtIwuOrLJGnel0r) 38 | * [10.7: API Query with JavaScript setInterval() - video tutorial](https://youtu.be/UNtqhnhD-wo?list=PLRqwX-V7Uu6a-SQiI4RtIwuOrLJGnel0r) 39 | 40 | ### Specific API Examples 41 | * [10.8: Wordnik API - video tutorial](https://youtu.be/YsgdUaOrFnQ?list=PLRqwX-V7Uu6a-SQiI4RtIwuOrLJGnel0r) 42 | * [10.9: NYTimes API - video tutorial](https://youtu.be/IMne3LY4bks?list=PLRqwX-V7Uu6a-SQiI4RtIwuOrLJGnel0r) 43 | * [10.10: Giphy API - video tutorial](https://youtu.be/mj8_w11MvH8?list=PLRqwX-V7Uu6a-SQiI4RtIwuOrLJGnel0r) 44 | * [Mapping Data with Mappa library - video tutorial](https://youtu.be/ZiYdOwOrGyc?list=PLRqwX-V7Uu6a-SQiI4RtIwuOrLJGnel0r) 45 | * [Wikipedia API - video tutorial](https://youtu.be/RPz75gcHj18?list=PLRqwX-V7Uu6a-SQiI4RtIwuOrLJGnel0r) 46 | 47 | ### Data Sources 48 | * [Data Sources Wiki](https://github.com/ITPNYU/ICM-2019-Code/wiki/Data-Sources) - please help organized and add to this list! 49 | 50 | ### Written Tutorials 51 | * [Tutorial: loading external data with p5.js](https://github.com/processing/p5.js/wiki/Loading-external-files:-AJAX,-XML,-JSON) 52 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # ICM-2019-Media 2 | Syllabus for ITP Foundation Course Introduction to Computational Media: Media 3 | 4 | ## Syllabus Overview 5 | * 1 -- [Pixels](weeks/01_pixels.md) 6 | * 2 -- [Pixels](weeks/02_pixels.md) 7 | * 3 -- [Sound](weeks/03_sound.md) 8 | * 4 -- [Sound](weeks/04_sound.md) 9 | * 5 -- [Text](weeks/05_text.md) 10 | * 6 -- [Data](weeks/06_data.md) 11 | * 7 -- Final Project Presentations 12 | 13 | ## Section Info 14 | * [Lisa](sections/01_Lisa.md) | [Homework](https://github.com/ITPNYU/ICM-2019-Media/wiki/Homework-Lisa) 15 | * [Allison](sections/02_Allison.md) | [Class outlines and homework assignments](https://github.com/ITPNYU/ICM-2019-Media/wiki/Homework-Allison) 16 | * [Mimi Y.](sections/03_MimiY.md) | [Homework](https://github.com/ITPNYU/ICM-2019-Media/wiki/Homework-MimiY-03) 17 | * [Mimi Y.](sections/04_MimiY.md) | [Homework](https://github.com/ITPNYU/ICM-2019-Media/wiki/Homework-MimiY-04) 18 | * [Dano](sections/05_Dano.md) | [Homework](https://github.com/ITPNYU/ICM-2019-Code/wiki/Homework-Dano) 19 | * [Cassie](sections/06_Cassie.md) | [Homework](https://github.com/ITPNYU/ICM-2019-Media/wiki/Homework-Cassie) 20 | 21 | ## Questions and Discussion 22 | - [Sign up for the ICM google group](https://groups.google.com/a/itp.nyu.edu/group/icm/) 23 | 24 | ## p5.js 25 | - The primary platform for the class is [p5.js](http://www.p5js.org/), a JavaScript library for creative coding. We will start coding with the [web editor for p5.js](https://alpha.editor.p5js.org/). 26 | 27 | ## Extra Help 28 | - [Research Resident Office Hours](http://itp.nyu.edu/residents/contact-the-residents/) 29 | - ICM Help Sessions: Fridays 6.30 pm - 7.30 pm & Mondays 1pm-2pm (Rm 50) 30 | - TBA 31 | 32 | ## Inspiration 33 | - [Help contribute to this wiki!](https://github.com/ITPNYU/ICM-2018/wiki/Inspiration) 34 | 35 | # Policies 36 | 37 | ## Evaluation 38 | 39 | Grades will be determined according to the following breakdown: 40 | * Regular Assignments 40% 41 | * Participation and Attendance 40% 42 | * Final Project 20% 43 | 44 | Please see ITP's statement on [Pass/Fail](http://help.itp.nyu.edu/academic-policies/pass-fail) which states that a "Pass" is equivalent to an "A" or a "B" while anything less would be considered a "Fail". 45 | 46 | We will have weekly assignments that are relevant to material from the previous class. These assignments are required and you should be prepared to show/talk about them in class. It is expected that everyone in the class will create and maintain a blog for their assignments. 47 | 48 | Attendance is mandatory. Please inform your teacher via email if you are going to miss a class. Two unexcused absences is cause for failing the class. (An unexcused lateness of 10 minutes or more is equivalent to 1/2 an absence.) 49 | 50 | This class will be participatory, you are expected to participate in discussions and give feedback to other students both in class and participate with their projects. This (along with attendance) is 40% of your grade. 51 | 52 | Class will culminate with final projects. You are expected to push your abilities to produce something that utilizes what you have learned in the class that is useful in some manner to yourself or the world. This will comprise 20% of your grade. 53 | 54 | ## Statement of Academic Integrity 55 | 56 | Plagiarism is presenting someone else’s work as though it were your own. More specifically, plagiarism is to present as your own: A sequence of words quoted without quotation marks from another writer or a paraphrased passage from another writer’s work or facts, ideas or images composed by someone else. 57 | 58 | ## Statement of Principle 59 | 60 | The core of the educational experience at the Tisch School of the Arts is the creation of original academic and artistic work by students for the critical review of faculty members. It is therefore of the utmost importance that students at all times provide their instructors with an accurate sense of their current abilities and knowledge in order to receive appropriate constructive criticism and advice. Any attempt to evade that essential, transparent transaction between instructor and student through plagiarism or cheating is educationally self-defeating and a grave violation of Tisch School of the Arts community standards. For all the details on plagiarism, please refer to page 10 of the Tisch School of the Arts, Policies and Procedures Handbook, which can be found online at: http://students.tisch.nyu.edu/page/home.html 61 | 62 | ## Statement on Accessibility 63 | 64 | Please feel free to make suggestions to your instructor about ways in which this class could become more accessible to you. Academic accommodations are available for students with documented disabilities. Please contact the Moses Center for Students with Disabilities at 212 998-4980 for further information. 65 | 66 | ## Statement on Counseling and Wellness 67 | 68 | Your health and safety are a priority at NYU. If you experience any health or mental health issues during this course, we encourage you to utilize the support services of the 24/7 NYU Wellness Exchange 212-443-9999. Also, all students who may require an academic accommodation due to a qualified disability, physical or mental, please register with the Moses Center 212-998-4980. Please let your instructor know if you need help connecting to these resources. 69 | 70 | ## Statement on use of Electronic Devices 71 | 72 | Laptops will be an essential part of the course and may be used in class during workshops and for taking notes in lecture. Laptops must be closed during class discussions and student presentations. Phone use in class is strictly prohibited unless directly related to a presentation of your own work or if you are asked to do so as part of the curriculum. 73 | 74 | Mantras By James 75 | ---------------- 76 | - "Practice is the best of all instructors." - computation requires practice 77 | - "An agreeable companion on a journey is as good as a carriage." - look to your classmates for help too 78 | - "While we stop to think, we often miss our opportunity." - sometimes you need to take a leap of faith 79 | - "When two do the same thing, it is not the same thing after all." - encourage students with similar ideas 80 | - "The bow too tensely strung is easily broken." - don't get too stressed out 81 | - All of these are from Plubius Syrus. (42 B.C.) 82 | 83 | Previous Years 84 | -------------- 85 | - [2018](https://github.com/ITPNYU/ICM-2018/) 86 | - [2017](https://github.com/ITPNYU/ICM-2017/) 87 | - [2016](https://github.com/ITPNYU/ICM-2016/) 88 | - [2015](https://github.com/ITPNYU/ICM-2015/) 89 | - [2014](https://github.com/ITPNYU/ICM-2014/) 90 | - [2013](https://github.com/ITPNYU/ICM-2013/) 91 | - [2012](http://itp.nyu.edu/varwiki/Syllabus/ICM-All-F12) 92 | - [2011](http://itp.nyu.edu/varwiki/Syllabus/ICM-All-F11) 93 | - [2010](http://itp.nyu.edu/varwiki/Syllabus/ICM-All-F10) 94 | - [2009](http://itp.nyu.edu/varwiki/Syllabus/ICM-All-F09) 95 | - [2008](http://itp.nyu.edu/varwiki/Syllabus/ICM-All-F08) 96 | - [2007](http://itp.nyu.edu/varwiki/Syllabus/ICM-All-F07) 97 | --------------------------------------------------------------------------------