# Introduction to Computational Media

**NOTE*****:** We are currently in the process of making this curriculum into Version 2.0, which aligns more closely with more of the NYS Computing Standards. Version 2.0 is still under construction but* [*materials are viewable via this link*](https://cs4all-icm.gitbook.io/js-intro-to-computational-media-2.0/)*.*

***If you are viewing Version 1.0 Curriculum from Github, we certainly recommend*** [***viewing on the much prettier Gitbooks***](https://cs4all-icm.gitbook.io/introduction-to-computational-media-curriculum/)***.***

This curriculum was developed by the [NYCDOE CS4All](http://cs4all.nyc/) academics team (José Olivares, EJ Park) with lead writer [Luisa Pereira](http://www.luisapereira.net/). Additional contributors to the curriculum include Courtney Morgan 🙆‍♀️ & José Orea (teacher implementation guide and additional activities), Esther Hersh, and the [Processing Foundation](https://processingfoundation.org/). Curricular reorganization, rewrites, and extras developed by Courtney Morgan. All lessons are licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International license License: CC BY-NC-SA 4.0. For more info on the limitations and use of materials under this license please click [here](https://creativecommons.org/licenses/by-nc-sa/4.0/).

### AP CSP and ICM

While this is an introductory computer science course, it can serve as a terrific AP Computer Science Principles Prep course. Please use the guides below to assist if you are a teacher whose students will eventually take AP CSP, or who is just looking to broaden the content covered within this course:

* [AP CSP/ICM Companion Guide](https://docs.google.com/document/d/1ci--4DONVH2xYddqeAq8F4_RmlgBY_Tvug56ueWhBj0/preview) (DRAFT - sorry for the mess!)
* [Social Implications of Computing Companion Guide](https://docs.google.com/document/d/1GVzOsjulSYxlEj51HJCFeo64VuXrf3aHdA2zH4X8cv8/preview) (DRAFT - sorry for the mess!)

### Curriculum Materials on Peblio

If you use the Peblio Platform, you can find all teacher-facing lessons and materials for the ICM curriculum below. You can find the student-facing version of worksheets [here](https://nycdoe-cs4all.github.io/index.html).

* [Unit 1: Drawing, Variables, Random](https://demo.peblio.co/profile/CS4ALL/folder/rkzenSqzN)
* [Unit 2: Respond && Draw](https://demo.peblio.co/profile/CS4ALL/folder/B1mL8C2Q4)
* [Unit 3: Loops, Arrays, Media](https://demo.peblio.co/profile/CS4ALL/folder/ry7OAk22N)
* [Unit 4: Motion && Animaton](https://demo.peblio.co/dashboard/CS4ALL/folder/Bya9TUrVI)
* Unit 5: Functions && Abstraction

Peblio pages contain executable code, text, slides, videos and more. They are useful for creating and sharing programming worksheets and documenting programming projects. See this guide for detailed instructions:

* [Peblio Guide](https://demo.peblio.co/pebl/XeJAt6pVQ)
* [Uploading Images in Peblio](https://demo.peblio.co/pebl/5qrWMaoi6)
* [Loading Gifs in p5](https://demo.peblio.co/pebl/b6F-rrWDF)

### Class Resource Examples

* [Sample Introductory Survey](https://docs.google.com/forms/d/1pzjxSHfZz4eSeGgvQJ-WEsx4pYlZ4Zk5ChxqCUhQxcQ/viewform?edit_requested=true) (Courtney Morgan)
* [Sample Quiz](https://docs.google.com/document/d/1UsYGa4Z0lrX5ImtD0QoF6aSzN5FyVdvR5ofvlQOMMEk/edit) (Courtney Morgan)
* [Sample Rubric](https://docs.google.com/document/d/1p8NR5mL1rEK0HZA25bN-7Jb5zITPiu6dTIn-yCsgEgs/edit) (Courtney Morgan)

### Instructional Videos

* [Computer Science with Ms. Morgan](https://www.youtube.com/channel/UCzotTG3ao_SipHcrhKGeScQ) - *most of the ICM curriculum presented as YouTube videos, modified for and filmed during pandemic remote learning.*
* [The Coding Tr](https://www.youtube.com/playlist?list=PLRqwX-V7Uu6Zy51Q-x9tMWIv9cueOFTFA)[ain](https://www.youtube.com/playlist?list=PLRqwX-V7Uu6Zy51Q-x9tMWIv9cueOFTFA) - *The coding train is an amazing resource for p5 instructional videos. Dan Shiffman is amazing and you can learn anything from his channel.*
* [Intro to p5 Learning Playlist](https://www.youtube.com/playlist?list=PLRqwX-V7Uu6Zy51Q-x9tMWIv9cueOFTFA)

### Additional Tools

* [Code-it:](#ap-csp-and-icm) A block language based on p5
* [Open Processing](https://www.openprocessing.org/): A web editor with a lot of cool examples from the community
* [Codepen](https://codepen.io/): A front end web editor with cool examples (although mostly not p5)
* [Repl.it:](https://repl.it/) An online web editor for any language with classroom tools

### Additional Workshops && Tutorials

* Meme Generator: Build a randomized meme generator in p5 -[Tutorial](https://demo.peblio.co/pebl/qsH5OOeV3)
* Generative Portraits: upload images and generate portraits with p5 shapes and the .get function -[Worksheet](https://demo.peblio.co/pebl/c3fUnHI9v)
* Changing faces conditionals practice -[Worksheet](https://demo.peblio.co/pebl/r_n96oWxQ)
* Happy Coding Intro to Coding with p5.js and Processing -[15-week Curriculum](https://happycoding.io/teaching/guides/semester)

### Getting Started with p5 Projects

*These projects help you get up and running with p5 very quickly. They include instructions, videos and sample code. You can create the projects in the Peblio workspace as you watch these videos. They are not classroom resources, but resources to help you build your comfort level with p5.*

* [Project 1: Drawing Apps](https://demo.peblio.co/pebl/Muth86erj)
* [Project 2: Generative Design](https://demo.peblio.co/pebl/xtShIBrtc)
* [Project 3: Game Design](https://demo.peblio.co/pebl/oqwx-4Zz7)

### Interactive Art: Hour of Code in p5.js

*This hour of code activity introduces drawing with p5 and system variables mouseX and mouseY. If you change the sequence and teach colors after shapes followed by system variables, this is a great project option.*

* [Hour of Code Page](https://www.peblio.co/hour-of-code)

### Communities

* [Facebook group for Processing and p5.js users](https://www.facebook.com/search/top/?q=creative%20coding%20with%20processing%20and%20p5.js\&epa=SEARCH_BOX)
* [Processing Discourse discussion group](https://discourse.processing.org/)
* [NYC DOE CSforAll Teacher Slack group](https://join.slack.com/t/cs4allteachers/shared_invite/enQtMzIwODg0NjEyMzg2LWNhNTI0ODk1N2RkNTQwODMxMTNhYjE1ZWYyMzZiNjM5MDRjZTQ5NTNlMGI5MjQ0OGY1MjQ2ODc0MDcwZGY2YTI)

### Opportunities

* [Hackathons for High Schoolers](https://hackathons.hackclub.com/)
* [Built by Girls Events](https://www.builtbygirls.com/events-calendar)
* [Wave: Built by Girls Mentorship Program](https://www.builtbygirls.com/about-wave)
* [CS Ed Week](https://csedweek.org/)
* [AI for All Summer Programs](http://ai-4-all.org/summer-programs/)
* [All Start Code: Summer program](https://www.allstarcode.org/)
* [Google Open Source Coding Challenge](https://codein.withgoogle.com/archive/)
