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.