Differences between revisions 1 and 43 (spanning 42 versions)
Revision 1 as of 2016-09-01 15:16:11
Size: 13385
Editor: JunHu
Comment:
Revision 43 as of 2017-08-28 22:51:05
Size: 13352
Editor: JunHu
Comment:
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
= Creative Programming 201511 = = Creative Programming 201609 =
Line 9: Line 9:
  * For the lecture about Arduino, please bring your Arduino starter kit to the class. your kit shall include at least the following:   * It is '''required''' for everyone to have his or her own Arduino set. For the lecture about Arduino, please bring your Arduino starter kit to the class. You may buy your starter kit from E-Lucid (recommended see [[attachment:ELucidStarterskit.pdf]], or from anywhere else but your kit shall include at least the following:
Line 18: Line 18:
  * It is '''optional''' to have a Raspberry PI set. For the lecture about Raspberry PI, it would help if you could bring your Raspberry PI set to the class, but it is not required. In the lecture, we will show some easy examples of what is possible with Raspberry Pi. You can contact E-Lucid to order your own Raspberry PI set. It shall include the following:
   * Raspberry Pi-3
   * RS Case black or white
   * Micro USB Power supply
   * Micro SD card 8GB or 16GB
Line 22: Line 27:
 * 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)
 * This course consists of 8 lectures, exercises from each lecture, 6 workshop and Q&A sessions, and two presentation sessions for two challenges.
 * Exercises given by the lecturers at the end of each lecture. (Exercises are to be done, not to be delivered).
 * In the workshop and Q&A sessions, you may work on your excercises or have your questions answered about the lectures, exercises and challenges.
 *
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). Results of '''BOTH''' challenges are '''REQUIRED''' to be delivered for grading.
Line 27: Line 33:
 . /!\ 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) ||
{{attachment:schedule.jpg||width=1024}}
Line 41: Line 36:
 . 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 will be available to provide help if you have questions and difficulties:
 * The Thursday sessions (except week 4 and 8) are for hands-on help and Q&A, with lecturers and student assistants;
Line 51: Line 44:
 * Introduction and libraries: [[attachment:Introduction and libraries.pdf|Slides (pdf)]], [[attachment:Introduction.zip|Example code (zip)]]  * Introduction, Graphics and Variables. [[attachment:IGV.ppt|Slides (ppt)]]
 * Control Flow and Functions. [[attachment:CFF.ppt|Slides (ppt)]]
 * Arrays and Data Structures. [[attachment:ADS.ppt|Slides (ppt)]]
 * Documentation and Resources. [[attachment:DR.ppt|Slides (ppt)]]
 * Introduction to Arduino.[[attachment:ARD.ppt|Slides (ppt)]], [[attachment:ARDexamplea.zip|Example code used (zip)]], [[attachment:GettingStartedWithArduino.pdf]]
 * Serial Communication and Networking. [[attachment:SCN.ppt|Slides (ppt)]], [[attachment:ClientServerExamples.zip]], [[attachment:CommExamples.zip]]
 * Introduction to Raspberry PI. [[attachment:RaspberryPI.ppt|Slides (ppt)]], [[attachment:RaspberryPI_OOCSI_code.zip]]
 * Object Oriented Programming and GUI. [[attachment:OOGUI.ppt|Slides (ppt)]], [[attachment:GUIExamples.zip]]
Line 53: Line 53:
 * 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.
Line 79: Line 62:
<<Anchor(attention)>>
Line 93: Line 76:
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. For both challenges we have planned a "demonstration and presentation" session on Thursdays 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.
Line 99: Line 82:
  . /!\ to be delivered before or on '''07 Dec 2015'''   . /!\ to be delivered before or on '''Thursday, Oct 6, 2016'''
Line 107: Line 90:
  * Once it is received, you will receive a confirmation email in a short while from <<MailTo(dg290.submission+canned.response@gmail.com)>> saying that "This is to confirm that we have received your email". If not, double check the points listed above for your [[#attention]], try again.
Line 111: Line 95:
  . /!\ to be delivered before or on '''22 Jan, 2016'''   . /!\ to be delivered before or on '''Thursday, Nov 3, 2016'''
Line 119: Line 103:
CreaPro 2015: <a meaningful title> by <your names> CreaPro 2016: <a meaningful title> by <your names>
Line 125: Line 109:
  * Once it is received, you will receive a confirmation email in a short while from <<MailTo(dg290.submission+canned.response@gmail.com)>> saying that "This is to confirm that we have received your email". If not, double check the points listed above for your [[#attention]], try again.
Line 126: Line 111:

== Retake ==

For those 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:

 * Please send a retake request to creative.programming.retake@gmail.com within one week after ID Education has published the final score.
 * 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 after ID Education has published the final score.
Line 136: Line 128:
 * Ruben van Dijk
 * Ilse Pouwels
 * Sergej Zwaan
 * Heide, Jorrit Van Der
 * Geert Roumen
 * Nina Boelsums
 * David van Gelder de Neufville
 * Matthijs Hoekstra
Line 141: Line 136:
 . {{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 <<MailTo(creative.programming.retake@gmail.com)>> 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 <<MailTo(creative.programming.retake@gmail.com)>> instead of --(<<MailTo(dg290.submission@gmail.com)>>)--.

<<Anchor(installProcessing)>>

== 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).
{{attachment:rubrics.jpg}}
Line 160: Line 140:
 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.  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. /!\ Please do '''NOT''' use the beta versions.
Line 166: Line 146:

 /!\ if your windows system is running a high definition screen (higher than 1920×1080), the Processing environment might look very small with very small fonts. To fix this, you might need the windows "Compatibility Administrator". Follow the instructions [[http://superuser.com/questions/1002267/high-dpi-screen-windows-how-to-make-programs-behave-as-on-low-res-screens | here]], and make `<Where your Processing.exe is>\java\bin\javaw.exe` "DPIUnaware".
Line 175: Line 157:
 1. For the lecture, if you want to perform the practical 'exercises', the following extra hardware is needed:
    A breadboard, a LED, an LDR (light dependent resistor), a buttonswitch (one that fits on the breadboard), a 470 Ohm resistor and a 10 kOhm resistor.

Creative Programming 201609

  • Please read 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 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.
    • It is required for everyone to have his or her own Arduino set. For the lecture about Arduino, please bring your Arduino starter kit to the class. You may buy your starter kit from E-Lucid (recommended see ELucidStarterskit.pdf, or from anywhere else but 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
    • It is optional to have a Raspberry PI set. For the lecture about Raspberry PI, it would help if you could bring your Raspberry PI set to the class, but it is not required. In the lecture, we will show some easy examples of what is possible with Raspberry Pi. You can contact E-Lucid to order your own Raspberry PI set. It shall include the following:

      • Raspberry Pi-3
      • RS Case black or white
      • Micro USB Power supply
      • Micro SD card 8GB or 16GB

1. Summary of the structure

  • This course consists of 8 lectures, exercises from each lecture, 6 workshop and Q&A sessions, and two presentation sessions for two challenges.

  • Exercises given by the lecturers at the end of each lecture. (Exercises are to be done, not to be delivered).
  • In the workshop and Q&A sessions, you may work on your excercises or have your questions answered about the lectures, exercises and challenges.

  • 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). Results of BOTH challenges are REQUIRED to be delivered for grading.

2. Schedule

schedule.jpg

3. Support by the student assistants

  • Student assistants will be available to provide help if you have questions and difficulties:
  • The Thursday sessions (except week 4 and 8) are for hands-on help and Q&A, with lecturers and student assistants;

  • 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 creative.programming.help@gmail.com <creative DOT programming DOT help AT gmail DOT com>. Please do not use their personal emails for this purpose.

4. Presentation slides

Available later before or after the lectures.

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

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.

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

    • /!\ For reflection we accept PDF only. No Word documents. No Pages documents. Only PDF.

    • /!\ 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.

    • /!\ 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.

For both challenges we have planned a "demonstration and presentation" session on Thursdays 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:

6.1. Challenge 1

  • When to deliver:
    • /!\ to be delivered before or on Thursday, Oct 6, 2016

  • What to be delivered:
    • A .ZIP file named "Challenge 1 by <Your Full Name>.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 <Your Full Name>", send it to <dg290.submission@gmail.com>.

    • Once it is received, you will receive a confirmation email in a short while from <dg290.submission+canned.response@gmail.com> saying that "This is to confirm that we have received your email". If not, double check the points listed above for your #attention, try again.

  • Example/Template of the .ZIP file to be delivered: Challenge 1 by Jun Hu.zip

6.2. Challenge 2

  • When to deliver:
    • /!\ to be delivered before or on Thursday, Nov 3, 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 plain text file with an extension “.TXT”. The video shall be titled as

      CreaPro 2016: <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.

    • 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 <Your Full Name>", send it to <dg290.submission@gmail.com>.

    • Once it is received, you will receive a confirmation email in a short while from <dg290.submission+canned.response@gmail.com> saying that "This is to confirm that we have received your email". If not, double check the points listed above for your #attention, try again.

  • Example/Template of the .ZIP file to be delivered: Challenge 2 by Bas van Straaten.zip

7. Retake

For those 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:

8. People Involved

8.1. Lecturers

8.2. Student assistants

  • Heide, Jorrit Van Der
  • Geert Roumen
  • Nina Boelsums
  • David van Gelder de Neufville
  • Matthijs Hoekstra

9. Rubrics

rubrics.jpg

10. 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. /!\ 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.

  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.

    /!\ if your windows system is running a high definition screen (higher than 1920×1080), the Processing environment might look very small with very small fonts. To fix this, you might need the windows "Compatibility Administrator". Follow the instructions here, and make <Where your Processing.exe is>\java\bin\javaw.exe "DPIUnaware".

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

  4. For the lecture, if you want to perform the practical 'exercises', the following extra hardware is needed:
    • A breadboard, a LED, an LDR (light dependent resistor), a buttonswitch (one that fits on the breadboard), a 470 Ohm resistor and a 10 kOhm resistor.

CreaPro: CreativeProgramming201609 (last edited 2017-08-28 22:51:05 by JunHu)