## page was renamed from CreativeProgrammingAssignment201509 #pragma section-numbers 2 = Creative Programming 201511 = * Please read [[AssignmentDescription|Course Description]] * /!\ 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]]. You can also download a PDF here:[[attachment:../CreativeProgrammingAssignment201504/GetStartedWithProcessing.pdf|GetStartedWithProcessing.pdf]]. The PDF is password protected. You will receive an email about the password.This PDF is to be used in this class only, please do not distribute it any further. * 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 lecture about Arduino, 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 course takes 8 weeks. Each week has two lectures. * Exercises given by the lecturers, (Exercises are to be done, not to be delivered). * Two challenges. One for the first half of the course and the other for the second half. (Results of these two challenges are to be delivered and evaluated) == Schedule == . /!\ Please notice the location change for Fridays /!\ ||'''Week''' ||'''Tuesday, 10:45-12:30 @ Gemini-Zuid, lecture room''' ||'''Friday, 13:45-15:30 @ AUD 09&11 (Auditorium) ''' || ||1 ||10-11 Introduction // Installing Libraries, by Peter Peters ||13-11 Control Flow and Variables by Loe Feijs || ||2 ||17-11 Arrays and Functions, by Mathias Funk ||20-11 Graphics, by Matthias Funk || ||3 ||24-11 Algorithms and Data Structures, by Erik van der Spek ||27-11 Use of Resources, by Loe Feijs || ||4 ||01-12 ||<#E0E0FF>04-12 Demonstration and Presentation (Loe, Mathias, student assistants) || ||5 ||08-12 Object Oriented Programming, by Jun Hu ||11-12 GUI and Interactivity, by Erik van der Spek || ||6 ||15-12 Arduino, by Jun Hu ||18-12 Serial Communication and Networking, by Peter Peters || ||7 ||05-01 OOCSI, by Mathias Funk || || ||8 ||12-01 Q&A with student assistants ||<#E0E0FF>15-01 Demonstration and Presentation (Jun, Peter, Erik, student assistants) || == Support by the student assistants == . Three students assistants (Ruben van Dijk, Ilse Pouwels, Sergej Zwaan) are available to provide help if you have questions and difficulties: * The Friday sessions (except week 4 and 8) include 30 minutes of Q&A and hands-on help, by the lecturer and student assistants; * In week 8 there will be no more lectures. The Tuesday session will be used for Q&A and hands-on help by student assistants; * On Fridays in week 4 and 8, student assistants are available, but only for giving feedback to "demonstrations and presentations". * Student assistants are available for appointments upon requests, but their hours are limited. Appointments will be made first-come-first-served until their hours run out. * Please send your questions and requests to <>. Please do not use their personal emails for this purpose. == Presentation slides == Available later before or after the lectures. * Introduction and libraries: [[attachment:Introduction and libraries.pdf|Slides (pdf)]], [[attachment:Introduction.zip|Example code (zip)]] * Control Flow and Variables: [[attachment:Examples.zip]], [[attachment:Variables_Control_Flow_2015.pdf]], [[attachment:Variables_Control_Flow_2015.ppt]] * Functions and Arrays: [[attachment:Functions_Arrays.pdf]], [[attachment:Functions_Arrays_examples.zip]] * Graphics: [[attachment:Graphics.pdf]], [[attachment:Graphics_Exercises.zip]] * Use of resources: [[attachment:UseOfResources.pptx]] * [[attachment:AlgorithmsAndDatastructures.pdf]], [[attachment:algorithms.zip]] * Object Orientation: [[attachment:ObjectOrientation.pdf]], [[attachment:JitterBugExtended.zip]] * [[attachment:Arduino.pdf]], [[attachment:GettingStartedWithArduino.pdf]], [[attachment:SerialCommunicationExtraExamplesOctober2015.zip]], [[attachment:Bookexamples.zip]] * [[attachment:GuiAndInteractivity.pdf]], [[attachment:GUI.zip]] * To install the book examples, download the attachment 'Bookexamples.zip' and extract in the subfolder 'examples' that is in your processing sketch folder (In Processing use menu: File/Preferences to see where that is...). You might have to restart Processing to see the changes. == Challenges == Challenge 1:: Individual task during the first half of the course. Creating static visual arts in vector graphics. 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. * Examples for inspiration . [[attachment:examples.jpg|{{attachment:../CreativeProgrammingAssignment201504/examples320.jpg|attachment:examples.jpg}}]] Challenge 2:: Individual task during the second half of the course. 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. <> == Deliverables and deadlines == * Attention: * /!\ Everything to be delivered must be included in one .ZIP file only. Please do not use any other packaging, archiving or compressing formats (for example, ARJ, RAR, 7Z, Z, GZ, GZIP, TAR, ...). only ZIP. * [[https://www.google.com/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=how+to+zip+a+folder+windows|How to Zip a File or Folder on a Windows computer]] * [[https://www.google.com/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=how+to+zip+a+folder+mac|How to make a zip file on a Mac]] * /!\ For reflection we accept PDF only. No Word documents. No Pages documents. Only PDF. * [[https://www.google.com/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=how+to+create+a+PDF+in+Word|How to create a PDF in Word]] * [[https://www.google.com/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=how+to+create+a+PDF+in+Pages|How to create a PDF in Pages]] * /!\ Please do NOT send in raw video files. Please send in YouTube links. * /!\ Please do NOT include any executables in your .ZIP file (such as .EXE, .CLASS, .DLL, .COM, .JAR etc), please do not send a zip file which also contains another zip file, or Gmail will simply refuse to deliver or receive your email. * More about [[https://support.google.com/mail/answer/6590?hl=en|file types that are blocked by Gmail]] * /!\ Your .ZIP file shall not bigger than 1M in size, unless you have to include large images or data files. Anything bigger than 1M is suspicious and usually unnecessary. Gmail will refuse to deliver or receive any email that is larger than 25M. * More about [[https://support.google.com/mail/answer/6584?rd=1|Gmail attachment size limit]] For both challenges we have planned a "demonstration and presentation" session on Fridays in week 4 and 8. Students are '''encouraged''' to bring the result (an A3 poster of the vector graphics for challenge 1, the interactive demo from challenge 2) to the session, for feedback and input. Selected ones will be presented to the class to share their thoughts and experiences. The following deliverables are '''obligatory''': === Challenge 1 === * When to deliver: . /!\ to be delivered before or on '''07 Dec 2015''' * What to be delivered: * A .ZIP file named "Challenge 1 by .zip", containing * Processing source code in .pde format located in a folder named after your code (like it is on your own computer and so we can immediately run it). * PDF poster exported by your Processing code. * A PDF document containing the reflection on the first half of the assignment (no more than 2 pages of A4) about your development in the first half of the assignment (for example learning points, difficulties, achievements, future steps, ...). * Where to deliver: * Attach the .ZIP file to an email with the subject "Challenge 1 by ", send it to <>. * Example/Template of the .ZIP file to be delivered: [[attachment:Challenge 1 by Jun Hu.zip]] === Challenge 2 === * When to deliver: . /!\ to be delivered before or on '''22 Jan, 2016''' * What to deliver: * Source code: * Processing source code in .pde format located in a folder named after your code (like it is on your own computer and so we can immediately run it). and/or * Arduino source code in .ino format located in a folder named after your code (like it is on your own computer and so we can immediately run it). * 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 2015: 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''. * A PDF document containing the reflection on your development in the entire assignment (max. 2 pages of A4). * Where to deliver: * Attach the .ZIP file to an email with the subject "Challenge 2 by ", send it to <>. * Example/Template of the .ZIP file to be delivered: [[attachment:Challenge 2 by Bas van Straaten.zip]] == People Involved == === Lecturers === * [[http://www.tue.nl/staff/j.hu|Jun Hu]] * [[http://www.tue.nl/staff/l.m.g.feijs|Loe Feijs]] * [[http://www.tue.nl/staff/e.d.v.d.spek|Erik van der Spek]] * [[http://www.tue.nl/staff/p.j.f.peters|Peter Peters]] * [[http://www.tue.nl/staff/m.funk|Mathias Funk]] === Student assistants === * Ruben van Dijk * Ilse Pouwels * Sergej Zwaan == Rubrics == . {{attachment:rubrics.jpg}} == Retake Q1 == * If you submitted all required deliverables in time for the previous round but did not pass with a grade that is high enough, you are allowed to retake for this round. * Send a retake request to <> within two weeks after you are informed about your grade from the previous round, mentioning your full name and student number. * You are not required to attend the lectures, but you are required to submit all required deliverables before the deadlines set for this round (see above [[#deliverables|Deliverables and deadlines]]). * /!\ You need to submit your deliverables to <> instead of --(<>)--. <> == Retake Q2 == For these who got a score that is less than 6 but more than 0, you have the opportunity for retake within 3 weeks. The process for retake: 1. Please send a retake request to creative.programming.retake@gmail.com within one week (before Feb 25). 1. Please work on challenge 1 and 2 again, resubmit all the deliverables required for challenge 1 and 2 to creative.programming.retake@gmail.com within three weeks (before March 10). == Installing Processing == 1. [[http://processing.org/download/|Download processing]]. Please make sure you are downloading the latest '''stable''' release (at the moment, version 2.2.1). There are two versions, one with Java, one without. If you are not sure, download the one '''with''' Java. /!\ Please do '''NOT''' use the beta versions. * 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 and install the [[http://www.arduino.cc/en/Main/Software|Arduino software]]; 1. Create a shortcut on your desktop to "Arduino.exe" for easy access. 1. Connect your Arduino and wait until the drivers are installed. /!\ 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)