Differences between revisions 22 and 24 (spanning 2 versions)
Revision 22 as of 2013-03-21 22:46:44
Size: 11967
Editor: 82-170-197-110
Comment:
Revision 24 as of 2015-02-26 20:35:04
Size: 273
Editor: 155
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
#pragma section-numbers 2

= Creative Programming Assignment 201302 =
 * 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

<<TableOfContents>>

== 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 2013: <a meaningful title> by <your names>
}}} 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; METAFORUM ZAAL 08 || || '''Workshop''' 10:45 t/m 12:30; METAFORUM ZAAL 07 ||
|| 1 || 18-02-2013 || Introduction, by Rene Ahn || 21-02-2013 || Using Libraries, by Mathias Funk and Rene Ahn||
|| 2 || 25-02-2013 || Variables and Flow Control, by Rene Ahn || 28-02-2013 || Graphics, by Mathias Funk and Loe Feijs ||
|| 3 || 04-03-2013 || Arrays and Functions, by Mathias Funk || 07-03-2013 || Multimedia, by Mathias Funk ||
|| 4 || 11-03-2013 || Algorithms and Data Structures, by Loe Feijs ||<bgcolor="#E0E0FF"> 14-03-2013 ||<bgcolor="#E0E0FF"> Exhibition of Challenge 1 ||
|| 5 || 18-03-2013 || Object Orientation, by Loe Feijs, Jun Hu and Rene Ahn || 21-03-2013 || Arduino and Serial Communication, by Jun Hu and Rene Ahn||
|| 6 || 25-03-2013 || GUI and Interactivity, by Jun Hu || 28-03-2013 || Internet (of Things), by Peter Peters ||

Week 7:

|| 7 || Easter Monday || No lecture. ||<bgcolor="#E0E0FF"> 04-04-2013 ||<bgcolor="#E0E0FF"> Exhibition of Challenge 2, /!\ 08:45-10:30, in HG4.57 ||

=== 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"

==== Homework: Arrays and Functions (voluntary!!) ====

You wanted more homework / exercise to develop your processing skills, here you go. All completely voluntary and optional. Start with the first one, as the other build on top of it. Questions? --> Ask during workshop 03, or email Mathias. Solutions? --> Next week!

 * Exercise '''Arrays.1''': Initialize a list of 8 balls with colors as strings, and draw all balls on screen at a random location in the color specified.
 * Exercise '''Arrays.2''': Initialize a list of 8 balls with colors as strings, and draw all balls on scren at a random location in the color specified. Animate the balls so that they bounce off the screen borders, all with different speeds.
 * Exercise '''Arrays.3''': Initialize a list of 100 balls with colors as strings, and draw all balls on scren at a random location in the color specified. Animate the balls so that they bounce off the screen borders, all with different speeds.
 * Exercise '''Functions.1''': Initialize a list of 8 balls with colors as strings, and draw all balls on scren at a random location in the color specified. Draw the ball with a function that takes the color of the ball as a parameter.
 * Exercise '''Functions.2''': Write a function that calls itself, but stops doing that after 5 times. The function should output number of the call every time.
 * Exercise '''Functions.3''': Write a function that calls itself twice and with every call draws a branch of a tree, so you will get a whole tree with ever shorter branches at the end.


==== Workshop: Multimedia ====
 * [[attachment:WS_03_examples.zip]] (no slides, only Processing code)
 * we were aiming at something like this:
  <<YouTube(fsE0g-8CDQo)>>

=== 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]] ([[attachment:ArduinoAndSerialCommunication.pptx]])
  * 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 ====

<<Anchor(Deliverables)>>

== Deliverables ==

=== After Exhibition of Challenge 1 ===

 * '''For ALL students''':
  * Attach the deliverables to an email, send it to <<MailTo(dg290 DOT submission AT gmail DOT com, dg290.submission@gmail.com)>>, including:
   * ZIP file of the source code from Challenge 1.
   * PDF from Challenge 1.
 * '''For ID students: Feedback request''' after Exhibition of Challenge 1, '''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.

=== After the assignment ===

 * '''For ALL students''':
  * Attach the deliverables to an email, send it to <<MailTo(dg290 DOT submission AT gmail DOT com, dg290.submission@gmail.com)>>, including:
   * 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 2.
   * TXT file containing the YouTube link from Challenge 2.



<<Anchor(installProcessing)>>

== 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.

<<Anchor(installArduino)>>

== 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.
 1. Install necessary Arduino drivers. Follow the instructions in page 23, Chapter 3 of [[attachment:GSArduino.pdf|Getting Started With Arduino]]

 /!\ If you are installing Arduino on Windows 8, the link below explains shortly how to install drivers for arduino on Windows 8.
  [[http://mytechblog.com/2013/03/install-arduino-drivers-on-windows-8/]]. (Thanks to Wouter van der Wal for pointing this out)


== 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.
Hi! <<BR>><<BR>>
My name is Epifania and I'm a 23 years old boy from Netherlands.<<BR>><<BR>>
<<BR>><<BR>>
Feel free to visit my web site - how much can i qualify for a home loan - [[http://otpheliavwi.exteen.com/20150127/refinance-for-remodel|Get More Information]] -

Hi!

My name is Epifania and I'm a 23 years old boy from Netherlands.



Feel free to visit my web site - how much can i qualify for a home loan - Get More Information -

CreaPro: CreativeProgrammingAssignment201302 (last edited 2015-08-28 11:11:46 by JunHu)