#pragma section-numbers 2 = Creative Programming Assignment 201211 = * Please read AssignmentDescription. * /!\ Please follow the instructions below carefully. It will save us a lot of time. * For your convenience, please buy a copy of ''Getting Started with Processing'', by By Casey Reas, Ben Fry. e-Books and hard copies are available from [[http://shop.oreilly.com/product/0636920000570.do|O'Reilly]] * Before the first lecture, Please download and [[#installProcessing|install Processing]] on your laptop. * Always bring with you your laptop, with fully charged batteries and power cables. * For the workshops in week 5 and 6, please bring your Arduino starter kit to the class. your kit shall include at least the following: * Arduino board * USB cable * two push buttons * a bread board * a 10K ohm resistor * a light sensor (LDR or Light Dependent Resistor) * a few color leds * a few jumper wires <> == Summary of the structure == * This assignment takes seven weeks. Each week has: * a two hour lecture, * a two hour workshop, * and 12 hour self study tasks. * Exercises given by the lecturers, * Two challenges. One for the first four weeks and the other for the last three weeks. Your result of the challenge will be exhibited or presented during a scheduled workshop. * All the assigners and the students will visit the exhibition and give comments to each other. * Some of the results will be selected for plenary presentation. === Challenges === Challenge 1:: Individual task. Creating static visual arts. At the end of this part, every student is expected to be able to * create an artistic poster that demonstrates beauty and complexity, using Processing * print the result and present it on a foam board (A3 only please), for the exhibition in the fourth week. * Examples for inspiration [[attachment:examples.jpg|{{attachment:examples320.jpg}}]] * What to be delivered: * Source code. Please zip the sketchbook and deliver the zip file. Please use the [[http://en.wikipedia.org/wiki/Zip_(file_format)|zip format]] only. * PDF of the print. Challenge 2:: Individual task. Anything creative and interesting, utilizing the knowledge learned from the lectures and the workshops. An interactive application that uses both Processing and Arduino is preferred. * What to be delivered: * Source code. Please zip the sketchbook and deliver the zip file. Please use the [[http://en.wikipedia.org/wiki/Zip_(file_format)|zip format]] only. * A TXT file including a link to a YouTube video that demonstrates the interactivity. We would expect a good quality video. Please include the link in a [[http://en.wikipedia.org/wiki/Text_file#.TXT|plain text file with an extension “.TXT”]]. The video shall be titled as {{{ CreaPro 2012: by }}} Please also include a brief description (in the TXT file as well as on YouTube) about the concepts behind your video and the implementation techniques. Tag your video with “creapro”. == Schedule == || '''Week''' || || '''Lecture''' 13:45 t/m 15:30; PAVILJOEN J17 || || '''Workshop''' 10:45 t/m 12:30; AUDITORIUM 12 || || 1 || 12-11-2012 || Introduction, by Rene Ahn || 15-11-2012 || Using Libraries, by Mathias Funk and Rene Ahn|| || 2 || 19-11-2012 || Variables and Flow Control, by Rene Ahn || 22-11-2012 || Graphics, by Mathias Funk and Loe Feijs || || 3 || 26-11-2012 || Arrays and Functions, by Mathias Funk || 29-11-2012 || Multimedia, by Mathias Funk || || 4 || 03-12-2012 || Algorithms and Data Structures, by Loe Feijs || 06-12-2012 || Exhibition of Challenge 1 || || 5 || 10-12-2012 || Object Orientation, by Loe Feijs, Jun Hu and Rene Ahn || 13-12-2012 || Arduino and Serial Communication, by Jun Hu and Rene Ahn|| || 6 || 17-12-2012 || GUI and Interactivity, by Jun Hu || 20-12-2012 || Internet (of Things), by Peter Peters and Mathias Funk || || 7 || 07-01-2013 || Beyond Processing, by Jun Hu || 10-01-2013 || Exhibition of Challenge 2 || === Week 1 === ==== Lecture: Introduction ==== * [[attachment:Introduction.pdf]] ==== Workshop: Using Libraries ==== * [[attachment:UsingLibraries.pdf]] === Week 2 === ==== Lecture: Variables and Flow Control ==== * [[attachment:VariablesAndFlowControl.pdf]] ==== Workshop: Graphics ==== * [[attachment:Graphics.pdf]] * [[attachment:Graphics_Exercises.zip]] === Week 3 === ==== Lecture: Arrays and Functions ==== * [[attachment:ArraysAndFunctions.pdf]] (just slides 1 - 24, the rest comes next week) * [[attachment:ArraysAndFunctions_examples.zip]] the introductory examples with the turning rectangles * [[attachment:DrawingCreatures.zip]] the example with the two "birds" ==== Workshop: Multimedia ==== * [[attachment:Multimedia_examples.pdf]] (no slides, only Processing code) * we were aiming at something like this: <> === Week 4 === ==== Lecture: Algorithms and Data Structures ==== * [[attachment:AlgorithmsAndDataStructures.pdf]] * [[attachment:AlgorithmsAndDataStructures_examples.zip]] ==== Exhibition of Challenge 1 ==== === Week 5 === ==== Lecture: Object Orientation ==== * [[attachment:ObjectOrientation.pdf]] * [[attachment:ObjectOrientation_examples_Cars.zip]] * [[attachment:ObjectOrientation_examples_Earth.zip]] * [[attachment:ObjectOrientation_examples_EPD.zip]] * [[attachment:ObjectOrientation_examples_Planets.zip]] ==== Workshop: Arduino and Serial Communication ==== * [[attachment:ArduinoAndSerialCommunication.pdf]] * Download and [[#installArduino|install Arduino]] on your laptop * Book: [[attachment:GSArduino.pdf|Getting started with Arduino]] === Week 6 === ==== Lecture: GUI and Interactivity ==== * [[attachment:GuiAndInteractivity.pdf]] * [[attachment:GUIExamples.zip]] * You need to download and install the controlP5 library for Processing: [[http://www.sojamo.de/libraries/controlP5/]]. Notice that if you are using Processing 1.5.1, you have to download and install an earlier version of the controlP5: controlP5-1.5.2.zip from [[http://code.google.com/p/controlp5/downloads/list]]. ==== Workshop: Internet (of Things) ==== * [[attachment:IoT.pdf]] * [[attachment:IoTExamples.zip]] === Week 7 === ==== Lecture: Beyond Processing ==== * From Processing to Java: [[http://www.eclipse.org]] * Processing for Arduino: [[http://wiki.processing.org/w/Android]] * From Processing to C++: OpenFrameworks: [[http://www.openframeworks.cc/]]; [[http://www.openframeworks.cc/tutorials/]] ==== Exhibition of Challenge 2 ==== <> == Deliverables == * '''For ALL students''': * Attach all your deliverables to an email, send it to <>, including: * ZIP file of the source code from Challenge 1. * PDF from Challenge 1. * ZIP file of the source code from Challenge 2. * TXT file containing the YouTube link from Challenge 2. * '''For ID students: Feedback request''' after the assignment, '''in addition to the deliverables to the above gmail account''': * Please send your request '''ONLY''' to one of the assigners, according to this [[attachment:RegistrationList.xls]] Excel sheet or in PDF format [[attachment:RegistrationList.pdf]]. * '''Attach all your deliverable to the request'''. Including: * ZIP file of the source code from Challenge 1. * PDF from Challenge 1. * ZIP file of the source code from Challenge 2. * TXT file containing the YouTube link from Challenge 2. <> == Installing Processing == 1. [[http://processing.org/download/|Download processing]]. Please make sure you are downloading the latest '''stable''' release. There are two versions, one with Java, one without. If you are not sure, download the one '''with''' Java. * For those who know what the JDK is and wants to install Processing along with JDK: You need x32 version of the JDK no matter whether you are running an x32 or x64 system. * If you don't understand what the above comment is about, download the one '''with''' Java. 1. Create a directory "Programs" on the C: disk, in the root. If "C:\Programs" exists already, skip this step. 1. Extract the entire directory to C:\Programs (note, not "C:\Program Files"). if you are reinstalling Processing, remove the entire processing directory first. 1. Create a shortcut on your desktop to "Processing.exe" for easy access. <> == Installing Arduino == 1. Download [[http://www.arduino.cc/ | Arduino software]]; 1. Extract the entire directory to C:\Programs (note, not "C:\Program Files"). if you are reinstalling Arduino software, remove the entire arduino directory first. 1. Create a shortcut on your desktop to "Arduino.exe" for easy access. 2. Install necessary Arduino drivers. Follow the instructions in page 23, Chapter 3 of [[attachment:GSArduino.pdf|Getting Started With Arduino]] == Installing Processing == == If you have questions or if you need help == * The assigner will announce a help hour during his lecture. * The assigner will be available during this hour only if one or more of you make an appointment.