Differences between revisions 1 and 15 (spanning 14 versions)
Revision 1 as of 2014-11-01 02:30:43
Size: 12898
Editor: JunHu
Comment:
Revision 15 as of 2014-12-07 22:07:15
Size: 10327
Editor: JunHu
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
## page was renamed from CreativeProgrammingAssignment201414 ## page was renamed from CreativeProgrammingAssignment201411
Line 4: Line 4:
= Creative Programming Assignment 201404 = = Creative Programming Assignment 201411 =
Line 26: Line 26:
  * and 12 hour self study tasks.   * and 12 hour self study.
Line 52: Line 52:
|| '''Week''' || || '''Lecture''', Tuesdays, 13:45 t/m 15:30;LAPLACE-GEBOUW -1.19 || || '''Workshop''', Thursdays, 10:45 t/m 12:30; LAPLACE-GEBOUW -1.19 ||
|| 1 || 04-22 || Introduction, by Jun Hu || 04-24 || Using Libraries, by Jun Hu ||
|| 2 || 04-29 || Variables and Flow Control, by Mathias Funk || 05-01 || Graphics, by Mathias Funk ||
|| 3 || 05-06 || Arrays and Functions, by Jun Hu || 05-08 ||<bgcolor="#E0E0FF"> Exhibition of Challenge 1 by All||
|| 4 || 05-13 || Algorithms and Data Structures, by Loe Feijs || 05-15 || Arduino and Finite State Machines by Peter Peters||
|| 5 || 05-20 || Object Orientation, by Loe Feijs || 05-22 || OOCSI (Out of Control for Semantic Interactivity) by Mathias Funk ||
|| 6 || 05-27 || GUI and Interactivity, by Mathias Funk || || Holiday ||
|| 7 || 06-03 || Serial and Internet (of Things), by Peter Peters || 06-05 ||<bgcolor="#E0E0FF"> Exhibition of Challenge 2 ||
|| '''Week''' || || '''Lecture''', Mondays, 08:45 t/m 10:30;PAVILJOEN J17 || || '''Workshop''', Thursdays, 15:45:45 t/m 17:30; AUDITORIUM 2 ||
|| 1 || 10-11 || Introduction, by Loe Feijs || 13-11 || Graphics, by Peter Peters||
|| 2 || 17-11 || Variables and Flow Control, by Loe Feijs || 20-11 || Examples explained, by Peter Peters ||
|| 3 || 24-11 || Arrays and Functions, by Mathias Funk || 27-11 ||<bgcolor="#E0E0FF"> Exhibition of Challenge 1 by All||
|| 4 || 01-12 || Algorithms and Data Structures, by Mathias Funk || 04-12 || Arduino by Jun Hu||
|| 5 || 08-12 || Object Orientation, by Jun Hu || 11-12 || OOCSI (Out of Control for Semantic Interactivity) by Mathias Funk ||
|| 6 || 15-12 || GUI and Interactivity, by Jun Hu || 18-12 ||<bgcolor="#E0E0FF"> Exhibition of Challenge 2 ||
Line 63: Line 62:
 * [[attachment:Introduction.pdf]]

==== Workshop: Using Libraries ====
 * [[attachment:UsingLibraries.pdf]]

=== Week 2 ===
==== Lecture: Variables and Flow Control ====
 * [[attachment:VariablesAndFlowControl.pdf]]
 * [[attachment:Introduction.pdf]], [[attachment:Introduction.pptx]]
Line 76: Line 68:
=== Week 2 ===
==== Lecture: Variables and Flow Control ====
 * [[attachment:VariablesAndFlowControl.pdf]]
 * [[attachment:extraExampleControlFlow.zip]]

==== Workshop: Using Libraries ====
 * [[attachment:Examples explained.pdf]]
 * [[attachment:Examples.zip]]
Line 78: Line 79:
 * [[attachment:ArraysAndFunctions.pdf]] (just slides 1 - 24, the rest comes next week)  * [[attachment:ArraysAndFunctions.pdf]]
Line 81: Line 82:

==== 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 screen 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 screen 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 screen 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.
Line 102: Line 92:
 * [[attachment:Arduino_sheets.pdf]]
 * [[attachment:FSM_sheets.pdf]]
 * [[attachment:Light_Time_Switch.ino]]
 * [[attachment:Light_Time_LDR_Fade.ino]]
 
* Download and [[#installArduino|install Arduino]] on your laptop
 * [[attachment:Arduino.pdf]]
 * Download and [[#installArduino|install Arduino]] on your laptop
Line 112: Line 99:
 * [[attachment:ObjectOrientation_examples_Cars.zip]]
 * [[attachment:ObjectOrientation_examples_Earth.zip]]
 * [[attachment:ObjectOrientation_examples_EPD.zip]]
 * [[attachment:ObjectOrientation_examples_Planets.zip]]
 * [[attachment:ObjectOrientation_examples_BouncingBalls.pde]]
 * [[attachment:JitterBugExtended.zip]]
Line 128: Line 111:

==== Workshop: Serial and Internet (of Things) ====

  * [[attachment:IoT_lecture.pdf|Communication and IoT sheets (.pdf)]] [[attachment:IoT_lecture.pptx|Communication and IoT sheets (.pptx)]]
  * [[attachment:IoT_Examples.zip|Communication and IoT examples (.zip)]]

=== Week 7 ===
==== Lecture: Beyond Processing ====
 * From Processing to Java: [[http://www.eclipse.org]]
 * Processing for Android: [[http://wiki.processing.org/w/Android]]
 * From Processing to C++: OpenFrameworks: [[http://www.openframeworks.cc/]]; [[http://www.openframeworks.cc/tutorials/]]

Creative Programming Assignment 201411

  • 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 O'Reilly

  • Before the first lecture, Please download and 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

1. 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.
  • 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.

1.1. 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 third week.
  • Examples for inspiration
    • attachment:examples.jpg

  • What to be delivered:
    • Source code. Please zip the sketchbook and deliver the zip file. Please use the zip format only.

    • PDF of the print.
    • Reflection on the first half of the assignment.
    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 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 plain text file with an extension “.TXT”. The video shall be titled as

      CreaPro 2014: <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”.

  • 2. Schedule

    Week

    Lecture, Mondays, 08:45 t/m 10:30;PAVILJOEN J17

    Workshop, Thursdays, 15:45:45 t/m 17:30; AUDITORIUM 2

    1

    10-11

    Introduction, by Loe Feijs

    13-11

    Graphics, by Peter Peters

    2

    17-11

    Variables and Flow Control, by Loe Feijs

    20-11

    Examples explained, by Peter Peters

    3

    24-11

    Arrays and Functions, by Mathias Funk

    27-11

    Exhibition of Challenge 1 by All

    4

    01-12

    Algorithms and Data Structures, by Mathias Funk

    04-12

    Arduino by Jun Hu

    5

    08-12

    Object Orientation, by Jun Hu

    11-12

    OOCSI (Out of Control for Semantic Interactivity) by Mathias Funk

    6

    15-12

    GUI and Interactivity, by Jun Hu

    18-12

    Exhibition of Challenge 2

    2.1. Week 1

    2.1.1. Lecture: Introduction

    2.1.2. Workshop: Graphics

    2.2. Week 2

    2.2.1. Lecture: Variables and Flow Control

    2.2.2. Workshop: Using Libraries

    2.3. Week 3

    2.3.1. Lecture: Arrays and Functions

    2.3.2. Exhibition of Challenge 1

    2.4. Week 4

    2.4.1. Lecture: Algorithms and Data Structures

    2.4.2. Workshop: Arduino and Finite State Machines

    2.5. Week 5

    2.5.1. Lecture: Object Orientation

    2.5.2. Workshop: Out of Control for Semantic Interactivity (OOCSI)

    2.6. Week 6

    2.6.1. Lecture: GUI and Interactivity

    2.6.2. Exhibition of Challenge 2

    3. Deliverables

    3.1. After Exhibition of Challenge 1

    • Within one week after the first exhibition:

    • For ALL students:

      • Attach the deliverables to an email, send it to dg290.submission@gmail.com <dg290 DOT submission AT gmail DOT com>, including:

        • ZIP file of the source code from Challenge 1.
        • PDF from Challenge 1.
        • Written reflection about your development in the first half of the assignment (for example learning points, difficulties, achievements, future steps, ...).
    • 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 RegistrationList.xls Excel sheet or in PDF format RegistrationList.pdf.

      • Attach all your deliverable to the request. Including:

        • ZIP file of the source code from Challenge 1.
        • PDF from Challenge 1.
        • Written reflection about your development in the first half of the assignment (for example learning points, difficulties, achievements, future steps, ...).

    3.2. After the assignment

    • Within one week after the final exhibition:

    • For ALL students:

      • Attach the deliverables to an email, send it to dg290.submission@gmail.com <dg290 DOT submission AT gmail DOT com>, including:

        • ZIP file of the source code from Challenge 2.
        • TXT file containing the YouTube link from Challenge 2.

        • Written reflection about your development in the entire assignment (max. 2 A4 pages).
    • 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 RegistrationList.xls Excel sheet or in PDF format 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.

        • Written reflection about your development in the entire assignment (max. 2 A4 pages).

    4. Installing Processing

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

    2. Create a directory "Programs" on the C: disk, in the root. If "C:\Programs" exists already, skip this step.
    3. Extract the entire directory to C:\Programs (note, not "C:\Program Files"). if you are reinstalling Processing, remove the entire processing directory first.
    4. Create a shortcut on your desktop to "Processing.exe" for easy access.

    5. Installing Arduino

    1. Download Arduino software;

    2. Extract the entire directory to C:\Programs (note, not "C:\Program Files"). if you are reinstalling Arduino software, remove the entire arduino directory first.
    3. Create a shortcut on your desktop to "Arduino.exe" for easy access.
    4. Install necessary Arduino drivers. Follow the instructions in page 23, Chapter 3 of 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.

    6. Installing Processing

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

    CreaPro: CreativeProgrammingAssignment201411 (last edited 2014-12-07 22:07:15 by JunHu)