eBookDynasty: is an Indie writing and publishing platform. We publish eBooks in the Chinese language (both the Traditional and Simplified character sets). We also offer expert translation services between Chinese and English (both ways), using the skills of Scholars versed in the Literature of China (present and past), and the Arts and Science of the West.
Among Malcolm Turnbull’s first words as the newly elected leader of the Liberal Party, and hence heading for the Prime Minister’s job, were: “The Australia of the future has to be a nation that is agile, that is innovative, that is creative.”
And near the heart of the matter is the code literacy movement. This is a movement to introduce all school children to the concepts of coding computers, starting in primary school.
One full year after the computing curriculum was introduced by the UK government, a survey there found that six out of ten parents want their kids to learn a computer language instead of French.
The language of code
The language comparison is interesting because computer languages are first and foremost, languages. They are analogous to the written versions of human languages but simpler, requiring expressions without ambiguity.
They have a defining grammar. They come with equivalent dictionaries of nouns, verbs, adjectives and adverbs; with prepositions and phrase patterns, conjunctions, conditionals and clauses. Of course the dictionaries are less extensive than those of human languages, but the pattern rendering nature of the grammars have much the same purpose.
Kids that code gain a good appreciation of computational thinking and logical thought, that helps them develop good critical thinking skills. I’ve sometimes heard the term “language lawyer” used as a euphemism for a pedantic programmer. Code literacy is good for their life skills kit, never mind their career prospects.
Scratch is one of a new generation of block programming languages aimed at teaching novices and kids as young as eight or nine to write code.
The Scratch language uses coloured blocks to represent the set of language constructs in its grammar. A novice programmer can build up a new program by dragging-and-dropping from a palette of these blocks onto a blank canvas or workspace.
The individual shapes of the blocks are puzzle-like, such that only certain pieces can interlock. This visually enforces the grammar, allowing the coder to concentrate on the creativeness of their whole program.
The Scratch language (and its derivatives) are embedded in a number of different tools and websites, each dedicated to a particular niche of novice programmers. The code.org website is a prime example and has a series of exercises using the block language to teach the fundamentals of computer science.
Code.org is a non-profit used by 6 million students, 43% of whom are female. It runs the Hour of Code events each year, a global effort to get novices to try to do at least an hour of code.
For a week in May this year, Microsoft Australia partnered with Code.org to run the #WeSpeakCode event, teaching coding to more than 7,000 young Australians. My local primary school in Belgrave South in Victoria is using Code.org successfully with grade 5 and 6 students.
Unlike prose in a human language, computer programs are most often interactive. In the screenshot of the Scratch example (above) it has graphics from the popular Plants vs Zombies game, one that most kids have already played. They get to program some basic mechanics of what looks a little like the game.
It’s not all about the ICT industry
Both parents and politicians with an eye to the future see the best jobs as the creative ones. Digging up rocks, importing, consuming and servicing is not all that should be done in a forward-thinking nation.
But teaching kids to code is not all about careers in computer programming, science and software engineering. Introducing young minds to the process of instructing a computer allows them to go from “I swiped this” to “I made this”. From watching YouTube stars, to showing schoolyard peers how they made their pet cat photo meow.
It opens up young minds to the creative aspects of programming. Not only widening the possible cohort who may well study computer science or some other information and communications technology (ICT) professions, but also in design and the creative arts, and other fields of endeavour yet to transpire or be disrupted.
For most kids, teaching them to code is about opening their mind to a means to an end, not necessarily the end in itself.
Goschnick, S.B. (2003). Enacting an Agent-based Digital Self in a 24x7 Web Services World.
In proceedings of ISMIS 2003, the 14th
Symposium on Methodologies for Intelligent Systems, Maebashi, Japan. Springer LNAI vol. 2871, pp187-196.
Version of this paper is available here as a pdf file:
GoschnickISMIS-2003.pdf (2340 Kbytes)
The published version of this paper is now available online (as of 30th Mar'06), here: Springer link Abstract:
As broadband access to the Internet becomes pervasive, the need for a
24 hours a day, seven days a week (24x7) interface within the client devices, requires
a level of sophistication that implies agent technology. From this situation
we identified the need for a user-proxy++, something we have termed the
Digital Self that acts for the user gathering appropriate information and knowledge,
representing and acting for them when they are off-line. With these notions
in mind we set about defining an agent architecture, sufficiently complex
to deal with the myriad aspects of the life of a busy time-poor modern user, and
we arrived at the Shadowboard architecture. For the theory, for the model of
mind, we drew upon the Psychology of Subselves, a modern strain of Analytical
Psychology. For the computation engine we drew upon Constraint Logic Programming.
For the hundreds of sources of sub-agency and external intelligence
needed to enact a Digital Self within the 24x7 Internet environment, we drew
upon the Web Services paradigm. This paper presents the theory, the architecture
and the implementation of a prototype of the Shadowboard agent system.
Goschnick, S.B. & Sterling, L. (2002). Psychology-based
Agent Architecture for Whole-of-user Interface to the Web,
Proc. of HF2002 Human Factors Conference: Design for the Whole
Person - Integrating Physical, Cognitive and Social Aspects, Melbourne,
Paper (in pdf format, 169 KBytes) Short paper. Abstract:
This paper argues that the user interface of a workstation connected
continuously (24x7) to a network would be most effective with a sophisticated
agent architecture embedded deep in the workstation system software. In the user's
absence an embedded agent system could act as something more than a proxy for the user,
the multiple sub-agents within it should act in concert as a Digital Self,
one representing and empowering the user. Our proposed agent architecture, called Shadowboard,
is based on a sophisticated model of the user drawn from the Psychology of Subselves,
a modern stream of Analytical Psychology.
S.B. Goschnick (2000). Shadowboard: A Whole-Agent Architecture that draws Abstractions from Analytical Psychology
(this links to an 243 KBytes .pdf file), Proc. PRIMA 2000, Melbourne, Aug 2000. Abstract:
This paper presents an intra-agent architecture called Shadowboard, one that
takes abstractions from analytical psychology. The Shadowboard architecture is a foundation
upon which to build a whole-agent - an individual autonomous agent no more, but one made up
of many sub-agents. Such a whole-agent approach to modelling enables a psychologically sound,
finer-grained approach to applying behavioural abstractions such as BDI, while incorporating
the selection of capabilities and plans, together with learning and optimization.
An individual agent built upon Shadowboard is also capable of collaboration and cooperation
in a wider MAS system. The strong degree of self-awareness that a Shadowboard agent intrinsically
has, not only allows it to improve its own performance and effectiveness over time, it also
offers significant advantages in modelling other agents in an encompassing MAS system.
Nov, 1998: Melbourne, TOOLS Pacific '98: Steve
Goschnick delivers a paper to the Tools Pacific'98 conference,
held in Melbourne Australia, in late November. The paper is about
the analysis, design and development of an Online Education System
called Melbourne IT Creator. Details of the paper are:
Title:Design and Development of Melbourne
IT Creator a System for Authoring and Management
of Online Education.
Keywords: HTML, authoring tools, Java, SQL,
Internet, dynamic content, XML, metadata, Relational DBMS, online
education, multimedia, hypermedia, web development. Author: Steven B. Goschnick Affiliation: Department of Information Systems
The University of Melbourne
Parkville, Victoria 3052, Australia
Email: stevenbg 'at' unimelb 'dot' edu 'dot' au Abstract:
This paper presents a Case Study in the symbiotic use of new
internet based technologies and an SQL server, to develop a
software tool in a new category of generic software: a system
for authoring and delivery of web-centric learning. In the design
and implementation of the system, the developers drew upon the
latest available languages and platforms, aiming for a high
benchmark in this new software genre: Java for cross platform
applets, video and other media types as object components; IIS
(Microsofts Internet Information Server technology) to deliver
dynamically constructed HTML markup. Behind the interfaces and
business rules is robust SQL server technology, which is taking
on an expanded role in proliferating web-based information systems.
In the latter half of the paper, problems and solutions are
discussed, including the use of metadata and XML (the eXtensible
Markup Language) as part of the solutions.
For the full paper online: Click
Oct, 1998:New York, Christine Sun delivers a
paper at the 40th Annual Conference of the American Association
for Chinese Studies (AACS), "China Entering the 21st Century",
New York City, USA.
Paper Title:Negotiating between ‘Bounded
Spaces’: Introducing Australian Chinese Writers to the world.