# \[1.0 JS] Introduction to Computational Media

## \[1.0 JS] Introduction to Computational Media

- [Introduction to Computational Media](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/readme.md): A High School Computer Science Curriculum using p5.js
- [How to Use this Curriculum](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/how-to-use-this-curriculum.md): A Brief Overview on how to read the resources
- [Submit Feedback](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/submit-feedback.md): Found a problem? Have a question or comment? We would love to hear about it!
- [Curriculum Extras Overview](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/curriculum-extras/curriculum-extras-overview.md): Extra and optional lessons for the Introduction to Computational Media Curriculum
- [Imposter Syndrome (pt. 1)](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/curriculum-extras/imposter-syndrome-pt.-1.md): What is Imposter Syndrome, and how can I combat it?
- [Imposter Syndrome (pt 2)](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/curriculum-extras/imposter-syndrome-pt.-1/imposter-syndrome-pt-2.md): How can we design applications to combat imposter syndrome?
- [Timers in p5.js](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/curriculum-extras/timers-in-p5.js.md): How can I create simple timers using p5.js functionality?
- [Time Functions: Crazy Clock Mini Project](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/curriculum-extras/time-functions-crazy-clock-mini-project.md): How can I get data from functions that track time?
- [Using Sliders](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/curriculum-extras/using-sliders.md): How can I use sliders to control elements of my program?
- [Getting Sound from Mic](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/curriculum-extras/getting-sound-from-mic.md): How can user generated sound control program elements?
- [Sound Recognition with ml5](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/curriculum-extras/sound-recognition-with-ml5.md): How can I use machine learning to recognize sound?
- [Unit 1 Overview](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/unit-1-drawing-variables-and-random/unit-1-overview.md): Essential question: How can code be used as a creative and expressive medium?
- [U1LA1.1 p5.js Introduction & Deconstruction](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/unit-1-drawing-variables-and-random/u1la1.1-p5.js-introduction-and-deconstruction.md): How can we break down a robot into basic shapes in p5.js?
- [U1LA1.2 Line Functions and Parameters](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/unit-1-drawing-variables-and-random/u1la1.2-line-functions-and-parameters.md): How do the parameters of function effect positioning on the p5 canvas?
- [U1LA1.3: Rectangles, Ellipses, and Layering](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/unit-1-drawing-variables-and-random/u1la1.3-rectangles-ellipses-and-layering.md): How can we use shape functions to create images?
- [U1LA1.4 Various Shapes, Stroke, Weight, Fill](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/unit-1-drawing-variables-and-random/u1la1.4-various-shapes-stroke-weight-fill.md): How can we use shape functions to create images?
- [🗃U1LA1 Mini Project: Taijitu Symbol](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/unit-1-drawing-variables-and-random/u1la1-mini-project-taijitu-symbol.md): How can code be used as a creative and expressive medium?
- [U1LA2.1 Intro to Variables - System Variables](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/unit-1-drawing-variables-and-random/u1la2.1-intro-to-variables-system-variables.md): How can we utilize p5.js system variables?
- [U1LA2.2 Custom Variables in p5.js](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/unit-1-drawing-variables-and-random/u1la2.2-custom-variables-in-p5.js.md): How can I create custom values to hold values in my p5.js projects?
- [U1LA2.3 Random Function & Variables](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/unit-1-drawing-variables-and-random/u1la2.3-random-function-and-variables.md): How can we use the random function to generate different designs?
- [🗃U1LA2 Mini Project: Custom Emoji pt. 1](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/unit-1-drawing-variables-and-random/u1la2-mini-project-custom-emoji-pt.-1.md): What message does your emoji convey?
- [U1LA.3.1 Intro to Color](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/unit-1-drawing-variables-and-random/u1la.3.1-intro-to-color.md): How do computers mix colors?
- [U1LA3.2: RGB vs HSB Color Modes](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/unit-1-drawing-variables-and-random/u1la3.2-rgb-vs-hsb-color-modes.md): How can I represent colors in a mode other than RGB?
- [U1LA3.3 Color Palettes & Design](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/unit-1-drawing-variables-and-random/u1la3.3-color-palettes-and-design.md): What are our best practices for working with color?
- [🎨 Unit 1 Final Project: Abstract Album Art](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/unit-1-drawing-variables-and-random/unit-1-final-project-abstract-album-art.md): How can I use my skills in p5 to convey a specific mood or theme?
- [Unit 2 Overview](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/unit-2-respond-and-draw-on-canvas/unit-2-overview.md): How can control flow allow for user interactions?
- [U2LA1.1 - Conditionals and if statements](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/unit-2-respond-and-draw-on-canvas/u2la1.1-conditionals-and-if-statements.md): How can we add conditional statements to make our programs more interactive?
- [U2LA1.2 - Conditionals and if, else if, else statements](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/unit-2-respond-and-draw-on-canvas/u2la1.2-conditionals-and-if-else-if-else-statements.md): How can we write multiple conditions to our code?
- [U2LA1.3 - Logical Operators And/Or](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/unit-2-respond-and-draw-on-canvas/u2la1.3-logical-operators-and-or.md): How can logical operations make conditional more interactive?
- [🗃U2LA1 Mini Project: Make a Traffic Light 🚦](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/unit-2-respond-and-draw-on-canvas/u2la1-mini-project-make-a-traffic-light.md): How can I use conditional logic to create a responsive program?
- [U2LA1.4: Draw with Mouse](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/unit-2-respond-and-draw-on-canvas/u2la1.4-draw-with-mouse.md): How can I use built-in variables to create a program that lets the user draw?
- [U2LA1.5: The Map Function](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/unit-2-respond-and-draw-on-canvas/u2la1.5-the-map-function.md): How can the map function help me control a range of values?
- [U2LA2.1 - Collision with Collide2D](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/unit-2-respond-and-draw-on-canvas/u2la2.1-collision-with-collide2d.md): What visual cues tell me where my mouse is?
- [U2LA2.2: Mouse Clicks && Shapes As Buttons](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/unit-2-respond-and-draw-on-canvas/u2la2.2-mouse-clicks-and-and-shapes-as-buttons.md): How can I use mouse clicks in p5.js?
- [🗃U2LA2 Mini Project: Light Switch Game](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/unit-2-respond-and-draw-on-canvas/u2la2-mini-project-light-switch-game.md): Unit 2 Mini Project Light Switch Game
- [U2LA3.1: Key Presses && Nested Conditionals](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/unit-2-respond-and-draw-on-canvas/u2la3.1-key-presses-and-and-nested-conditionals.md): How can I use key presses to control elements of my program?
- [🎨 Unit 2 Final Project: Interactive Drawing App](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/unit-2-respond-and-draw-on-canvas/unit-2-final-project-interactive-drawing-app.md): How can I use my skills in p5 to create a drawing application?
- [🔮 Unit 3 Overview](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/unit-3-arrays-loops-media/unit-3-overview.md): How can sounds, images, and fonts can be combined and manipulated with code?
- [U3LA1.1: While Loops](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/unit-3-arrays-loops-media/u3la1.1-while-loops.md): How can we use iteration to make abstract artwork?
- [U3LA1.2: For Loops Pt 1](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/unit-3-arrays-loops-media/u3la1.2-for-loops-pt-1.md): How can we use iteration to abstract artwork?
- [U3LA1.3: Nested For Loops (For Loops pt 2)](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/unit-3-arrays-loops-media/u3la1.3-nested-for-loops-for-loops-pt-2.md): How can we use iteration to abstract artwork?
- [🗃U3LA1 Mini Project: Wallpaper Design](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/unit-3-arrays-loops-media/u3la1-mini-project-wallpaper-design.md): How can sounds, images, and fonts be combined and manipulated with code?
- [U3LA2.1: Introduction to Arrays](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/unit-3-arrays-loops-media/u3la2.1-introduction-to-arrays.md): How can arrays help us simplify code?
- [U3LA.2.2: Arrays with floor() and random()](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/unit-3-arrays-loops-media/u3la.2.2-arrays-with-floor-and-random.md): How can arrays help us simplify code?
- [🗃U3LA2 Mini Project 1: Fortune Teller](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/unit-3-arrays-loops-media/u3la2-mini-project-1-fortune-teller.md): How can arrays help us simplify code?
- [U3LA2.3: Loops and Arrays](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/unit-3-arrays-loops-media/u3la2.3-loops-and-arrays.md): How can arrays help us simplify code?
- [🗃U3LA2 Mini Project 2: Random Starfield](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/unit-3-arrays-loops-media/u3la2-mini-project-2-random-starfield.md): How can arrays help us simplify code?
- [U3LA3.1: Preload && Images](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/unit-3-arrays-loops-media/u3la3.1-preload-and-and-images.md): How can I utilize the preload function and load images into my program?
- [U3LA3.2: Tint && Image Manipulation](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/unit-3-arrays-loops-media/u3la3.2-tint-and-and-image-manipulation.md): How can I manipulate an image in p5?
- [🗃U3LA2 Mini Project 3: Vision Board](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/unit-3-arrays-loops-media/u3la2-mini-project-3-vision-board.md)
- [U3LA3.3: Images and Arrays with ml5](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/unit-3-arrays-loops-media/u3la3.3-images-and-arrays-with-ml5.md): How can our computer interact with an array of images?
- [U3LA4.1 Fonts && Text Styling](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/unit-3-arrays-loops-media/u3la4.1-fonts-and-and-text-styling.md): How can I use custom fonts and text to enhance my programs?
- [🗃U3LA4 Mini Project 4: Typography](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/unit-3-arrays-loops-media/u3la4-mini-project-4-typography.md): How can type be interactive while conveying mood and meaning in projects?
- [U3LA5.1: Loading & Playing Sound Files](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/unit-3-arrays-loops-media/u3la5.1-loading-and-playing-sound-files.md): How can sounds be embedded with code?
- [🗃U3LA5 Mini Project: Keyboard/Patatap](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/unit-3-arrays-loops-media/u3la5-mini-project-keyboard-patatap.md): How can I create a visual, interactive project with sound?
- [🎨Unit 3 Final Project: Random Meme Generator](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/unit-3-final-project-random-meme-generator.md): How can memes be created by code?
- [🔮 Unit 4 Overview](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/unit-4-motion-animation-transformation/unit-4-overview.md): How can I apply math and computation expressively to create motion graphics?
- [U4LA1.1: Intro to Motion with Flipbooks](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/unit-4-motion-animation-transformation/u4la1.1-intro-to-motion-with-flipbooks.md): How can I move a shape on the x-axis?
- [U4LA1.2: Move In All Directions & Make it Bounce](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/unit-4-motion-animation-transformation/u4la1.2-move-in-all-directions-and-make-it-bounce.md): How can I make objects move in different directions?
- [🗃 U4LA.1: Make a Floating DVD Logo](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/unit-4-motion-animation-transformation/u4la.1-make-a-floating-dvd-logo.md): How can I make objects move in different directions?
- [U4LA2.1: Translation Battleship](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/unit-4-motion-animation-transformation/u4la2.1-translation-battleship.md): How can I move the p5 origin to effect the position of shapes?
- [U4LA2.2: Rotations](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/unit-4-motion-animation-transformation/u4la2.2-rotations.md): How can I make objects rotate?
- [U4LA3.1: Sine & Oscillating Motion](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/unit-4-motion-animation-transformation/u4la3.1-sine-and-oscillating-motion.md): How can I draw with trigonometric functions in p5?
- [U4LA3.2: Cosine & Circular Motion](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/unit-4-motion-animation-transformation/u4la3.2-cosine-and-circular-motion.md): How can I use cosine to create circular motion?
- [🎨 Unit 4 Final Project: Animated Greeting Card/PSA](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/unit-4-motion-animation-transformation/unit-4-final-project-animated-greeting-card-psa.md): How can I showcase my skills in an animated program?
- [🔮 Unit 5 Overview](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/unit-5-functions-and-abstraction/unit-5-overview.md): How can I abstract processes for clarity and reuse?
- [U5LA1.1: What is Abstraction?](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/unit-5-functions-and-abstraction/u5la1.1-what-is-abstraction.md): What is abstraction, and how does it relate to my code
- [U5LA1.2: Intro to Functions & Function Calls](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/unit-5-functions-and-abstraction/u5la1.2-intro-to-functions-and-function-calls.md): What do functions look like in code?
- [U5LA1.3: Draw with Functions](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/unit-5-functions-and-abstraction/u5la1.3-draw-with-functions.md): How can I create a function that will draw a design?
- [🗃 U5LA1 Mini Project: Custom Function Library](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/unit-5-functions-and-abstraction/u5la1-mini-project-custom-function-library.md): How can I utilize functions written by other people?
- [U5LA2.1: Data Type Scavenger Hunt](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/unit-5-functions-and-abstraction/u5la2.1-data-type-scavenger-hunt.md): What are the different types of data used in JavaScript?
- [U5LA2.2: Functions that Return Values](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/unit-5-functions-and-abstraction/u5la2.2-functions-that-return-values.md): How can I write functions that take in numeric inputs and return a value?
- [U5LA2.3: Functions with Purpose](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/unit-5-functions-and-abstraction/u5la2.3-functions-with-purpose.md): How can I abstract processes for clarity and reuse?
- [U5LA2.4: Functions with Boolean Returns](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/unit-5-functions-and-abstraction/u5la2.4-functions-with-boolean-returns.md): How can I create functions that return boolean values for use in my programs?
- [🗃 U5LA2 Mini Project: Build Your Own Challenge](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/unit-5-functions-and-abstraction/u5la2-mini-project-build-your-own-challenge.md): How can I write and document functions or function challenges?
- [🔮 Unit 5 Final Project: Menu of Options](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/unit-5-functions-and-abstraction/unit-5-final-project-menu-of-options.md): How can I showcase what I have learned in this course?
