Thursday, April 21, 2011

Announcing www.processing.lyndondaniels.com


After many months of hard work and anticipation I can finally announce the launch of www.processing.lyndondaniels.com


This website is the most up-to-date online repository for the products of the project outlined in this blog, that being a comprehensive 6 week course on an introduction to programming with Processing.
Within this repository you'll find 3 options for accessing the course content free of charge at both a student and educator level.
The course content includes a guide to creating interactive sketches using Processing but the fundamental concepts can be applied within many different higher level programming languages.


You'll also find examples and accompanying documentation that range in skill from simple Hello World programs to fully developed data visualizations that use Object Oriented Programming and read from external data sources.

So if you are interested in learning how to create online interactive media for your website, teach a course in higher level programming languages or wondering what all the hype surrounding Processing is about check out 

Have fun making interactive art!
Lyndon Daniels

Sunday, February 27, 2011

Documentation, Website Downloads and Time Schedule Update

Documentation Update



The second part of "An Introduction to Programming with Processing" has just been published in formatted version and is available for download at
http://www.lyndondaniels.com/programmingintro/
This version includes
• A revised license
• various data types,
• variables,
• mathematical operators,
• operator precedence,
• randomization,
• flow of control,
• conditionals,
• comparison operators,
• and compound conditionals.
As per course outline

The first part of the documentation has also been updated to include the new license and minor amendments such as spelling errors that have been identified have also been corrected. Also availabe at
http://www.lyndondaniels.com/programmingintro/

The Unformatted full second version has also been uploaded to my website and can be downloaded at the same location. 02 Unformatted Documentation 02
Please note that this is the completed unformatted version and includes

• more on conditionals, comparison operators and compound conditionals
• arrays,
• loops,
• user defined functions.
The section on transforms as noted in the course outline will complete the third documentation installment.

The fourth documentation installment will cover the remaining course content.

Time Schedule Update

The initial documentation delivery time schedule, due to circumstances beyond my control is currently being revised. My priority remains to deliver the documentation to the students within an acceptable and reasonable time-frame, this means that they must have the documentation specific to the content they are addressing in class, available before the commencement of the lectures specific to that content. As a result the documentation has been divided up into the sections listed above in "Documentation Update".
Unfortunately, this change in schedule is unavoidable but I am open to suggestions on improving it, particularly where it might effect any course content development and delivery.


The revised schedule currently will follow the suggested model below for the latest delivery date of formatted documentation and related exercises, but documentation and exercises may be released sooner in the event of a request (when possible):

27 Feb Documentation Part II
(see above)

6 March Documentation Part III
• branching examples
• arrays,
• loops,
• user defined functions.
• transforms
(see course outline for full descriptions)

13 March Documentation Part IV
• Working with external data
• object oriented programming
• delivery, distribution, user requirements and security implications.
(see course outline for full descriptions)


20 March Documentation Composite and Finalization
• Reserved for posting a composite of all documents. Any required updates to the documentation that might have been identified since it's initial publication dates, this will include finalization of page numbers, spelling corrections, and other minor amendments.



I feel this is the most logical method for releasing the documentation to the students as it focuses on the topic they are currently addressing in class. As all prior documentation will remain available, they are still able to revise older sections.
 
Comments and suggestions for improvements are welcome.

Website Downloads
 
All the updates relating to this post can be downloaded at
http://www.lyndondaniels.com/programmingintro/ 
identified by the date stamp (Latest 27/02/11)

Vula Resources also reflects these changes.

Monday, February 7, 2011

Main Exercises 1 and 2

Overview

The fist two exercises have been completed, including the procedural based interface and the guess my number game. Which only leaves one project example to be completed that being the social commentary visualisation. 

Online Design and Layout Program

please see the course outline for a description of this project.

 







This is the general idea of what I'd like the students projects to follow. With a strong emphasis on personalising and creating a customised interface. Please remember that this is intentionally a static sketch.


Guess My Number Game

Please see the course outline for a detailed brief.







This project worked out really well as I was able to incorporate all the elements of program design i was hoping to incorporate in this project in a useful and meaningful way incl. loops, conditionals, arrays, simple objects, various data types amongst other features.

Both sketches are completed but in need of better commenting, which I will address at a later stage.  I feel it necessary that these examples are uploaded now as they will give all participants a better idea of what i had in mind when writing out the course outline.


Sketches downloadable in .zip (retain directory structure).
http://www.lyndondaniels.com/programmingintro/

**Edit**
Make that the first two main programs and the class project "Hello World 1.2" program.
All available from above link.

Tuesday, January 18, 2011

Course Overview, Documentation and Time Frames

Course Overview


I have completed a first draft of a course overview. It is available for you comments and suggestions.
As blogger does not allow attachments it can be downloaded from my domain along with the rest of the files that follow
Lyndon Daniels Introduction To Programming with Processing

My main concern with the course outline is how applicable the main project currently is.
As you will see the class projects have been condensed into 3 projects. The third project which i refer to as "social commentary visualization" can be extended into a main project, if the Klipfontein project is to fall away.
Currently the course outline is designed so that the students have 3 Class projects and 1 main Project which is the Klipfontein Project.
Marion if I wanted to change this structure, would that be possible without causing too much of a problem on your side?
Currently either option is viable in terms of the documentation ie current option 3 class projects and 1 main project or option 2 which would be to have 3 larger scale class projects (as they have been identified in the course outline).
Your comments on this topic would be greatly appreciated.

Documentation

I am currently about just over a third complete with the documentation and have provided two versions for you to have a look at also at the same website address.
The Formatted version has been edited to technical manual specifications and gives you an idea of how the documentation is going to be layed-out. Images have not been included in this version yet, if you would like to have an idea of what the images will look like please see the unformatted version, images currently without tags. The cover image still needs some work, but is about 80% complete.
The Un-Formatted version has not been edited past page 15 Software Development. I would prefer it if you directed any comments or questions you may have at the pages preceding this section.

Time Frames

Regrading the completion of the documentation. As the documentation has developed into something somewhat more comprehensive than I'd originally anticipated I am aiming to have it completed by the end of Feb 2011. How this will work in terms of the lectures is that I will have the documentation covering the first two weeks completed much sooner, in fact I am currently about 90% complete with the unformatted version of this section. As soon as this is done I will make it available for Brad, and Brad can distribute it upon commencement of the course. In the First week of March the rest of the documentation will follow to complete the entire course guide.
I have already discussed this possibility with Brad, who does not have a problem with this approach.
Marion please could you let me know if you are okay with this, approach?

My current time allocation in percentages of the total time dedicated to this project (for those interested)

Blogging 6%
Cover Image Creation 8 %
Email and Admin 1.25%
Formatting and Editing Documentation 7.25%
Unformatted notes creation, Image creation and Research 68%
Course Preparation 6% 
Research without documentation 3.5%

I should make a visualization of that data... kidding :) 

Wednesday, January 5, 2011

Sub-Module Projects


After much consideration I have come to the following conclusions on the sub-module projects (these are the smaller projects that students need to complete in order to progress to the next phase of the course, indicating an understanding of the previous phase).
In accordance with Marion's time schedule for the students I've estimated that each student should dedicate approximately 13 hours per week to this course. This is great news for me because I was initially estimating around 12 hours per week and structuring the course around this estimate. So the extra hour is appreciated. Of course I realise that this is a somewhat idealistic means of addressing a time frame for the students, as some students will comply and others might not. Nonetheless, if this can be presented to the students before the commencement of the course, they will know at the very least what is expected of them, taking into consideration their other courses running concurrently.

I would suggest that this time frame is noted as a minimum prerequisite for this course in the Course Outline, and further emphasised prior to the commencement of lectures. Please let me know if there is a problem with me suggesting this time-frame, Marion and Brad.

The sub-module projects

I have decided to structure the sub-module projects into four main encompassing groups.
  1. Drawing
  2. Interactivity
  3. Animation
  4. External Data
Drawing

The first submProj is an exercise in drawing to the screen with Processing. You can think of this as a very thorough “hello world” project, as it will not involve data typing, variables or the like. It is simply a command, argument, syntax and programming conceptualisation type project. 
Most of the course in this phase is centred around programming theory, the simple mechanics of programming, conceptual language levels, project planning, philosophical approaches to software (particularly OSS related) and finally an introduction to modern day programming with Processing. Particularly focussing on a procedural based programming approach. I am currently wrapping up this phase of the documentation and hope to have a formatted version of this soon so that Brad can familiarise himself with the documentation timeously and also to leave enough room for improvement.

The Drawing exercise will be to replicate the interface of a website-looking-front-end with code. I think this will be a useful exercise with regards to developing an understanding for the students of how to start designing the interfaces for their Klipfontein projects.

I have also considered the possibilities of

  • letting students decide what interface they wish to replicate
  • or giving the students a predetermined design and asking them to replicate it with code. Your suggestions and comments on this would be appreciated.
Please vote at the poll on the right.

    Interactivity

    The interactivity project will be an exercise that is more traditionally programmatic, in the sense that it will emphasise the usage of various data types, expressions, comparisons and the like. It is an old favourite of mine I call the Guess my number game. The purpose of this project is to focus on the programmatic side of the software development but also to balance that with a simple clean and effective interface for the game. After all there are very specific reasons we have chosen to do this course with Processing which is a visually oriented language by design and not a language that is more generic such as Java or C++. Subsequently, how the students visually represent their data is crucial, and should remain emphatic throughout the course.



    Animation

    The animation sub-module project will address the transformation matrix, push and pop matrix, and an introduction to 3D (keeping the 3D really simple as I do not wish to clutter the course with mathematical constructs unnecessary at this stage, I'll simply introduce some trigonometry and those that are interested can be encouraged to further their studies with additional reading, which I will gladly suggest).

    External Data

    The final sub-mod proj on eternal data will be the students introduction to object oriented programming. We have so far discussed the RSS feed project, but I am still open to suggestions.

    Any comments or suggestions on the sub-module projects are greatly appreciated.