12-Week p5js course

This coding course is generally meant to introduce you to programming and some possibilities for you to use it in your future life. In particular, you will become basically familiar with the p5js library, which among other things will give you a tool to exercise your creativity and make pictures.

We hope that by taking part in the course, you will (further) develop your ability to see and think about the world in a different way. This will help you with overcoming challenges and novel situations in your future life. You may also find that you develop interest in further learning programming and wish to continue down that path in the future.

As with learning in any new field, subject, or language, you may face difficulties in the beginning which makes you want to give up. You may start to think that maybe you are not “smart” enough to learn, or maybe you are just not born to do programming. Don't worry and don't give up. The teaching assistants and teacher also started from 0, and are happy to assist you when you need help.

At the end of this course, you will be able to command your computer to create a visual image you imagined in your head. Your improvements and your final product will be documented on our group wiki site, and you will receive a certificate to document your learning as well. Most importantly, you will gain a new sense of self-achievement from being able to successfully acquire a new skill.

Good luck.

In the lessons below, important terminology will be labeled in pink, like this. We'll also link them to Wikipedia or other references as much as we can. There are certain words that the JavaScript programming language reserves for its use. These words have a special meaning in JavaScript, and when we talk about them in the lesson we'll display them in yellow, like this.

You will want to get familiar with this editor.

https://editor.p5js.org/

It'd be a good idea to go there and create an account. Copy code over from any example, run it, and change it freely!

  1. week 01: using the console, using variables, calling and making functions, strings , order of execution, using the wiki, screenshots; p5js: 01. using the p5js editor, setup, draw, shapes (rect, ellipse), coordinates, sizes, fill, stroke, color picker
  2. week 02: length, booleans, equality, equality vs. assignment, greater/less than, Math.random; p5js: background, RGB colors, HSL color, mouseX, mouseY, text, triangle, making a function called earth, embedding in the wiki
  3. week 03: increment, reassigning a variable, for loop; p5js: using a for-loop for drawing, remainder (especially used for looping)
  4. week 04: array, index, push, pop, concat, Math.floor, pick; p5js: translate, rotate, resetMatrix
  5. week 05: buildArray, arrow functions; p5js: line, begin/end shape
  6. week 06: using objects, class, property, method, forEach, Point class; p5js: using the Point class to draw
  7. week 07: making your own class 2, map; p5js: a better shape function, drawing with your own class 2
  8. week 08: making your own class 3, filter; p5js: drawing with your own class 3
  9. week 09: review
  10. week 10: making your own class and drawing with it 4
  11. week 11: if statement 1, more about forEach (two-argument callbacks)
  12. week 12: if statement 2: else and else if, includes
  1. supplement 01: sharing code, open source software
  2. supplement 02: hosting your sketches on a local server
  3. supplement 03: making interactive sketches
  4. supplement 04: manipulating photos in p5js
  5. supplement 05: combining interactivity and photos in p5js
  6. supplement 06: the basics of sound in p5js
  7. supplement 07: using the webcam in p5js
  • 12-week-p5js.txt
  • Last modified: 9 days ago
  • by renick