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.
- Drawing
- Interactivity
- Animation
- 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.
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.

No comments:
Post a Comment