Saturday, November 16, 2013

Capacity Focus, 77: Going live with a demonstration ("proof") of concept -- "A Hello World, Java based Introduction to Programming"

Going live . . . here and here. As in:



This needs explanation (apart from the obvious basic one of convenience in working with techies to iron out kinks and get the course moving forward). 

For, for some months, I have been working in the background to develop a practical demonstration that something like Java can be used to implement an introduction to programming at a level suitable for say Associate Degree students, or maybe even 4th - 5th formers. 

The underlying reason is as I said in the beginning of Unit B:
In the Caribbean, we are by and large participating in the digital world as consumers [think, music players, cell and smart phone and lap tops etc.], rather than as economically viable and competitive producers. This is of serious concern in light of the accelerating pace of digitalisation of the global economy. Accordingly, we need to begin to prepare ourselves to be capable producers, which starts with basic programming capability
Thirty years ago, that would have been "easier," as BASIC and PASCAL were popular and widely used programming languages that had been designed for the learning needs of beginners. 
However, since the 1990's and with the rise of the Internet and multimedia technologies to dominant positions in the consumer markets, multiplied by the rise of widespread digital industrial control systems, such early languages have faded from the focus of attention. (Even earlier ones such as COBOL, FORTRAN, ALGOL and the like, are even more of a distant memory, save in very specialised contexts.) 
A new, much more sophisticated approach to programming emerged, object oriented programming, with the Java programming language -- roughly, an object oriented development of the "C" family of programming languages --  in the forefront. Java, consequently, is not an educational language but instead one tuned to the needs of professional programmers, in light of the problems that emerged with earlier languages . . . . 

However, that focus on the needs of the professional programmer means that Java is significantly more challenging to gain even first level programming proficiency, much less seriously compete in the market place.  

(This last means that "toy" educational languages are not really appropriate to our needs. They work to some extent for Primary School or Secondary School students,  and perhaps for those who know they just want some basic familiarity or will be able to take time in a four year degree programme, but that just does not seem to fit well with the needs of those who need to be productive at least to basic level in a "useful" language, but who do not have a lot of time to pick up such proficiency through doing a long course sequence. Fortunately, there is encouraging research that shows that an "objects first" exposure to programming can work, and this course will use a conceptual bridge from the classic input processing, output [IPO] computing model to make sense of the Objects concept.

We may not be wholly happy with a situation like this, but, that is where we are now; the calendar is not saying 1983 anymore.

So, the challenge before us, is to find a way to develop initial proficiency in Java based programming, "for all."  At least, for those who are already reasonably computer literate and who are willing to make the effort to master the knowledge, skills and habits that make for successful programming. Then, once such initial proficiency has been acquired, it can be built on for working with multimedia, networking, industrial and general programming, as appropriate.

This course, as a component of the AACCS programme under development for the Caribbean, targets that initial proficiency . . .  
Of course, I heartily approve of toy educational programming languages such as Scratch or Alice, especially for primary school kids.

And yes, I know of many other possible languages, just Java is C family, it is established and in wide use with an established body of text and reference books. And, we CAN find Java programmers fairly easily across the Caribbean. (My problem is, so many of them are busy, busy, buzzee . . )

So, now, can we do some thinking, feedback and development?

Do-able?

A situation where we have got to find a way to make this or something a lot like it work?

Or, what?

And in any case: why not now, why not here, why not us? END