Differences between revisions 5 and 7 (spanning 2 versions)
Revision 5 as of 2014-07-19 06:27:26
Size: 11365
Editor: JunHu
Comment:
Revision 7 as of 2014-07-19 07:21:10
Size: 5638
Editor: JunHu
Comment:
Deletions are marked like this. Additions are marked like this.
Line 16: Line 16:
   * print the result and present it on a foam board (A3 only please), for an internal exhibition.    * print the result and present it on a foam board or in a frame (A3 only please), for an internal exhibition.
Line 32: Line 32:
|| '''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 ||
=== Day 1: Processing Basics ===
 * Lectures
  * 2D Graphics
  * Variables and control flows
  * Arrays and Functions
  * Chinese Fonts and PDF
 * Heads-down and Hands-on
  * Read the Chapters 1, 2, 3, 4, 6(Fonts), 7(Translate, Rotate, Scale), 8, 10(Make an Array, Repetition and Arrays) and 11(Image Export) from the book Getting Started with Processing. Try to experiment with the examples.
  * Start working on Challenge 1.
Line 41: Line 42:
=== Week 1 ===
==== Lecture: Introduction ====
 * [[attachment:Introduction.pdf]]
=== Day 2: Processing Advanced ===
 * Lectures
  * Animations
  * Object-orientated Programming
  * Mouse and keyboard interactivity
  * Graphical user interface
 * Heads-down and Hands-on
  * Try to complete the book Getting Started with Processing, except section "Hello Arduino" in Chapter 11. We leave it for tomorrow. If you encounter difficulties, do not stick to it. Mark it, leave it and continue reading. You may visit the marked parts later when you gain more confidence.
  * Working on Challenge 1. Preparing for delivering it tomorrow.
Line 45: Line 52:
==== Workshop: Using Libraries ====
 * [[attachment:UsingLibraries.pdf]]
=== Day 3 ===
 * Heads-up and showing-off
  * Internal Exhibition of the results from Challenge 1. Selected (by voting) ones will share their stories behind the poster.
 * Lectures
  * Getting started with Arduino
 * Heads-down and hands on
  * Reading: Getting Started with Arduino; Getting Started with Processing, chapter 11, section Hello Arduino.
  * Working on challenge 2
Line 48: Line 61:
=== Week 2 ===
==== Lecture: Variables and Flow Control ====
 * [[attachment:VariablesAndFlowControl.pdf]]
=== Day 4 ===
 * Heads-up and showing-off
  * Demonstrating the results from Challenge 1. Everyone is supposed to explain everything to everyone.
 * Lectures
  * UX design, part 1
 * Team-up
  * Start preparing Challenge 3
  * Fix the concept by end of the day
Line 52: Line 70:
==== Workshop: Graphics ====
 * [[attachment:Graphics.pdf]]
 * [[attachment:Graphics_Exercises.zip]]
=== Day 5 ===
 * Lectures
  * UX design, part 2
 * Team-up
  * Continue Challenge 3, start prototyping
  
=== Day 6 ===
  * No lectures :)
  * Team-up
   * Challenge 3
Line 56: Line 81:
=== 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"
=== Day 7 ===
  * No lectures :)
  * Team-up
   * Challenge 3
Line 62: Line 86:
==== 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.

==== Exhibition of Challenge 1 ====

=== Week 4 ===
==== Lecture: Algorithms and Data Structures ====
 * [[attachment:AlgorithmsAndDataStructures.pdf]]
 * [[attachment:AlgorithmsAndDataStructures_examples.zip]]
 * [[attachment:bouncingBalls.pde]]

==== Workshop: Arduino and Finite State Machines ====
 * [[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
  * Book: [[attachment:GSArduino.pdf|Getting started with Arduino]]

=== 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]]
 * [[attachment:ObjectOrientation_examples_BouncingBalls.pde]]

==== Workshop: Out of Control for Semantic Interactivity (OOCSI) ====
 * [[attachment:OOCSI_in_Processing.pdf]] (slides)
 * [[attachment:oocsi_processing_library.zip]] (Processing library)

=== 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: 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/]]

==== Exhibition of Challenge 2 ====

<<Anchor(Deliverables)>>

== Deliverables ==

=== After Exhibition of Challenge 1 ===

 * '''Within one week after the first exhibition:'''

 * '''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.
   * 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 [[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.
   * Written reflection about your development in the first half of the assignment (for example learning points, difficulties, achievements, future steps, ...).

=== After the assignment ===

 * '''Within one week after the final exhibition:'''

 * '''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.
   * 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 [[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.
   * Written reflection about your development in the entire assignment (max. 2 A4 pages).
=== Day 8 ===
  * Final Show
  * Good-bye and see you in November
Line 181: Line 113:
== 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.
== Books ==
 These books are for this summmer camp only, please do not distribute. All the PDFs are password encrypted.
 * attachment:GettingStartedWithProcessing.pdf
 * attachment:GettingStartedWithArduino.pdf
 * attachment:AboutFace3.pdf

Summer Camp: Creative Programming and User Experience 2014

at Sino-Dutch Design Center for Social and Cultural Computing, Science and Education New Town, Taicang, China

July 21-28, 2014

Summary of the structure

  • This Summer camp takes 8 days, including
    • lectures about Processing
    • lectures about Arduino
    • lectures about processes, techniques and methods for User Experience design
  • Students will be working on three 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 or in a frame (A3 only please), for an internal exhibition.
    • Examples for inspiration
      • attachment:examples.jpg

    • What to be delivered:
      • PDF of the print.
    Challenge 2
    Students work in pairs. Making the result of Challenge 1 interactive, by connecting the Processing program to Arduino sensors and/or actuators
    • What to be delivered:
      • a link to a Youku video that demonstrates the interactivity and explains the concept.
      • The video shall be titled as SDDC Summer Camp 2014: <a meaningful title> by <your names>.

    Challenge 3
    Students work in teams. Designing an interactive application for a target user group.
    • What to be delivered:
      • a link to a Youku video that demonstrates the application and explains the concept and the process.
      • The video shall be titled as SDDC Summer Camp 2014: <a meaningful title> by <your names>.

Schedule

Day 1: Processing Basics

  • Lectures
    • 2D Graphics
    • Variables and control flows
    • Arrays and Functions
    • Chinese Fonts and PDF
  • Heads-down and Hands-on
    • Read the Chapters 1, 2, 3, 4, 6(Fonts), 7(Translate, Rotate, Scale), 8, 10(Make an Array, Repetition and Arrays) and 11(Image Export) from the book Getting Started with Processing. Try to experiment with the examples.
    • Start working on Challenge 1.

Day 2: Processing Advanced

  • Lectures
    • Animations
    • Object-orientated Programming
    • Mouse and keyboard interactivity
    • Graphical user interface
  • Heads-down and Hands-on
    • Try to complete the book Getting Started with Processing, except section "Hello Arduino" in Chapter 11. We leave it for tomorrow. If you encounter difficulties, do not stick to it. Mark it, leave it and continue reading. You may visit the marked parts later when you gain more confidence.
    • Working on Challenge 1. Preparing for delivering it tomorrow.

Day 3

  • Heads-up and showing-off
    • Internal Exhibition of the results from Challenge 1. Selected (by voting) ones will share their stories behind the poster.
  • Lectures
    • Getting started with Arduino
  • Heads-down and hands on
    • Reading: Getting Started with Arduino; Getting Started with Processing, chapter 11, section Hello Arduino.
    • Working on challenge 2

Day 4

  • Heads-up and showing-off
    • Demonstrating the results from Challenge 1. Everyone is supposed to explain everything to everyone.
  • Lectures
    • UX design, part 1
  • Team-up
    • Start preparing Challenge 3
    • Fix the concept by end of the day

Day 5

  • Lectures
    • UX design, part 2
  • Team-up
    • Continue Challenge 3, start prototyping

Day 6

  • No lectures :)

  • Team-up
    • Challenge 3

Day 7

  • No lectures :)

  • Team-up
    • Challenge 3

Day 8

  • Final Show
  • Good-bye and see you in November

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.

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.

Books

CreaPro: CreativeProgrammingAndUserExperience2014 (last edited 2014-07-25 18:04:39 by JunHu)