-
Notifications
You must be signed in to change notification settings - Fork 17
Homework Mimi Tuesday
- Someone else will demo your project
- Prepare 3 open-ended questions. e.g. What's clear? What's confusing? (As opposed to yes-no questions like: Was that confusing?)
- Your Name -- [Title of Blog Post](Link to Blog Post), [Title of Sketch](Link to Sketch) -- any other comments
- Beverly -- ICM Final, Webcam Self Portrait
- Eva -- ICM-Final,A collage of rivers and mountains
- Stephanie -- ICM Final - humandoing
- Chengchao + Yifan -- ICM FINAL – DANCE!, ICM-Final
- Yeonhee + Maria -- ICM FINAL, ICM Final Design Process
- Azalea -- ICM Final, ICM Final
- Simon + Aidan
- Marco -- ICM Final, ICM Final
- Jesse -- ICM Final
- Haiyi -- ICM Final,BEANFACE BLOG
- Effy -- ICM Final Project, THE COLLECTIVE MOOD
- Kim -- ICM Final, 12 Wenhai Street
- Joohyun
- Kathy -- ICM Final - legos!,legos!
- Simon & Aidan -- Take the Money and Run!
- The Internets Cheat Sheet
- Python SimpleHTTPServer
- Terminal Commands Explainer
- Getting started with git
- Git Cheat Sheet
- Full Stack Development Diagram
- Kinect Cheat Sheet
- Kinect v1 versus v2
- How does depth sensing work?
- Getting Started with Kinect by Shiffman
- 3D shapes in p5
- Kinectron + 3D Skeleton in p5
- Face tracking: [Code] (https://github.com/auduno/clmtrackr) | Demo | How it works | p5 Examples
-
Sign-up to present:
-
Next Week:
- Yeonhee/Joohyun/Maria A History of Communication
- Kathy
- Stephanie
- Jesse ICM Final Project Proposal, Title: TBD
- Effy ICM Final Project Proposal
- Aidan & Simon Take the Money and Run
- Kim ICM Final Project Proposal,Observed
-
Next Next Week:
- Azalea Vaseghi
- Beverly
- Chengchao Zhu/ Yifan Liu
- Marco Final Proposal
- Haiyi
- Eva ICM Final Proposal
-
-
Complete Quiz with your partner
-
Final Project Proposals: 5 minutes of slides, sketches...something to ILLUSTRATE what's in your head.
- Collect inspirations: Quotes, photographs, products, projects, people, music, political events, social ills.
- Collect source material: Drawings, Images, Videos, Sounds, Text
- Collect code: Your own sketches. Other people's sketches.
- Collect ideas for title?
- Collect ideas for 1-sentence description?
- Context? Who's it for? How will people experience it? Is it interactive? Is it practical? Is it for fun? Is it emotional? Is it to provoke something?
-
Collect questions for your classmates.
- What are you unsure of? Conceptually and technically.
-
Links from Class
-
DO:
- Create a sketch that uses external media (sound, images or video). Some ideas are:
- Make something responsive to microphone input.
- Create a "photobooth" with augmented snapshots from a camera.
- Create a "painting" system that colors pixels according to images, video or camera input.
- Create a blog post documenting your work. Also include links to other projects that serve as references, inspiration, or deal with similar ideas as your piece.
- Create a sketch that uses external media (sound, images or video). Some ideas are:
-
READ + RUN CODE
-
LINKS FROM CLASS
-
More Sound and Video resources from Shiffman
Questions (example questions)
- Your question here
- How to deal with very slow animations? Techniques to speed up sketches?
- Your Name -- [Title of Blog Post](Link to Blog Post), [Title of Sketch](Link to Sketch) -- any other comments
- Joohyun -- ICM Week 8, Marvel Studios Fanfare, Universe
- Kathy Wu -- icm week 8, cam doodler, code version
- Marco Wylie -- ICM Week 8,Pumpkin Drum Kit
- Azalea Vaseghi -- ICM Week 8, Witchify
- Maria -- ICM Week 8: Video & Sound, Music Visualizer (live), Music Visualizer (sketch)
- Chengchao -- ICM Week 8, Video ICM
- Haiyi -- Camera and Sound ICM Week 8, Camera and Sound ICM
- Jesse -- ICM Week 8, Pixelate
- Yeonhee -- ICM Week 8, Trick or Track
- Beverly -- ICM Week 8, Webcam Synth
- Yifan Liu -- ICM Midterm - Video & Sound, Video & Sound
- Aidan Nelson -- Pixel Manipulation
- Stephanie Hagemeister Mirror Mirror
- Eva Chen -- Pixel MirrorSketch
- Simon Jensen -- Sound capture
- Effy Fan -- Slit Scan
- Kim -- ICM Week 8, ghosts and shadow
-
TEST YOURSELF
- Complete the Quiz
-
DO:
- Create a sketch that uses an external data source. Consider building on top of your website assignment. Make it data-rich!
- Here are some ideas:
- Track personal data over the course of a few days (exercise, sleep, computer use, eating, etc.). Enter the data manually into a JSON file and visualize the results.
- Count word frequencies in two different text sources (i.e. two different authors, two different newspapers, two different political speeches) and visualize the results.
- Use weather data to affect elements in a sketch
- Gather data from a google spreadsheet and use in a sketch with loadTable()
- APIs to consider.
- ProgrammableWeb
- http://en.wikipedia.org/wiki/List_of_open_APIs
- https://gist.github.com/afeld/4952991
- OpenWeatherMap - http://openweathermap.org/API
- NYTimes - http://developer.nytimes.com/
- The Guardian - http://www.theguardian.com/open-platform
- flickr - https://www.flickr.com/services/api/
- MTA - http://web.mta.info/developers/developer-data-terms.html#data
- Foursquare - https://developer.foursquare.com/
- Sunlight Foundation - http://sunlightfoundation.com/api/
- apievangelist.com/
- Museum APIs list
- Cornell bird data
-
READ / WATCH
- Videos: Images/Video 11.1-11.8
- Videos: Sound 17.1-17.11
- Chapter 7 in Getting Started with P5.js
- Additional Resources
-
Examples
Questions (example questions)
- How can I reset data with empty canvas(or browser) whenever the button is pressed?
- Advantages of JSON v. CSV? Is JSON primarily a way to pull data from the web?
- If I pull data from relatively unformatted source (\n separated values), should I put it into JSON or an array of arrays?
- Running order within preload? I had trouble making loadJSON and loadStrings run in the order I wanted them to.
- Your Name -- [Title of Blog Post](Link to Blog Post), [Title of Sketch](Link to Sketch) -- any other comments
- Kathy Wu -- icm week 9, stop & frisk 2016
- Yeonhee Lee --ICM Week 7, Weather Map
- Maria --ICM Week 7: HTML2, New Dessert Site
- Jesse Simpson --ICM Week 7, How Happy in Somerville?
- Marco Wylie -- ICM Week 7
- Effy Fan -- ICM midterm, CO2 Emissions Map
- Beverly Chou -- ICM Week 7, cat/dog gif slider, input your own gif slider
- Kimberly Lin -- ICM Week 7, Herbs and Spices
- Haiyi Huang -- Working with Data, Wiki Search
- Stephanie Hagemeister -- Data and Code, No Borders, All Love
- Simon Jensen -- ICM WEEK 7, Copenhagen data
- Aidan Nelson -- One Year of Citi Biking, Code (does not work in online editor)
- Joohyun Park -- ICM Week 7, Near Earth Objects
-
TEST YOURSELF
- Complete the Quiz
-
DO:
- Create your own HTML page with the following:
- Pre-defined HTML Elements
- Pre-defined CSS Styles
- HTML Elements generated by your p5 sketch
- Some kind of mouse interaction with an HTML Element using a callback function you write.
- Another option for your assignment this week is to play with an existing website rather than create your own from scratch. To do that you will need to save it and upload it to your web editor. Here are instructions on how to do that.
- Let’s say you want to work with the awesome MDN documentation page on the animate() function.
- Go to the File>>Save as… menu. Rename the file something short like animate.
- You will end up with 1 file that’s called animate.htm and a folder of supporting files (including the css style files) called animate_files.
- Open animate.htm in a code editor (Brackets, Atom, Sublime)
- Copy the html from animate.htm and replace the html in the index.html file on the p5 web editor.
- Create a folder in the web editor called animate_files and upload all the files from the saved folder INTO the one in the web editor. (If you click on the folder name in the web editor, you will see a little down arrow to the right of the name. Click that and you will see an option to Add File.)
- Voila, you should be able to run the saved website from the web editor.
- Remember that if you want p5 functionality, you will need to copy and paste the p5 script tags back into your index.html file.
- If this is all too much, I’ve set up this lovely specimen from the 1990s here for you to play with. You can File>>Duplicate it into your own account and go from there!
- Create your own HTML page with the following:
-
READ / WATCH
- Videos 10.0-10.7
- Pick 1 of the APIs to learn about from videos 10.8 to 10.12
- Chapter 12 in Getting Started with P5.js
- Additional Resources
- In class
- Tutorial about data 1
- Tutorial about data 2 - this one comes from the A to Z class and has some materials out of scope of our class.
- Art and the API, Jer Thorp
- The Anxieties of Big Data, Kate Crawford
-
Examples + Resources
Questions (example questions)
* Can you nest DOM elements in p5.js?
* What does "break();" do?
* How do file paths work for the p5 DOM library?
- Your Name -- [Title of Blog Post](Link to Blog Post), [Title of Sketch](Link to Sketch) -- any other comments
- Effy -- ICM w6, Double Veil
- Kathy -- icm week 6, personal site [p5], personal site [live]
- Hye Ryeong Shin -- ICM Week 6: HTML Edit, Dessert Website
- Jesse -- ICM Week 6 Inching Along
- Kim -- ICM Week 6, Snap a pic
- Yeonhee -- ICM Week 6, My ICM Page - P5 Web Editor, My ICM Page - Full Screen
- Joohyun -- ICM Week 6, Sponge Bob
- Chengchao -- ICM Week 6, Page
- Simon -- ICM Week 6, Hidden treasure
- Haiyi -- Play with an Existing Website in p5.js, 90s throwback
- Beverly -- ICM Week 6, Cat/Dog Gif Slider (on my site), (on web editor - but file paths not working?)
- Marco -- ICM Week 6, Tony's Website
- Eva -- ICM Week 6, Ball Style
- Stephanie -- ICM Week 6
-
TEST YOURSELF
- Complete the Quiz
-
DO:
- Design a sketch in an object-oriented fashion. Follow these steps and see how far you get (even just doing the first couple steps is ok!)
- Make one single object with just variables.
- Put one or more functions in the object.
- Try manually making two objects.
- Duplicate the object using an array and make as many as you like!
- If you are already working with classes/objects and arrays:
- Re-organize / break-down your classes into the "smallest functional units" possible.
- Try different ways to have your objects "communicate" with each other in some way.
- In the end the goal is to have code in
draw()
that only makes calls to objects. Something like:
- Design a sketch in an object-oriented fashion. Follow these steps and see how far you get (even just doing the first couple steps is ok!)
function draw() {
background(0);
// A single object
apple.chop();
// Another object
orange.peel();
// Calling a function on all of the objects in an array
for (var i = 0; i < grapes.length; i++) {
grapes[i].pluck();
}
}
-
READ / WATCH
- Videos 7.1-7.16
- p5.dom section of Chapter 13 in Getting Started with P5.js
- Additional Resources
-
Examples
Questions (example questions)
- Your question here.
- Which elements of this week's videos belong to p5.js specifically, rather than javascript as a whole? Or the DOM as a whole?
- How to delete an object in an array by clicking it, using the "splice" function?
- how do you apply a function such as function mousePressed() into an object function? – if it is even possible?
- how do you create a nested loop of objects?
- How do you manage when you have arrays in arrays?
- Your Name -- [Title of Blog Post](Link to Blog Post), [Title of Sketch](Link to Sketch) -- any other comments
- Kathy Wu -- icm week 5, opposite of a gun
- Effy Fan -- ICM week 5, Leaf interactive, Triangle Object
- Yeonhee Lee -- ICM Week 5, Autumn tree
- Marco Wylie -- ICM Week 5, Moving Circles
- Joohyun Park -- ICM Week 5, Balls
- Simon Jensen -- ICM Week 5, Stack boxes - sort of
- Chengchao Zhu -- ICM Week 5, Bubbles
- Jesse Simpson -- ICM Week 5, Random Waveform Generator
- Aidan Nelson -- Helicopter Game!, Helicopter Game Editor!
- Hye Ryeong Shin -- ICM Week 5: Objects, Scribble
- Azalea Vaseghi -- Make it Raaaaaaiiiiin again
- Kimberly Lin -- ICM Week 5, Bad Cat
- Haiyi Huang -- Object and Array, Snow Fall
- Beverly Chou -- ICM Week 5, Waves
- Eva Chen -- ICM Week 5, Snowman
- Stephanie Hagemeister -- ICM Week 5, Forest For Rest
-
TEST YOURSELF
- Complete the Quiz
-
DO: The idea this week is to explore re-organizing your code. It is 100% legitimate to turn in a version of a previous assignment where nothing changes for the end user, but the code has been restructured. You may, however, choose to try a new experiment from scratch. Aim to keep
setup()
anddraw()
as clean as possible, and do everything (all calculations, drawing, etc.) in functions that you create yourself. Possibilities (choose one or more):- Reorganize "groups of variables" into objects.
- Break code out of
setup()
anddraw()
into functions. - Use a function to draw a complex design multiple times with different arguments.
- If you are feeling ambitious, try embedding a function into an object.
-
READ / WATCH
- Getting Started with p5.js chapters 10-11
-
Examples
Questions (example questions)
- Your question here.
- How to initiate variables within a loop for use outside of the loop? I would like to make several ball object-literals inside of a for loop.
- How to have objects interact with each other? Will I slow down program by looping through an array within a loop through an array?
- How to slice while looping? Do I need to update index?
- Can an object perform functions on itself without being called? I.E. Could an object change its size if it approached a certain point?
- Is it possible to use the function mousePressed in objects?
- Your Name -- [Title of Blog Post](Link to Blog Post), [Title of Sketch](Link to Sketch) -- any other comments
- Haiyi Huang -- Organizing Functions in p5.js, Interactive Bouncing Balls -- any other comments
- Beverly Chou -- ICM Week 4, Underwater Scene
- Joohyun Park -- ICM Week4, eye origins
- Kathy Wu -- ICM Week 4,leWitt maker
- Yeonhee Lee -- ICM Week 4, Plum Blossom
- Hye Ryeong Shin -- ICM Week 4: Functions, Dancing Owls
- Jesse Simpson -- ICM Week 4, refactor-functions
- Chengchao Zhu -- ICM Week 4, slider
- Eva Chen -- ICM Week 4, Bouncing ball game
- Kimberly Lin -- ICM Week 4, Fish tank rework
- Yifan Liu -- ICM Week 4, Play Button Edited
- Marco Wylie -- ICM Week 4, Hygienic Spinnn
- Aidan Nelson -- W4: Functions in Objects, Disappearing Balls!
- Effy Fan -- ICM week 4, Leaf Object, Bouncing Ball Object
- Simon Jensen -- ICM week 4, PONG
- Stephanie Hagemeister -- ICM Week 4, Memories in Time
- Azalea Vaseghi -- Make it Raaaaaaiiiiin reworked
-
TEST YOURSELF: Complete Quiz 3
-
DO: In general this week, you should work with rule-based animation, motion, and interaction. You can use the ideas below or invent your own assignment. Start by working in pairs as below. Can you divide an idea into two parts and combine those parts? Can you swap sketches and riff of of your partner's work? You can post together or break off and complete the assignment individually.
- Try making a rollover, button, or slider from scratch. Compare your code to the examples on github. Later we'll look at how this compare to interface elements we'll get for free from the browser.
- Create an algorithmic design with simple parameters. (One example is 10PRINT, example code).
- Tie the above two together and have an interface element control the visual design or behavior of other elements in your sketch.
-
READ / WATCH
- Videos 5.1-5.4 in the learning p5.js series.
- Getting Started with p5.js chapters 9-10
-
RUN CODE
Questions (example questions)
- Why can't we just use Adobe Dreamweaver to do what we do in p5? Isn't there any easier way to do all of this?!
- I used the round function in my rework of my partners sketch, but the reference page did not have any information on how it works. Does it round up? round down?
- Is there a way to change the background without erasing previously drawn shapes?
- Your Name -- [Title of Blog Post](Link to Blog Post), [Title of Sketch](Link to Sketch) -- any other comments
- Kathy Wu – blog pt. 1, my sketch, blog pt. 2, azalea's sketch
- Marco Wylie -- ICM - Week 3, Week 3 HW, Week3 HW1-Eva & Marco
- Jesse Simpson -- Sketch trade - blog, Partner edit
- Yifan Liu -- ICM Week 3, Play Button,WK3 HW: Slider Edited
- Kimberly Lin -- ICM Week 3, Rainbow Polka Dots, original sketch
- Beverly Chou -- ICM Week 3 - Pt. 1, ICM Week 3 - Pt. 2, Color Slider, Chengchao's sketch with color
- Effy Fan -- ICM week 3, Deciduous Leaves
- Aidan Nelson -- A/C Power & Sharing Code, A/C Visualizer, My Version of Effy's Code!
- Hye Ryeong Shin -- ICM week 3: Slider, ICM week 3: Partner Swap, Hexagon Slider, Yifan's Sketch Changed!
- Haiyi Huang -- repetition and interaction,Partner Swap with Kim
- Joohyun Park -- ICM week3, Matrix, Beverly's sketch on color slider
- Azalea Vaseghi -- ICM Week 3, BlackSol
- Yeonhee Lee -- ICM Week 3, Fractal, Jesse's Sketch
- Chengchao Zhu -- ICM Week 3-1, ICM Week 3-2, Slider, Joohyun's sketch
- Eva Chen -- ICM Week 3, ICM Week 3-button, Marco's Sketch
- Stephanie Hagemeister -- ICM Week 3 - My sketch, Simon's sketch
- Simon Jensen -- ICM Week 3,flower,Slider
-
LINKS FROM CLASS:
-
TEST YOURSELF: Finish the In-Class Quiz Post a url to your sketch on the Google Doc.
-
REVIEW - If you haven't already...
- Variables videos 2.1-2.3 and 1st half of Chapter 4 of Getting Started with p5 (up to Example 4-5).
- map() and random() videos 2.4 - 2.5
- DO: Create a sketch that includes (all of these):
- One element controlled by the mouse.
- One element that changes over time, independently of the mouse.
- One element that is different every time you run the sketch.
- e.g. Try refactoring your Week 1 HW by removing all the hard-coded numbers except for createCanvas(). Have some of the elements follow the mouse. Have some move independently. Have some move at random.
- e.g. Do the above but change color, alpha, and/or strokeWeight instead of position.
- Or do something completely different!
- READ AND WATCH:
- RUN CODE:
- Video Examples: 3.1-4.2
- Getting Started with p5 Examples: 04, 05, 06, 08.
- Learning Processing Examples: [chp03-06] (https://github.com/shiffman/LearningProcessing-p5.js)
- Animation examples from ICM 2015
Questions (example questions)
- Why would you use x++ instead of x = x + 1?
- Why does it matter that certain words are capitalized in parenthesis? e.g. angleMode(DEGREES)
- It is possible to make more wavy/curvy movements?
- Aidan - How to keep track of / redraw multiple objects generated by user?
- Your Name -- [Title of Blog Post](Link to Blog Post), [Title of Sketch](Link to Sketch) -- any other comments
- Chengchao Zhu -- ICM week 2, Kill the orange
- Haiyi Huang -- ICM week 2, GalaxyPulse
- Yeonhee Lee -- ICM Week 2, A Bird
- Marco Wylie -- ICM - Week 2, tired sad bot with frills
- Stephanie Hagemeister -- ICM - week 2,Phi-chedelic Spiral
- Simon Jensen -- ICM - Week 2, adjustable shape
- Jesse Simpson -- ICM - Week 2, bouncing stroke
- Joohyun Park -- ICM Week 2, Annoying Friends
- Yifan Liu -- ICM Week 2, Self Portrait Animated
- Beverly Chou -- ICM Week 2, Fly A Kite!
- Kathy Wu -- ICM Week 2, banana death
- Maria Shin -- ICM Week 2, Sunset/Sunrise
- Kimberly Lin -- ICM Week 2, neon aquarium
- Azalea Vaseghi -- ANIMATED RICK!
- Aidan Nelson -- ICM Week 2, Balloon Game
- Eva Y Chen -- ICM Week 2, Snowman
- Effy Fan -- ICM week 2, Color Illusion
-
LINKS FROM CLASS:
-
SET UP:
- Sign up a p5.js web editor account
- Sign up for the ITP ICM Google Group
- Sign up for our ICM Section's Announcement List
- Sign up for a Github Account. You need it to edit this wiki page.
-
DO:
- Complete questions 2 and 3 of the Week 1 Quiz and paste a link to your sketch in the Google Doc.
- Create your own screen drawing: self-portrait, alien, monster, etc. Use only 2D primitive shapes – arc(), curve(), ellipse(), line(), point(), quad(), rect(), triangle() – and basic color functions – background(), colorMode(), fill(), noFill(), noStroke(), stroke(). Remember to use createCanvas() to specify the dimensions of your window. Here's an example: Zoog
- Write a blog post about how computation applies to your interests. This could be a subject you've studied, a job you've worked, a personal hobby, or a cause you care about. What projects do you imagine making this term? What projects do you love? (Review and contribute to the ICM Inspiration Wiki page. In the same post (or a new one), document the process of creating your sketches. What pitfalls did you run into? What could you not figure out how to do? How was the experience of using the web editor? Did you post any issues to github?
-
READ AND WATCH:
- Videos 1.1 - 1.3 -- note these were recorded last year and reference the desktop editor which we are no longer using this semester.
- After you do your homework, watch 2.1 - 2.3.
- If the YouTube ads / format bother you, please contact [email protected] for a link to a shared google drive folder.
- If you prefer books, I suggest Chapters 1-4 of Getting Started with p5.js. If you are logged into the NYU network you can read it via safari books online.
-
TRY RUNNING CODE:
- Try running the example code for Shiffman's videos. Chapters 1-4
- Try running example code for Getting Started with p5.js book. Chapters 2-4
- To run examples. Copy and paste the code from the .js file into a new sketch in your web editor and hit the Play button.
-
ASK QUESTIONS: Contribute at least 1 question below. (Name optional.)
Questions | Examples
- Question...
- What is the axis that something rotates around? And how can you use translate() to fix that without wrecking the rest of the drawing?
- How can I create repeating patterns/shapes without using several shape functions and individually placing them? Can I use some kind of loop function?
- Is there a grid function that can be laid out on the canvas as a temporary ruler so that you can locate x & y points with greater ease?
- Is there a way to create gradation in color within a shape?
- How do you start and stop an arc at different points along a circle using PI, HALF_PI, QUARTER_PI, and PI_TWO?
- Can I make the first two parameters of rect() as the lower-right corner of the shape when I draw it?
- Your Name -- [Title of Blog Post](Link to Blog Post), [Title of Sketch](Link to Sketch) -- any other comments
- Haiyi Huang -- Computational Media 101: Week One!, Put My Glasses On!
- Azalea Vaseghi -- ICM Week 1, RICK!
- Aidan Nelson -- p5.js Drawing, Eagle Eyes
- Simon Jensen -- ICM blogpost week 1, Alien
- Chengchao Zhu -- ICM WEEK ONE, The Face
- Kimberly Lin -- ICM Week 1, mini aquarium
- Kathy Wu -- ICM Week 1,Inspiration,nyan nyan nyan
- Yeonhee Lee -- ICM Week 1, Miozio
- Yifan Liu -- ICM Week 1, Self Portrait
- Beverly Chou -- ICM Week 1, Flower
- Marco Wylie -- ICM Week Uno, Tired Sad Bot
- Hye Ryeong Shin -- ICM Week 1, Mommy Alien
- Joohyun Park -- ICM Week 1, Curious Alien
- Stephanie Hagemeister -- ICM Week 1, Wolfie
- Eva Chen -- First Glimpse of Code, Pizza
- Effy Fan -- ICM week 1, SpongeBob
- Jesse Simpson -- ICM week 1, Aging Alien
-
TEST YOURSELF
- Complete the Quiz
-
DO: The idea this week is to explore re-organizing your code. It is 100% legitimate to turn in a version of a previous assignment where nothing changes for the end user, but the code has been restructured. You may, however, choose to try a new experiment from scratch. Aim to keep
setup()
anddraw()
as clean as possible, and do everything (all calculations, drawing, etc.) in functions that you create yourself. Possibilities (choose one or more):- Reorganize "groups of variables" into objects.
- Break code out of
setup()
anddraw()
into functions. - Use a function to draw a complex design multiple times with different arguments.
- If you are feeling ambitious, try embedding a function into an object.
-
READ / WATCH
- Getting Started with p5.js chapters 10-11
-
Examples