Differences between revisions 1 and 36 (spanning 35 versions)
Revision 1 as of 2015-04-19 19:10:27
Size: 10265
Editor: JunHu
Comment:
Revision 36 as of 2015-06-08 23:10:41
Size: 9409
Editor: JunHu
Comment:
Deletions are marked like this. Additions are marked like this.
Line 6: Line 6:
 * 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
  * 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: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
Line 22: Line 22:
 * This assignment takes seven weeks. Each week has:
  * a
two hour lecture,
 * a two hour workshop,
  *
and 12 hour self study.
 * This assignment takes 5 weeks. Each week has two lectures and 12 hour self study.
Line 27: Line 24:
 * 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.
 * Two challenges. One for the midterm and the other at the end.
Line 31: Line 26:
=== Challenges === == Schedule ==

{{attachment:schedule.jpg}}

|| '''Week''' || '''Lecture''' ||
|| 1 || Introduction, by Loe Feijs ||
|| 2 || Graphics, by Matthias Funk ||
|| 3 || Variables and Control Flow, by Jun Hu ||
|| 4 || Arrays and Functions, by Jun Hu ||
|| 5 || Examples Explained, by Peter Peters ||
|| 6 || Algorithms and Data Structures, by Erik van der Spek ||
|| 7 || Arduino, by Peter Peters ||
|| 8 || GUI and Interactivity, by Erik van der Spek ||
|| 9 || Object Oriented Programming, by Mathias Funk ||
|| 10 || Exhibition, by everyone ||

== Presentation slides ==
=== Introduction ===
 [[attachment:Introduction.pdf]], [[attachment:introdocution.pptx]]

=== Graphics ===
 * [[attachment:Graphics.pdf]]
 * [[attachment:Graphics_Exercises.zip]]

=== Variables and Control Flow ===
 * [[attachment:VBL.zip]]

=== Arrays and Functions ===
 * [[attachment:ArraysAndFunctions.zip]]

=== Examples explained ===
 * [[attachment:ExamplesExplained.pdf]], [[attachment:Examples.zip]]


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

=== Arduino ===
 * [[attachment:Arduino.pdf]]
 * [[attachment:ArduinoExamples.zip]]
 * Download and [[#installArduino|install Arduino]] on your laptop
  * Book: [[attachment:GSArduino.pdf|Getting started with Arduino]]

=== GUI and Interactivity ===

 * [[attachment:../CreativeProgrammingAssignment201411/GuiAndInteractivity.pdf|GuiAndInteractivity.pdf]]
 * [[attachment:../CreativeProgrammingAssignment201411/GUIExamples.zip|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]].

=== Object Oriented Programming ===

 * [[attachment:../CreativeProgrammingAssignment201411/ObjectOrientation.pdf|ObjectOrientation.pdf]]
 * [[attachment:../CreativeProgrammingAssignment201411/JitterBugExtended.zip|JitterBugExtended.zip]]
== Challenges ==
Line 34: Line 84:
  * print the result and present it on a foam board (A3 only please), for the exhibition in the third week.
 * Examples for inspiration
  * Examples for inspiration
Line 39: Line 88:
  * PDF of the print.   * PDF of the output.
Line 46: Line 95:
CreaPro 2014: <a meaningful title> by <your names> CreaPro 2015: <a meaningful title> by <your names>
Line 49: Line 98:
== Schedule ==
Line 51: Line 99:
|| '''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 ||
== Deliverables and deadlines ==
Line 59: Line 101:
=== Week 1 ===
==== Lecture: Introduction ====
 * [[attachment:Introduction.pdf]], [[attachment:Introduction.pptx]]
=== Challenge 1 ===
Line 63: Line 103:
==== Workshop: Graphics ====
 * [[attachment:Graphics.pdf]]
 * [[attachment:Graphics_Exercises.zip]]

=== Week 2 ===
==== Lecture: Variables and Flow Control ====
 * [[attachment:VariablesAndFlowControl.pdf]]
 * [[attachment:extraExampleControlFlow.zip]]

==== Workshop: Using Libraries ====
 * [[attachment:Examples explained.pdf]]
 * [[attachment:Examples.zip]]

=== Week 3 ===
==== Lecture: Arrays and Functions ====
 * [[attachment:ArraysAndFunctions.pdf]]
 * [[attachment:ArraysAndFunctions_examples.zip]] the introductory examples with the turning rectangles
 * [[attachment:DrawingCreatures.zip]] the example with the two "birds"

==== 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.pdf]]
 * 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:JitterBugExtended.zip]]

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


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

<<Anchor(Deliverables)>>

== Deliverables ==

=== After Exhibition of Challenge 1 ===

 * '''Within one week after the first exhibition:'''
 * /!\ to be delivered before or on Monday, May 18
Line 125: Line 108:
   * 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]].
   * Written reflection (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, ...).
 * '''For ID students: Feedback request''', '''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.
Line 131: Line 114:
   * Written reflection about your development in the first half of the assignment (for example learning points, difficulties, achievements, future steps, ...).    * Written reflection (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, ...).
Line 133: Line 116:
=== After the assignment === === Challenge 2 ===
Line 135: Line 118:
 * '''Within one week after the final exhibition:'''  * /!\ To be delivered before or on Monday, June 8.
Line 141: Line 124:
   * Written reflection about your development in the entire assignment (max. 2 A4 pages).    * Written reflection about your development in the entire assignment (max. 2 pages of A4).
Line 143: Line 126:
  * 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]].   * Please send your request '''ONLY''' to one of the assigners, according to this [[attachment:RegistrationList.xls]] Excel sheet.
Line 147: Line 130:
   * Written reflection about your development in the entire assignment (max. 2 A4 pages).
   * Written reflection about your development in the entire assignment (max. 2 pages of A4).
Line 151: Line 133:

== Grading ==
 * Learning is more important for working for grades.
 * We have two challenges. The first one acts as the midterm exam and the second one acts as the final exam. It is not an exam or test as you do in many other courses. We evaluate the achievement of your learning, by looking into the output of the challenge, and most importantly the source code and the thinking behind the source code.
 * We do not tell how the weight is distributed upfront between the 1st and 2nd challenge before the deadline for the deliverables of the 1st challenge – So do consider both to be important.
Line 163: Line 151:
 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. Download and install the [[http://www.arduino.cc/en/Main/Software | Arduino software]];
Line 166: Line 153:
 1. Install necessary Arduino drivers. Follow the instructions in page 23, Chapter 3 of [[attachment:GSArduino.pdf|Getting Started With Arduino]]  1. Connect your Arduino and wait until the drivers are installed.
Line 170: Line 157:


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

Creative Programming Assignment 201504

  • 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. You can also download a PDF here: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 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

1. Summary of the structure

  • This assignment takes 5 weeks. Each week has two lectures and 12 hour self study.
  • Exercises given by the lecturers,
  • Two challenges. One for the midterm and the other at the end.

2. Schedule

schedule.jpg

Week

Lecture

1

Introduction, by Loe Feijs

2

Graphics, by Matthias Funk

3

Variables and Control Flow, by Jun Hu

4

Arrays and Functions, by Jun Hu

5

Examples Explained, by Peter Peters

6

Algorithms and Data Structures, by Erik van der Spek

7

Arduino, by Peter Peters

8

GUI and Interactivity, by Erik van der Spek

9

Object Oriented Programming, by Mathias Funk

10

Exhibition, by everyone

3. Presentation slides

3.1. Introduction

3.2. Graphics

3.3. Variables and Control Flow

3.4. Arrays and Functions

3.5. Examples explained

3.6. Algorithms and Data Structures

3.7. Arduino

3.8. GUI and Interactivity

3.9. Object Oriented Programming

4. 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
  • 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 output.
    • 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 2015: <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”.

  • 5. Deliverables and deadlines

    5.1. Challenge 1

    • /!\ to be delivered before or on Monday, May 18

    • 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 (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, ...).
    • For ID students: Feedback request, 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.

      • Attach all your deliverable to the request. Including:

        • ZIP file of the source code from Challenge 1.
        • PDF from Challenge 1.
        • Written reflection (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, ...).

    5.2. Challenge 2

    • /!\ To be delivered before or on Monday, June 8.

    • 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 pages of A4).
    • 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.

      • 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 pages of A4).

    6. Grading

    • Learning is more important for working for grades.
    • We have two challenges. The first one acts as the midterm exam and the second one acts as the final exam. It is not an exam or test as you do in many other courses. We evaluate the achievement of your learning, by looking into the output of the challenge, and most importantly the source code and the thinking behind the source code.
    • We do not tell how the weight is distributed upfront between the 1st and 2nd challenge before the deadline for the deliverables of the 1st challenge – So do consider both to be important.

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

    8. Installing Arduino

    1. Download and install the Arduino software;

    2. Create a shortcut on your desktop to "Arduino.exe" for easy access.
    3. 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.

    CreaPro: CreativeProgrammingAssignment201504 (last edited 2015-06-08 23:10:41 by JunHu)