AXM-E7001 - Computational Art and Design, Lecture, 4.9.2023-1.12.2023
Kurssiasetusten perusteella kurssi on päättynyt 01.12.2023 Etsi kursseja: AXM-E7001
Osion kuvaus
-
The instructions, schedule and materials for the advanced group of the course can be found on this page. We'll use Processing for this track, so if you're using your own laptop – highly recommended – download the tool before we start and make sure it works. Thursday and Friday computer classroom sessions will be held at M102 unlike the Monday lectures. Note that there are no lectures on workshop weeks.
Schedule
- Sep 7: Arrangements, setting up, basic graphics in Processing
- Sep 8: Variables and basic types, type conversion, comments
- Sep 14: Math in processing, Interactive sketches with mouse, formatting
Homework: Modify the smiley face sketch so that the face moves with the mouse cursor. If you lost yours, use this. Solution. - Sep 15: *** No lecture, Markku in a conference ***
- Sep 21: Flow control: if, if-else, switch-case
Homework: Draw squares for each frame at mouse coordinates so that the colors follow the flag of Belgium. Extra challenge: solve it with switch-case. Solution and another. - Sep 22: Flow control: for, while and do-while loops, nested loops
Homework: Make a grid of 10x10 white squares. The square under the mouse cursor should be red. Expected outcome. Solution. - Sep 28: Arrays, arrays with loops
Homework: Make an int array containing:
100,100,#ff0000, 500,200,#00ff00, 300,500,#0000ff, 200,400,#808080
Plot the data using a loop. Expected outcome. Solution 1 and solution 2. - Sep 29: Functions: parameters and return values (recursion, if time allows)
Homework: Smiley face once more. Make a function smiley() that lets you plot the face at given x,y location. Call it from draw() with mouse coordinates when the button is pressed. Expected outcome. Solution.
- Oct 5: Dealing with text: displaying, searching and joining Strings. Random numbers.
Homework: Make a little creative experiment using text and random numbers. - Oct 6: Basics of object-oriented programming
Homework: make a class called Cat and two cat objects that can display themselves. They follow the mouse pointer around. Something like this. Solution. - Oct 12: More advanced object-oriented programming, inheritance and protecting members
- Oct 13: Callbacks, images, recap of the 1st part
Homework: Make a little creative experiment using PImages. Extra challenge: make the rubber band selection work in all directions. - Oct 26: Text file input and output, splitting and trimming
Homework: Solve the mystery. Solution. - Oct 27: Data structures: lists, trees, hash tables.
Homework: Let the user draw with the left mouse button. Store the coordinates in a list. Key 'u' should work as undo and remove the last dot. Expected outcome. Solution.
- Nov 2: Sorting strings, numbers and objects, making an object list. Online on Zoom 10:15, see your email/announcement forum.
Homework: read in the list of famous Western actors and display it in the sketch window in an alphabetical order. Expected outcome. Solution. - Nov 3: Distances, angles and circles, affine transformations. Online on Zoom 10:15, see your email/announcement forum.
Homework: download arrows.pde and add transformations so that you get this out. Solution. - Nov 9: More transformations,
vectors and matrices. Online on Zoom 10:15, see your email/announcement forum. - Nov 10: Direct pixel access. Online on Zoom 10:15, see your email/announcement forum.
Homework: display Bub and Bob in a window of 600x600 pixels using direct pixel access (PImages have loadPixels and pixels[] too). Expected outcome. Solution. - Nov 16: Hex, binary and decimal numbers, logical operations on pixels. Online on Zoom 10:15, see your email/announcement forum.
Homework: invert archery.png colors using pixel-level operations. Expected outcome. Solution. - Nov 17: Video input, built-in and own filters. Online on Zoom 10:15, see your email/announcement forum.
- Nov 23: Loading and playing back audio, sound synthesis. Note frequencies.
- Nov 24: More sound synthesis. Online on Zoom 10:15, see your email/announcement forum.
- Nov 30: Conway's Game of Life simulation. Online on Zoom 10:15, see your email/announcement forum.
Extra homework: try to make the neighbors() logic for life.pde using loops instead.
- Dec 1: Wrapping up, what's next? Online on Zoom 10:15, see your email/announcement forum.
Links
- Processing.org – tutorials, downloads and the reference guide
- Course folder for examples, data files and so on
- Java reference – more complete documentation of types and Java APIs
- Introduction to Creative Coding – we'll use some of the materials from the old course
- Khan Academy's interactive programming tutorials